IrDA

From ThinkWiki
Revision as of 10:00, 24 November 2004 by 24.130.248.54 (Talk)
Jump to: navigation, search

ThinkPad IrDA configuration

IrDA can be used to communicate using Infrared to other IrDA compliant devices, such as other Notebooks, PDA's and mobile phones.

All IBM ThinkPads manufactured in the last years have integrated IrDA that can be used in one of two modes, SIR or FIR. Some very old ThinkPads only support SIR mode, or might not have IrDA support at all.

The purpose of this document is to get the IrDA hardware in your ThinkPad operational, setting up communication to other devices is not covered. However, the external links section can prove useful for this.

Serial IR (SIR)

SIR is limited to serial datarates up to 115.2Kb/s

Linux 2.4 kernel config

Edit /etc/modules.conf and add the following lines

  alias tty-ldisc-11 irtty
  alias char-major-161 ircomm-tty

Fast IR (FIR)

FIR is the prefered mode and operates at 4Mb/s

Main problem here is that the chips FIR mode needs to be activated. On A, G, R, T and X model ThinkPads the easiest way to achieve this, is by entering the BIOS setup during BOOT by pressing F1 when prompted. Then select 'Config' followed by 'Infrared'. Here you will need to Enable Infrared. Be sure to save the changes, and then Exit.

Note: Changing these BIOS settings does not effect Windows 2000 or XP, but might cause resource problems under older windows versions, or other legacy Operating Systems.

If changing BIOS settings in not an option, or the settings cannot be altered as on some older ThinkPad, the FIR mode can be activated from the running Linux OS with one of the following:

  • setpnp as part of the old pcmcia-utils source package
  • tpctl, but only for some old ThinkPads

If the FIR mode is not activated, attempts to load the nsc-ircc module will result in an error in syslog of "Wrong chip version ff".

Very Fast IR (VFIR)

Some Thinkpads come with an even faster version of IrDA (VFIR) that operates at 16mb/s. This may cause some incompatibilities with devices that expect to communicate in FIR mode. You can check your speed by doing a: cat /proc/sys/net/irda/max_baud_rate and you can set it back to regular FIR by doing a: echo 4000000 > /proc/sys/net/irda/max_baud_rate or down to conventional serial port speed (SIR): echo 115200 > /proc/sys/net/irda/max_baud_rate

Linux 2.4 kernel config

Edit /etc/modules.conf and add the following lines

      alias irda0 nsc-ircc
      options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3
      pre-install nsc-ircc setserial /dev/ttyS1 uart none port 0 irq 0

Linux 2.6 kernel config

Edit /etc/modprobe.conf and add the following lines

      alias irda0 nsc-ircc
      options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3
      install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0; /sbin/modprobe --ignore-install nsc-ircc

Some other things you might want to do with IrDA

  1. add fast PPP support:

modprobe irnet

  1. if needed, limit further the size of the transmit window

echo 1 > /proc/sys/net/irda/max_tx_window

External links

Linux-IrDA Project (External)

Linux PCMCIA Project (External)

tpctl homepage (External)