Table of Contents
There are three sorts of low level drivers: SIR, FIR and dongle.
The IrDA(TM) standard knows three kinds of speeds:
Up to 115.200bps (SIR) many (probably all) infrared controllers work
like a serial port and use a RZI (return to zero, inverted)
modulation. Not every infrared controller supports 4Mps (FIR), up to
4Mbps they have to use 4PPM (4 pulse position) modulation technique.
A list of supported FIR chips is included in
So what speeds can you expect? Using SIR, you should be able to get about 10 Kbytes/s. Using FIR (4Mbps) you can get over 300 Kbytes/s (if you are lucky).
A survey of supported dongles is included in
Dag Brattli wrote (modified by wh): "To use dongles you have to do something like this:
modprobe tekram # or esi or actisys irattach -d tekram # or -d esi or -d actisys
modprobe is not necessary, if
modprobe tekram modprobe esi irattach /dev/ttyS0 -d esi & irattach /dev/ttyS1 -d tekram &
PS: I would not try to turn the two dongles against each other, since I really don't know how the stack would react :-) ... Since I don't have any of these new ACTiSYS 220L+ dongles, I'm not able to test it. Since the new dongle has support for one extra speed (38400bps), you must specify the dongles differently with irattach so that the kernel knows which dongle you are using (and what QoS can be used):
irattach /dev/ttyS0 -d actisys # for the 220L dongle irattach /dev/ttyS0 -d actisys+ # for the 220L+ dongle
The current implementation of dongle support does not have any state associated with it, so its not possible to use both ACTiSYS dongles (220L and 220L+) at the same time (connected to two serial ports) for now. If someone needs to be able to do so, please mail me (Dag Brattli) and I will think about it!"
Note: When I tried to use an infrared modem (Swissmod 56Ki, manufactured by Telelink AG) connected to my laptop (IrDA works with Microsoft-Window$95 only, due to non-standard hardware) I had to remove the infrared support in the BIOS to get it working!
Dag Brattli: "It is now possible to use
irport instead of irtty! I
have moved all the dongle stuff out of irtty
and into irda_device, so
it will also be possible to attach dongles to irport. Need however to
make a small user-space utility dongle_attach
that can be used to
attach dongles to a specific driver instance.
BTW: irattach is still
working as before, and you will not notice the difference even when
attaching dongles to irtty
(I've just redirected the dongle ioctl to
irda_device). Irport may be
interesting since you avoid one software
interrupt (bh) level, and it's also forced to work in half duplex mode
so you don't get any echo if the irda port itself don't have
echo-cancellation (Girbil dongle and HP-4000 etc) ... To use it, you
must supply the parameters to modprobe
like this: modprobe irport io=0x3f8
irq=4, or whichever
values you use. You can also add these parameters
Alvin Loh: "Anyone with a ESI 9680C can use both parallax's and ESI's signalling scheme, meaning they can use Parallax's driver with ESI9680C to work. "
Not every USB dongle does work. For details see the dedicated chapter below IrDA and USB.
Support for e.g. the ACTiSYS IR2000 dongle has been implemented.
From James I have this description about setting up the hardware: There are two configurations, a five pin in line connector and a 6 pin DIL (at the end of a 18 pin DIL header). Basically any IrDA compatible transceiver will work (I have a stack of old IRM3001 these are now obselete) you need to hook a capacitor (use a tantalum about ~1uF) between 5V and 0V near the transceiver and then connect everthing else up (RX->RX, TX->TX, 5V->5V, and 0V-0V). If you don't like soldering irons, lots of companies do sell IR modules for the 5 pin connectors that fit into a hole in your case.