<HTML ><HEAD ><TITLE >$B%W%j%s%?@\B3(B - IrLPT, IrTTP, IrCOMM?</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.54"><LINK REL="HOME" TITLE="Linux Infrared HOWTO" HREF="index.html"><LINK REL="UP" TITLE="IrDA $B@\B3$N>\:Y(B - $B%W%m%H%3%k(B" HREF="infrared-howto-c-specific-connections.html"><LINK REL="PREVIOUS" TITLE="IrDA $B%9%?%C%/$r;H$C$F$_$k(B" HREF="infrared-howto-s-low-level-drivers.html"><LINK REL="NEXT" TITLE="LAN $B@\B3(B - IrLAN" HREF="infrared-howto-s-lan-connection.html"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFFFFF" TEXT="#000000" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Linux Infrared HOWTO</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="infrared-howto-s-low-level-drivers.html" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Chapter 3. IrDA $B@\B3$N>\:Y(B - $B%W%m%H%3%k(B</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="infrared-howto-s-lan-connection.html" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="INFRARED-HOWTO-S-PRINTER-CONNECTION" >3.2. $B%W%j%s%?@\B3(B - IrLPT, IrTTP, IrCOMM?</A ></H1 ><P > IrLPT $B$O(B IrCOMM $B$KCV$-49$($i$l$?$h$&$G$9!#8e<T$K$D$$$F$O$^$@%F%9%H$7$F$$$^$;$s$N$G!"0J2<$O0JA0$N(B IrLPT $B%5%]!<%H$K$D$$$F$N$b$N$G$9!#(B $B>\$7$$>pJs$K$D$$$F$O%a!<%j%s%0%j%9%H%"!<%+%$%V$rD4$Y$F$/$@$5$$!#(B</P ><P > <P ></P ><UL ><LI ><P > $B0J2<5-:\$N$h$&$K(B /etc/conf.modules $B$rJT=8$7$F$/$@$5$$!#(B</P ></LI ><LI ><P > $B8=:_$N%W%j%s%H%8%g%V$r(B lprm "*" $B$G:o=|$7$^$9!#(B</P ></LI ><LI ><P > depmod -a $B$r<B9T$7$^$9!#(B</P ></LI ><LI ><P > (kerneld $B$r;H$C$F$$$J$$$J$i(B modprobe irtty $B$r<B9T$7$F$/$@$5$$!#(B $BB?J,!"$3$3$N5-=R$O$b$&8E$$$G$7$g$&(B)$B!#(B</P ></LI ><LI ><P > <B CLASS="COMMAND" >su</B > $B$G(B root $B$K$J$C$F$+$i!"(B <B CLASS="COMMAND" >mknod /dev/irlpt0 c 161 10</B > $B$H$7$F$/$@$5$$!#(B $BCm(B: ./MAKEDEV irlpt0 $B$H$$$&Iw$K$O$^$@$G$-$^$;$s!#(B</P ></LI ><LI ><P > <TT CLASS="FILENAME" >/dev/irlpt0</TT > $B$K(B <B CLASS="COMMAND" >cat FILE >/dev/irlpt0</B > $B$r$D$+$C$F>.$5$J%U%!%$%k$r=q$$$F$_$^$9!#(B $B$3$l$O:G=i$N%A%'%C%/$J$N$G!"%W%j%s%?$KAw$k%G!<%?$N%U%)!<%^%C%H$,0c$C$F$$$k$+$I$&$+$J$s$F$3$H$r5$$K$9$kI,MW$O$"$j$^$;$s!#(B $B;d$N7P83HO0O$G$O$3$l$O$$$D$G$b$&$^$/$$$/$H$O8B$j$^$;$s$,!"860x$O$^$@FM$-;_$a$F$$$^$;$s!#(B</P ></LI ><LI ><P > $B$b$C$HNI$$J}K!$O!"(B<TT CLASS="FILENAME" >/etc/printcap</TT > $B$rJQ99$7$F(B /dev/lp1 $B$K2C$($F(B ($B$"$k$$$O(B /dev/lp1 $B$NBe$o$j$K(B) /dev/irlpt0 $B$r;H$&$h$&$K$9$k$3$H$G$9!#(B $B>\$7$$$d$jJ}$O(B Printing-HOWTO $B$r$4Mw2<$5$$!#(B</P ></LI ><LI ><P > $B4JC1$K%W%j%s%?$r@_Dj$9$k$K$O!"%W%j%s%F%#%s%0%=%U%H%&%'%"(B ($BNc$($P(B APSFILTER $B$d(B MagicFilter $B$N(B EZ-Magic (RedHat $B$G$b$3$NL\E*$N(B GUI $B$r;}$D%=%U%H%&%'%"$,$"$k$O$:$G$9(B) $B$J$I(B) $B$r$D$+$&$N$b<j$G$9!#;H$&A0$K$^$:(B /etc/printcap $B$N%3%T!<$r:n$C$F$*$-$^$7$g$&!#(B</P ></LI ><LI ><P > APSFILTER $B$G(B HP LaserJet 6P ($BHs(B PostScript $B%W%j%s%?!#(BHP 6MP $B$O(B PostScript $B%W%j%s%?$G$9(B) $B$r;H$&>l9g$NNc$G$9!#(B $BEvLLLdBj$H$J$k<ALd$O0J2<$NFs$D$G$9!#(B "Do you have a (s)serial or a (p)arallel printer interface?" $B!V%W%j%s%?%$%s%?!<%U%'!<%9$O%Q%i%l%k(B (p) $B%7%j%"%k(B (s) $B$N$I$A$i(B?$B!W(B $B$3$N<ALd$NEz$($O(B p $B$G$9!#(B "What's the device name for your parallel printer interface?" $B!V%W%j%s%?%$%s%?!<%U%'!<%9L>$O$J$s$G$9$+!W!#Ez$($O(B /dev/irlpt0 $B$G$9!#(B</P ></LI ><LI ><P > $B%W%j%s%H%G!<%b%s$r(B kill -HUP <PID of lpd> $B$H$7$F:F%9%?!<%H$7$^$9!#(B $B$3$l0J30$N%W%j%s%H%G!<%b%s$r;H$C$F$$$k>l9g$K$O=jDj$N%3%^%s%I$r<B9T$7$F(B $B$/$@$5$$!#(B $B!ZLuCm(B: Debian GNU/Linux $B$@$H!"(B/etc/init.d/lpd restart $B$J$I!#![(B</P ></LI ><LI ><P > $B%W%j%s%?$N@\B3>uBV$NI=<((B (HP 6P/6MP $B$@$H:82<$N%Z!<%Q%H%l%$6a$/$N(B IR $B%]!<%H>e$NNP$N%i%s%W$G$9(B) $B$G!"DL?.$,$J$5$l$F$$$k$3$H$r3NG'$7$^$9!#(B</P ></LI ><LI ><P > $B;d$O:#$N$H$3$mBgBN(B 10 $B%Z!<%8$h$jBg$-$J%W%j%s%H=PNO$K@.8y$7$F$$$^$;$s!#(B $BC"$7!"$3$l$O%W%j%s%?%O!<%I%&%'%"$NEk:\%a%b%j(B (16MB) $B$N$?$a$+$b$7$l$^$;$s!#(B $B%=%U%H%&%'%"$K$bLdBj$O$"$k$h$&$G$9!#(BThomas Davis $B$5$s$K$h$k$H(B $B!V;d$O(B irlpt $B$K@)8B$rF~$l$F!"Bg$-$J%W%j%s%H=PNO$rAw$k:]$K%a%b%j$r?)$o$J$$$h$&$K$7$F$$$^$9!W$H$$$&$3$H$G$9!#(B</P ></LI ></UL > </P ><P > $BHu8}(B $BN41Q$5$s$K$h$k$H!"!V(BIrCOMM $B$G!"(BIrDA $B%]!<%H$H(B IrCOMM $B%W%m%H%3%k$rAH$_9g$o$;$F(B (IrLPT $B$G$O$J$/(B) $B%W%j%s%?(B (Canon BJC-80v) $B$r;H$&>l9g$N%G%P%C%0$r9T$C$F$$$^$9!#(B $BC;$$EE;R%a!<%k%F%-%9%H$N0u:~$O$G$-$^$9$,!"(Bgs $B$G(B PostScript $B$r0u:~$7$h$&$H$9$k$H4JC1$K%G%C%I%m%C%/$7$F$7$^$$$^$9!W$H$$$&$3$H$G$9!#(B</P ><P > Thomas Davis http://www.jps.net/tadavis/irda $B$5$s$N(B Web $B%Z!<%8$K$h$k$H!"(B IrLPT $B$r;H$&$K$O!"0J2<$N<j=g$rF'$`I,MW$,$"$k$H$$$&$3$H$G$9!#(B <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >/sbin/modprobe irlpt_server /sbin/mknod /dev/irlptd c 10 `grep irlptd /proc/misc|cut -f 1`</PRE ></FONT ></TD ></TR ></TABLE > $B$3$N;~E@$G!"(BIrLPT $B%5!<%P$O%W%j%s%H%8%g%V$r<u$1IU$12DG=$K$J$j$^$9!#(B $B$3$3$+$i$9$Y$-$3$H$O!"0J2<$NC1=c$J%7%'%k%9%/%j%W%H$NFbMF$G$9!#(B <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >#/bin/sh # while (true) do cat /dev/irlptd | lpr done</PRE ></FONT ></TD ></TR ></TABLE > Dag Brattli $B$5$s$K$h$k$H!V<+J,$G(B IrDA $B%"%W%j%1!<%7%g%s$r=q$$$F%F%9%H$9$k:]$K!"%f!<%66u4VFb$GJ*;v$,JD$8$k$[$&$,$$$$$H$$$&?M$K$O!"0J2<$,Lr$KN)$F$P$H;W$$$^$9!#(B $B0lIt$N%W%j%s%?$O(B IrLPT $B$N@)Ls$r7y$C$F(B IrTTP $B$r<B:]$K;H$C$F$*$j!"$3$N>l9g%W%j%s%?$H2qOC$9$k$?$a$N!">.$5$J%f!<%66u4V%W%j%s%?%/%i%$%"%s%H$r=q$/$3$H$,$G$-$^$9!W(B <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >int discover_devices(int fd) { struct irda_device_list *list; unsigned char buf[sizeof(struct irda_device_list) + sizeof(struct irda_device_info) * MAX_DEVICES]; int len; int daddr; int i; len = sizeof(struct irda_device_list) + sizeof(struct irda_device_info) * MAX_DEVICES; list = (struct irda_device_list *) buf; if (getsockopt(sfd, SOL_IRLMP, IRLMP_ENUMDEVICES, buf, &len)) { perror("getsockopt"); exit(-1); } if (len > 0) { /*</PRE ></FONT ></TD ></TR ></TABLE > </P ><P > $B$^$::G=i$NNc$r;H$C$F$_$F$/$@$5$$!#K\Ev$O%f!<%6$K$3$&J9$/$Y$-$G$O$"$j$^$9!#(B <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" > */ daddr = list->dev[0].daddr; printf("Discovered: (list len=%d)\n", list->len); for (i=0;i<list->len;i++) { printf(" name: %s\n", list->dev[i].info); printf(" daddr: %08x\n", list->dev[i].daddr); printf(" saddr: %08x\n", list->dev[i].saddr); printf("\n"); } } return daddr; } void client() { struct sockaddr_irda peer; int addrlen = sizeof(struct sockaddr_irda); int daddr, actual; char buf[1024]; fd = socket(AF_IRDA, SOCK_STREAM, 0); daddr = discover_devices(fd); peer.sir_family = AF_IRDA; strcpy(peer.sir_name, "P1284"); peer.sir_addr = daddr; connect(fd, (struct sockaddr *) &daddr, sizeof(struct sockaddr_irda)); /* Try to send something */ actual = send(fd, "Testing", 8, 0); /* Try to read reply */ actual = recv(fd, buf, 1024, 0); }</PRE ></FONT ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="infrared-howto-s-low-level-drivers.html" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="infrared-howto-s-lan-connection.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >IrDA $B%9%?%C%/$r;H$C$F$_$k(B</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="infrared-howto-c-specific-connections.html" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >LAN $B@\B3(B - IrLAN</TD ></TR ></TABLE ></DIV ></BODY ></HTML >