hacker emblem

Infrared

The nsc-ircc kernel module needs a patch to work, which you can download at http://shamrock.dyndns.org/~ln/linux/.

Note: Even though it's for 2.6.12 it also applies cleanly to 2.6.14. The patch is also attached to this page for completeness sake and in case the current download URL vanishes.

To apply the patch go to the root directory of the kernel source code and issue

patch -p1 < /path/to/downloaded/nsc-ircc-pnp.2.6.12.diff

After that you have to recompile and install the kernel as described on the kernel configuration page.

To use the infrared transmitter (it's located at the front, which is a rather unpractical placement IMO) it's necessary to install the irda-utils with

apt-get install irda-utils
The configuration of the irda-utils Debian package takes place in /etc/default/irda-utils and get filled in via questions asked by debconf at installation time. I use the following settings:
ENABLE="true"
DISCOVERY="true"
DEVICE="irda0"
DONGLE="none"
SETSERIAL=""

As stated in /usr/share/doc/irda-utils/README.Debian to use Fast-Infrared (FIR) it's necessary to disable the Serial-Infrared (SIR) part of the system, so I disabled loading the SIR kernel modules by adding them to /etc/hotplug/blacklist:

# ignore serial irda drivers
irtty_sir
sir_dev
irda

After that it's necessary to tell the system which kernel module to load for the irda0 device, that is done by putting the following lines into /etc/modprobe.d/irda-utils:

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

Stop the irda-utils with

/etc/init.d/irda-utils stop

and then make sure the SIR modules are not loaded anymore (use lsmod and if they're still loaded use rmmod to remove them). Then start the irda-utils again with

/etc/init.d/irda-utils start

The nsc-ircc module should get loaded automatically and the irattach program should be setting up the infrared device irda0. Check /var/log/syslog, it should look similar to this:

Sep 17 14:43:10 t43p kernel: pnp: Device 00:0a activated.
Sep 17 14:43:10 t43p kernel: nsc-ircc, Found chip at base=0x000
Sep 17 14:43:10 t43p kernel: nsc-ircc, driver loaded (Dag Brattli)
Sep 17 14:43:10 t43p kernel: IrDA: Registered device irda0
Sep 17 14:43:10 t43p kernel: nsc-ircc, Using dongle: IBM31T1100 or Temic TFDS6000/TFDS6500
Sep 17 14:43:10 t43p irattach: executing: 'echo t43p > /proc/sys/net/irda/devname'
Sep 17 14:43:10 t43p irattach: executing: 'echo 1 > /proc/sys/net/irda/discovery'
Sep 17 14:43:10 t43p irattach: Starting device irda0

After that it's possible for example to use infrared communication to sync a Palm PDA or to access a mobile phone via gnokii or gammu. See the Linux Infrared Howto for more information.

I actually don't like the irda-utils to be started automatically at boot time since I very seldomly use infrared communcations, so I removed the symbolic link /etc/rc2.d/S20irda-utils (because I use runlevel 2 as my default runlevel, which is the standard configuration in Debian, use the appropriate rcX.d directory for your runlevel). Instead I'm using the following script (I called it toggle_irda) to toggle the irda-port on and off:

#!/bin/sh
PIDFILE="/var/run/irattach.pid"

if [ -f $PIDFILE ]
then
/etc/init.d/irda-utils stop > /dev/null
else
/etc/init.d/irda-utils start > /dev/null
fi

It checks whether the irda-utils are currently running and either starts or stops them. The scripts gets started when pressing Fn+F8, see the Special Keys page for details.

AttachmentSize
nsc-ircc-pnp.2.6.12.diff5.03 KB
read more | 3 comments | 1 attachment

Reply

Please solve the math problem above and type in the result. e.g. for 1+1, type 2
The content of this field is kept private and will not be shown publicly.
  • Textual smileys will be replaced with graphical ones.
  • Lines and paragraphs break automatically.
More information about formatting options