Next Previous Contents

4. Kernel

Please read the Kernel-HOWTO to get more information about the compilation process. You'll find the Linux/IrDA code in:

/usr/src/linux/net/irda (protocol stuff)

/usr/src/linux/drivers/net/irda (device drivers)

/usr/src/linux/include/net/irda (header files)

4.1 General Parameters

- 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://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 support CONFIG_PROC_FS.

- Also serial support for the SIR features CONFIG_SERIAL.

- I am not sure whether 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 support CONFIG_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.

4.2 IrDA Specific Parameters

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://home.snafu.de/wehe 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

IrDA protocol options

CONFIG_IRDA_OPTIONS

You may define some IrDA protocol options.

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.

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.

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.

FIR support

FastInfraredSupport (FIR) needs a specific controller chip, which supports up to 4Mps. - Just say Y


Next Previous Contents