- Make sure you use kernel 2.2.x sources. If unsure about your kernel version try uname -r.
- Get the latest kernel patch from the Linux/IrDA project
http://www.cs.uit.no/linux-irda/snapshots/. Or from the Alan Cox kernel series at
ftp.linux.org.uk/pub/linux/alan/2.2/ . Put it into /usr/src or where else your kernel sources live and apply something like (replace patch-2_2.0-irdaXXX with the actual file name):
cd /usr/src
tar xvzf patch-2_2.0-irdaXXX.tar.gz
cd linux
patch -p1 -l < ../patch-2_2.0-irdaXXX
- Experimental support has to be enabled CONFIG_EXPERIMENTAL.
- Enable sysctl in "General Setup" CONFIG_SYSCTL.
- You should have proc file system supportCONFIG_PROC_FS.
- Also serial support for the SIR features CONFIG_SERIAL.
- I am not sure wether there has to be printer support for using a printer with Linux/IrDA CONFIG_PRINTER. But I assume this feature is not necessary.
- Networking support _must_ be enabled CONFIG_NET.
- Make sure you have module supportCONFIG_MODULES in your kernel! Test it e.g. with lsmod.
- Also kerneld support CONFIG_KERNELD. But kmod (CONFIG_KMOD) also works. A monolithic kernel seems to work, too. But modules are highly recommended.
- To use irdadump you probably have to set CONFIG_PACKET.
If you only apply the Linux/IrDA patch, you should not have to do a make clean, so that should save you some time. I suggest you do something like this:
make dep && make all && make modules && make install && make modules_install
If you get really strange errors, then try to rebuild from scratch after a make clean.
The following is my draft for ../linux-2.2.3/Documentation/Configure.help, parts are from Dag Brattli and Andreas Butz. Please consult the latest available kernel documentation for current information and new drivers.
IrDA subsystem support
CONFIG_IRDA
IrDA(TM) is an industrial standard for infrared wireless
communication. Infrared ports let you communicate with printers,
modems, fax machines, LANs, and laptops. Speed ranges from 2400bps
to 4Mbps. To use this features you need the irda_utils provided by
the Linux/IrDA project http://www.cs.uit.no/linux-irda/ Further
information you may find there and in the Linux/IR-HOWTO at
http://www.snafu.de/~wehe/index_li.html
Currently it is recommended to build IrDA support as modules only.
Please see Documentation/modules.txt. Please note the status
of Linux/IrDA is still experimental.
IrDA protocols
IrLAN protocol
CONFIG_IRLAN
Builds the IrDA network device. Use ``ifconfig eth0 <IP-NUMBER>''
to configure it. - Just say Y
IrLAN client support
CONFIG_IRLAN_CLIENT
If you connect to infrared devices via IrLAN one has to be the
server and the other the client. You can use both the client and
the server at the same time. The first one to connect becomes the
client. - Just say Y
Note: The latest patch includes peer-to-peer support instead.
IrLAN server support
CONFIG_IRLAN_SERVER
If you connect to infrared devices via IrLAN one has to be the
server and the other the client. You can use both the client and
the server at the same time. The first one to connect becomes the
client. - Just say Y
Note: The latest patch includes peer-to-peer support instead.
IrOBEX protocol
CONFIG_IROBEX
IrOBEX is a protocol for exchanging objects (files, vcards, etc.)
over an infrared connection. You can use it to exchange files
between linux and a PALM III. IrOBEX can also be used between two
Linux boxes, Linux and Windows95, etc. - Just say Y
IrCOMM protocol
CONFIG_IRCOMM
Over IrCOMM you may communicate with cellular phones, etc. To use
this service you have to build a new device with
``mknod /dev/irnine c 60 64'', which works like
/dev/ttySx. - Just say Y
..Note: major and minor number are still not the official ones yet.
For latest improvements (IrSocket is on the way!), please look at
the page of Takahide Higuchi http://www.pluto.dti.ne.jp/~thiguchi/irda/
..Note: At the moment IrCOMM seems to crash your kernel easily,
you should probably wait for the next patch.
IrLPT client support
CONFIG_IRLPT_CLIENT
Say Y here if you want to build support for the IrLPT client
protocol. If you want to compile it as a module, say M here and
read Documentation/modules.txt. The IrLPT client protocol can be
used to print documents to IrDA compatible printers like the
HP-5MP, or IrLPT printer adapters like
the ACTiSYS IR-100M. - Just say Y
IrLPT server support
CONFIG_IRLPT_SERVER
Say Y here if you want to build support for the IrLPT server
protocol. If you want to compile it as a module, say M here
and read Documentation/modules.txt. The IrLPT server protocol
makes it possible to use a Linux machine as an infrared printer
server for other laptops. So if your Linux machine has a
cable connection to a printer, then other laptops can use
the Linux machine to print out documents using infrared
communication. - Just say Y
IrDA protocol options
CONFIG_IRDA_OPTIONS
You may define some IrDA protocol options.
Cache last
LSAP CONFIG_IRDA_CACHE_LAST_LSAP
Say Y here if you want IrLMP to cache the last LSAP used. This
makes sense since most frames will be sent/received on the same
connection. Enabling this option will save a hash-lookup per frame.
If unsure, say Y.
FAST RRs
CONFIG_IRDA_FAST_RR
Use this option if you want to send faster RR (Receive Ready)
frames if the transmit queue is empty. This will give you much
better latencies but will consume more power, because of the
bouncing RR frame.
Recycle RRs
CONFIG_IRDA_RECYCLE_RR
In the normal life of the IrLAP protocol, it sends a lot of
small RR (Receive Ready) frames over the link (at least when it
has nothing else to do). Saying Y to this option will make IrLAP
recycle these frames thus avoiding many alloc_skb's and
kfree_skb's. To do this it will only buffer one of these frame
which is enough for the usual case.
Debug information
CONFIG_IRDA_DEBUG
Say Y here if you want the IrDA subsystem to write debug
information to your syslog. You can change the debug level in
/proc/sys/net/irda/debug.
If unsure, say Y (since it makes it easier to find the bugs).
IrDA compressors
CONFIG_IRDA_COMPRESSION
You may use the compression methods BZIP2 and BSD. These are not
IrDA standard. This will allow two linux boxes to handshake
compression. It should be compatible with other IrDA devices,
although communication will not be compressed then.
Deflate compression (experimental)
CONFIG_IRDA_DEFLATE
Say Y here if you want to build support for the Deflate compression
protocol. If you want to compile it as a module, say M here and
read Documentation/modules.txt. The deflate compression (GZIP) is
exactly the same as used by the PPP protocol. Enabling this option
will build a module called irda_deflate.o.
BZIP2 compression
CONFIG_IRDA_BZIP2
Help not available yet.
BSD compression
CONFIG_IRDA_BSD
Help not available yet.
Infrared-port device drivers
Three sorts of low level infrared drivers are available:
serial, dongle and FIR.
They will show up in /proc/net/dev (irda0)
after initialisation.
IrTTY (uses serial driver)
Most IrDA chips support StandardInfraRed (SIR), which works up
to 115200bps and emulates a serial port (16550A UART). On many
laptops this port is detected by the serial support of the kernel,
see ``dmesg''. IrTTY connects the Linux/IrDA services
to this port. - You should say Y here.
Serial dongle support
CONFIG_IRTTY_SIR
Say Y here if you want to build support for the IrTTY line
discipline. If you want to compile it as a module, say M here and
read Documentation/modules.txt. IrTTY makes it possible to use
Linux's own serial driver for all IrDA ports that are 16550
compatible. Most IrDA chips are 16550 compatible so you should
probably say Y to this option. Using IrTTY will however limit
the speed of the connection to 115200 bps (IrDA SIR mode).
If unsure, say Y.
Dongle support
CONFIG_DONGLE
Currently four dongles (infrared adapters for the serial port)
are supported. The dongle is an infrared device which may be
connected to serial port, if you don't have built-in infrared
support for your machine. If you use a dongle together with a
laptop you maybe have to disable the IrDA support in the BIOS.
ESI JetEye PC dongle
CONFIG_ESI_DONGLE
Say Y here if you want to build support for the Extended Systems
JetEye PC dongle. If you want to compile it as a module, say M here
and read Documentation/modules.txt. The ESI dongle attaches to the
normal 9-pin serial port connector, and can currently only be used
by IrTTY. To activate support for ESI dongles you will have to
insert ``irattach -d esi'' in the /etc/irda/drivers script.
http://www.extendsys.com/support/ftp/infrared.html
ACTiSYS IR-220L and IR220L+ dongle
CONFIG_ACTISYS_DONGLE
Say Y here if you want to build support for the ACTiSYS
IR-220L and IR220L+ dongles. If you want to compile it as a module,
say M here and read Documentation/modules.txt. The ACTiSYS dongles
attaches to the normal 9-pin serial port connector, and can
currently only be used by IrTTY. To activate support for ACTiSYS
dongles you will have to insert ``irattach -d actisys'' or
``irattach -d actisys_plus'' in the/etc/irda/drivers script.
http://www.actisys.com
Tekram IrMate 210B dongle
CONFIG_TEKRAM_DONGLE
Say Y here if you want to build support for the Tekram IrMate 210B
dongle. If you want to compile it as a module, say M here
and read Documentation/modules.txt. The Tekram dongle attaches to
the normal 9-pin serial port connector, and can currently only be
used by IrTTY. To activate support for Tekram dongles you will have
to insert ``irattach -d tekram'' in the /etc/irda/drivers script.
http://www.tekram.de/
CONFIG_GIRBIL_DONGLE
Say Y here if you want to build support for the Greenwich
Instruments GirBIL dongle. If you want to compile it as a module,
say M here and read Documentation/modules.txt. The Greenwich dongle
attaches to the normal 9-pin serial port connector, and can
currently only be used by IrTTY. To activate support for Greenwich
dongles you will have to insert ``irattach -d girbil'' in the
/etc/irda/drivers script.
http://www.greenwichinst.com/
FIR support
FastInfraredSupport (FIR) needs a specific controller chip, which
supports up to 4Mps. - Just say Y
NSC PC87108
CONFIG_NSC_FIR
NationalSemiConductor NSC PC87108 FIR chip e.g. used in the IBM
Thinkpad 560X and ACTiSYS IR2000 dongle. Probably the NSC PC87338
FIR chip is also supported. The driver supports SIR, MIR and FIR
(4Mbps) speeds. - Just say Y
Winbond W83977AF (IR)
CONFIG_WINBOND_FIR
Winbond W83977AF (IR) FIR chip e.g. used in the Corel Netwinder
PC. The driver supports SIR, MIR and FIR (4Mbps)
speeds. - Just say Y
Sharp UIRCC
CONFIG_SHARP_FIR
Say Y here if you want to build support for the Sharp UIRCC IrDA
chipset. If you want to compile it as a module, say M here and
read Documentation/modules.txt. This chipset is used by the Toshiba
Tecra laptops.