<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML ><HEAD ><TITLE >IrDA and USB</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="Linux Infrared HOWTO" HREF="index.html"><LINK REL="UP" TITLE="Hardware Supported by Linux/IrDA" HREF="infrared-howto-c-hardware-supported.html"><LINK REL="PREVIOUS" TITLE="IrDA Hardware" HREF="infrared-howto-s-irda-hardware.html"><LINK REL="NEXT" TITLE="Linux PDAs: Agenda, iPAQ, Yopy, Zaurus" HREF="infrared-howto-s-irda-pda.html"></HEAD ><BODY CLASS="sect1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation 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-irda-hardware.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Chapter 4. Hardware Supported by Linux/IrDA</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="infrared-howto-s-irda-pda.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="infrared-howto-s-irda-usb" ></A >4.6. IrDA and USB</H1 ><P > The IrDA USB driver is included in recent 2.4 kernels. It's not as efficient as other FIR hardware, but at least is supported and is relatively easy to get working. Also, all the current products are based on the same hardware, and we know most of its bugs. </P ><P > As far as I know the Actisys 2000U and Extended System ESI-9685 dongles seem to be based on the same hardware. Both USB dongles work fine with the Linux driver. It's possible to have multiple USB dongles in a box (for now, only up to 4). </P ><P > The latest version of the driver has been tested with <B CLASS="command" >usb-uhci</B > and <B CLASS="command" >usb-ohci</B >. see also driver infos in src e.g. USB 2.0 </P ><P > There is an USB IrDA Bridge Device spec at Rev 0.9B , it's being adopted as an USB class specification. You can find it at under 0.9 Class Specification header at <A HREF="http://www.usb.org" TARGET="_top" >USB.org</A > . </P ><P > Recently a new type of USB dongle from SigmaTel has appeared on the market which is _not_ compliant with the IrDA-USB specification, and therefore doesn't work with this driver. On the other hand, SigmaTel has made available the <A HREF="http://www.sigmatel.com/technical_docs.htm#wireless" TARGET="_top" >full technical specification</A > , so writing a driver for it is possible. </P ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="AEN1158" ></A >4.6.1. Environment</H2 ><P > I have checked this chapter with this environment: <A HREF="http://www.actisys.com" TARGET="_top" >ACTiSYS</A > ACT-IR2000U FIR-USB Adapter (but it should work for any other USB dongle except the one mentioned above), Kernel 2.4.19, irda-utils 0.9.14 and <A HREF="http://www.debian.org" TARGET="_top" >Debian GNU/Linux</A > 3.0 Woody. </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="AEN1163" ></A >4.6.2. Prerequisites</H2 ><P > You need a kernel with appropriate IrDA and USB support and the standard entries in <TT CLASS="filename" >/etc/modprobe.conf</TT > (kernel 2.6) <TT CLASS="filename" >/etc/modules.conf</TT > (kernel 2.4) and devices in <TT CLASS="filename" >/dev/ir*</TT > as described in the chapters above. And a second IrDA device whether with Linux inside or not, e.g. a laptop, a printer or a cell phone with IrDA port. </P ><P > You need a working USB controller. Check whether the appropriate module is already inserted with <B CLASS="command" >lsmod</B >. If not you may insert it with <B CLASS="command" >modprobe usb-uhci</B > (for Intel/Via USB controllers) or <B CLASS="command" >modprobe usb-ohci</B > (for other USB controllers) </P ><P > Note: this driver has NOT been tested with the <B CLASS="command" >usb-ehci</B > driver (for USB 2.0 controllers). This driver WON'T WORK with the <B CLASS="command" >uhci</B > driver (alternate/JE driver for Intel/Via USB controllers). </P ><DIV CLASS="warning" ><P ></P ><TABLE CLASS="warning" WIDTH="100%" BORDER="0" ><TR ><TD WIDTH="25" ALIGN="CENTER" VALIGN="TOP" ><IMG SRC="../images/warning.gif" HSPACE="5" ALT="Warning"></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > Note that there is another USB IrDA driver ( provided by the <A HREF="http://www.linux-usb.org" TARGET="_top" >Linux USB Project</A >) for those devices called <B CLASS="command" >ir-usb</B >. This module is NOT compatible with the IrDA stack and conflicts with <B CLASS="command" >irda-usb</B >. Because it always loads first, you have to remove <B CLASS="command" >ir-usb</B > completely. </P ></TD ></TR ></TABLE ></DIV ><P > If you are not familiar with routing issues, I dare to recommend to shut down all external network interfaces with <B CLASS="command" >ifconfig</B > during the first set up. Then check with <B CLASS="command" >route -n</B >. Also netfiltering (iptables) may cause problems, so if you are not connected to a network you may disable it. </P ><P > I have described the process in every detail, to make every caveat as clear as possible. The actual configuration is much shorter and easier. During configuration I will choose to open three different terminal windows to watch the log messages from different programs. </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="AEN1186" ></A >4.6.3. Plugging in the Dongle</H2 ><P > Now plug the dongle in and check the Kernel messages with <B CLASS="command" >dmesg</B >: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > hub.c: USB new device connect on bus1/1, assigned device number 2 usb.c: USB device 2 (vend/prod 0x50f/0x180) is not claimed by any active driver. usb.c: registered new driver irda-usb IRDA-USB found at address 2, Vendor: 50f, Product: 180 irda_usb_parse_endpoints(), And our endpoints are : in=02, out=01 (64), int=03 irda_usb_init_qos(), dongle says speed=0x13E, size=0x20, window=0x2, bofs=0x4, turn=0x2 IrDA: Registered device irda1 USB IrDA support registered </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > If you have already some other IrDA hardware configured on the PC, the driver won't load as <TT CLASS="filename" >irda0</TT >, so to check the message log as shown above is important (the driver can manage up to 4 IrDA-USB dongles per PC, that can be increased in the source). </P ><P > In this example the device is <TT CLASS="filename" >irda1</TT >. You may check this with <B CLASS="command" >ifconfig</B >, too: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > irda1 Link encap:IrLAP HWaddr 2c:52:61:ec EtherTalk Phase 2 addr:140/191 UP RUNNING NOARP MTU:2048 Metric:1 RX packets:2278 errors:0 dropped:0 overruns:0 frame:0 TX packets:844 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 RX bytes:33848 (33.0 KiB) TX bytes:15116 (14.7 KiB) </PRE ></FONT ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="AEN1197" ></A >4.6.4. Attaching the Driver</H2 ><P > Now you are ready to attach the Linux/IrDA service to the dongle With <B CLASS="command" >irattach irda1 -s</B > (note the device name from the step before). </P ><P > The green LED on the adapter should blink now, approximately every three seconds. And with <B CLASS="command" >dmesg</B > you may see this message: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > irlap_change_speed(), setting speed to 9600 irlap_recv_discovery_xid_cmd(), discovery frame to short! </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > Now start <B CLASS="command" >irdadump</B >, you should see all IrDA devices in range. Or at least this one, here "japh" (the other IrDA device in this example is named "Olga"). For diagnostic purposes leave <B CLASS="command" >irdadump</B > running in this terminal window and switch to another window for the next steps. <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > 07:58:40.889590 xid:cmd ffffffff < 4fe026d8 S=6 s=3 (14) 07:58:40.979575 xid:cmd ffffffff < 4fe026d8 S=6 s=4 (14) 07:58:40.979679 xid:rsp 2c5261ec > 4fe026d8 S=6 s=4 japh hint=0400 [ Computer ] (20) 07:58:41.069571 xid:cmd ffffffff < 4fe026d8 S=6 s=5 (14) 07:58:41.166552 xid:cmd ffffffff < 4fe026d8 S=6 s=* Olga hint=0400 [ Computer ] (20) 07:58:43.620104 xid:cmd ffffffff < 4fe026d8 S=6 s=0 (14) 07:58:43.709078 xid:cmd ffffffff < 4fe026d8 S=6 s=1 (14) </PRE ></FONT ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="AEN1208" ></A >4.6.5. Loading the IrCOMM Modules</H2 ><P > Now load the IrCOMM modules (note this is usually done automagically by the kernel daemon <B CLASS="command" >kmod</B > if you start PPP or printing via IrDA, but for the first time we do things by hand). So do <B CLASS="command" >modprobe ircomm</B > and <B CLASS="command" >modprobe ircomm-tty</B > . </P ><P > The <B CLASS="command" >dmesg</B > will show now: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > IrCOMM protocol (Dag Brattli) ircomm_open_lsap() ircomm_tty_attach_cable() ircomm_tty_ias_register() ircomm_tty_close() ircomm_tty_shutdown() ircomm_tty_detach_cable() ircomm_close() </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > And with <B CLASS="command" >lsmod</B > you may see: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > Module Size Used by Tainted: P ircomm-tty 30080 0 (autoclean) ircomm 13164 0 (autoclean) [ircomm-tty] irda-usb 13776 1 ... irtty 7264 0 (autoclean) irda 141648 1 (autoclean) [ircomm-tty ircomm irda-usb irtty] </PRE ></FONT ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="AEN1220" ></A >4.6.6. Setting up a Network (PPP)</H2 ><P > You may start <B CLASS="command" >pppd</B > with commandline options, but for me it's more convenient to have a configuration file <TT CLASS="filename" >/etc/ppp/peers/irda</TT >. <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > connect /bin/true noauth persist debug kdebug 7 nodetach 115200 local /dev/ircomm0 192.168.0.2:192.168.0.3 </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > Some note about the configuration: Yes the device name is correct, don't choose an USB device here. If the other IrDA device is a Linux laptop you may use the same configuration file and the same PPP options, without the last line, which sets the LOCAL and REMOTE IP address. The following entries are for debugging purposes and can be commented out when everything works fine: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > persist debug kdebug 7 nodetach </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > Now start PPP with <B CLASS="command" >pppd call irda</B >. For diagnostic purposes leave the messages running in this terminal window and switch to another window for the next steps. <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > Serial connection established. using channel 3 Using interface ppp0 Connect: ppp0 <--> /dev/ircomm0 sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x4592a46e> <pcomp> <accomp>] sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x4592a46e> <pcomp> <accomp>] ... </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > Now start PPP on the remote IrDA device and you should see: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > sent [LCP EchoReq id=0x0 magic=0x3c8803b1] sent [IPCP ConfReq id=0x1 <addr 192.168.0.2> <compress VJ 0f 01>] sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>] rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x3c8803b1> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x3c8803b1> <pcomp> <accomp>] rcvd [LCP EchoReq id=0x0 magic=0xa922f0e8] sent [LCP EchoRep id=0x0 magic=0x3c8803b1] rcvd [IPCP ConfReq id=0x1 <addr 0.0.0.0> <compress VJ 0f 01>] sent [IPCP ConfNak id=0x1 <addr 192.168.0.3>] rcvd [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>] sent [CCP ConfAck id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>] rcvd [LCP EchoRep id=0x0 magic=0xa922f0e8] rcvd [IPCP ConfAck id=0x1 <addr 192.168.0.2> <compress VJ 0f 01>] rcvd [CCP ConfAck id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>] Deflate (15) compression enabled rcvd [IPCP ConfReq id=0x2 <addr 192.168.0.3> <compress VJ 0f 01>] sent [IPCP ConfAck id=0x2 <addr 192.168.0.3> <compress VJ 0f 01>] Cannot determine ethernet address for proxy ARP local IP address 192.168.0.2 remote IP address 192.168.0.3 Script /etc/ppp/ip-up started (pid 3975) Script /etc/ppp/ip-up finished (pid 3975), status = 0x1 </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > And in the window running <B CLASS="command" >irdadump</B > you see the IrDA traffic: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > 08:17:11.179260 i:rsp > ca=08 pf=1 nr=1 ns=2 LM slsap=00 dlsap=19 CONN_RSP (6) 08:17:11.199127 i:cmd < ca=08 pf=1 nr=3 ns=1 LM slsap=00 dlsap=1d CONN_RSP (6) 08:17:11.199226 i:rsp > ca=08 pf=1 nr=2 ns=3 LM slsap=1d dlsap=00 GET_VALUE_BY_CLASS: "IrLPT" "IrDA:IrLMP:LsapSel" (30) 08:17:11.219123 i:cmd < ca=08 pf=1 nr=4 ns=2 LM slsap=00 dlsap=1c CONN_RSP (6) 08:17:11.219207 i:rsp > ca=08 pf=1 nr=3 ns=4 LM slsap=1c dlsap=00 GET_VALUE_BY_CLASS: "IrDA:IrCOMM" "Parameters" (28) 08:17:11.241117 i:cmd < ca=08 pf=1 nr=5 ns=3 LM slsap=19 dlsap=00 GET_VALUE_BY_CLASS: "IrDA:IrCOMM" "Parameters" (28) 08:17:11.241213 i:rsp > ca=08 pf=1 nr=4 ns=5 LM slsap=00 dlsap=19 GET_VALUE_BY_CLASS: Success N/A (19) 08:17:11.259114 i:cmd < ca=08 pf=1 nr=6 ns=4 LM slsap=00 dlsap=1d GET_VALUE_BY_CLASS: No such class (11) 08:17:11.259216 i:rsp > ca=08 pf=1 nr=5 ns=6 LM slsap=1d dlsap=00 DISC (6) 08:17:11.280107 i:cmd < ca=08 pf=1 nr=7 ns=5 LM slsap=00 dlsap=1c GET_VALUE_BY_CLASS: Success N/A (19) 08:17:11.280281 i:rsp > ca=08 pf=0 nr=6 ns=7 LM slsap=1c dlsap=00 DISC (6) 08:17:11.282124 i:rsp > ca=08 pf=1 nr=6 ns=0 LM slsap=1e dlsap=00 CONN_CMD (6) 08:17:11.299104 i:cmd < ca=08 pf=1 nr=1 ns=6 LM slsap=19 dlsap=00 DISC (6) 08:17:11.299204 rr:rsp > ca=08 pf=1 nr=7 (2) 08:17:11.319102 i:cmd < ca=08 pf=1 nr=1 ns=7 LM slsap=1a dlsap=00 CONN_CMD (6) 08:17:11.319209 i:rsp > ca=08 pf=1 nr=0 ns=1 LM slsap=00 dlsap=1a CONN_RSP (6) 08:17:11.339100 i:cmd < ca=08 pf=1 nr=2 ns=0 LM slsap=00 dlsap=1e CONN_RSP (6) 08:17:11.339197 i:rsp > ca=08 pf=1 nr=1 ns=2 LM slsap=1e dlsap=00 GET_VALUE_BY_CLASS: "IrDA:IrCOMM" "IrDA:TinyTP:LsapSel" (37) 08:17:11.361096 i:cmd < ca=08 pf=1 nr=3 ns=1 LM slsap=1a dlsap=00 GET_VALUE_BY_CLASS: "IrDA:IrCOMM" "IrDA:TinyTP:LsapSel" (37) 08:17:11.361191 i:rsp > ca=08 pf=1 nr=2 ns=3 LM slsap=00 dlsap=1a GET_VALUE_BY_CLASS: Success Integer: 14 (15) 08:17:11.380092 i:cmd < ca=08 pf=1 nr=4 ns=2 LM slsap=00 dlsap=1e GET_VALUE_BY_CLASS: Success Integer: 14 (15) 08:17:11.380214 i:rsp > ca=08 pf=0 nr=3 ns=4 LM slsap=1e dlsap=00 DISC (6) 08:17:11.382104 i:rsp > ca=08 pf=1 nr=3 ns=5 LM slsap=14 dlsap=14 CONN_CMD TTP credits=0(7) 08:17:11.399090 i:cmd < ca=08 pf=1 nr=6 ns=3 LM slsap=1a dlsap=00 DISC (6) 08:17:11.399190 rr:rsp > ca=08 pf=1 nr=4 (2) 08:17:11.419082 i:cmd < ca=08 pf=1 nr=6 ns=4 LM slsap=14 dlsap=14 CONN_CMD TTP credits=0(7) 08:17:11.419159 rr:rsp > ca=08 pf=1 nr=5 (2) 08:17:11.438080 rr:cmd < ca=08 pf=1 nr=6 (2) </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > Switch to another terminal and check the PPP device with <B CLASS="command" >ifconfig</B > : <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > ppp0 Link encap:Point-to-Point Protocol inet addr:192.168.0.2 P-t-P:192.168.0.3 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:9 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 RX bytes:318 (318.0 b) TX bytes:708 (708.0 b) </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > With <B CLASS="command" >ps aux | grep irda</B > you should now see these Processes: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > root 3534 0.0 0.2 1272 464 ? S 06:51 0:00 irattach irda1 -s root 3579 0.3 0.2 1400 476 tty1 S 06:55 0:06 irdadump root 4312 0.1 0.4 2088 948 tty2 S 07:18 0:00 pppd call irda </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > With <B CLASS="command" >route -n</B > you may now see this PPP devices: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.3 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 0.0.0.0 192.168.0.3 0.0.0.0 UG 0 0 0 ppp0 </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > And it should be possible to do a <B CLASS="command" >ping 192.168.0.3</B > to the remote host: <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > PING 192.168.0.3 (192.168.0.3): 56 data bytes 64 bytes from 192.168.0.3: icmp_seq=0 ttl=64 time=290.7 ms 64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=146.6 ms </PRE ></FONT ></TD ></TR ></TABLE > </P ><P > Now you may use TCP/IP applications. For example <B CLASS="command" >ssh</B > (note it will take some time to establish the connection be patient): <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="programlisting" > ssh -v USER@192.168.0.3 </PRE ></FONT ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="AEN1251" ></A >4.6.7. Setting up a Printer Connection (IrLPT)</H2 ><P > Instead of using TCP/IP connections the dongle works for printer connections, too. The device name is <TT CLASS="filename" >/dev/irlpt0</TT >. For details about IrDA printer connections see the appropriate chapter above. </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="AEN1255" ></A >4.6.8. Cleaning Up</H2 ><P > You may now finetune your settings, e.g. to solve routing issues. It may also possible to set up higher speeds, but I haven't tried that yet. If everything works fine, you may now choose to make the configuration permanent. You may edit <TT CLASS="filename" >/etc/irda.conf</TT > and configure the system V init scripts (for IrDA, network, ..). But the way to do it right depends on your Linux distribution. </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="AEN1259" ></A >4.6.9. Remaining Problems</H2 ><P > I encountered a strange problem. When inserting the IrDA-USB dongle, I got a slight and constant noise from the beeper. </P ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="infrared-howto-s-irda-hardware.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="infrared-howto-s-irda-pda.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >IrDA Hardware</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="infrared-howto-c-hardware-supported.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Linux PDAs: Agenda, iPAQ, Yopy, Zaurus</TD ></TR ></TABLE ></DIV ></BODY ></HTML >