Using IrDA on Linux

Using IrDA under Windows is quite simple. It just works. On Linux it took me literally hours to get it working. But you might get it working much faster with these tips ;-)

A very useful website was this one: http://www.hpl.hp.com/personal/Jean_Tourrilhes/IrDA/#debug

You have to do most things as user root. Otherwise they might now work because you don't have the permissions but you won't know that because the programs won't tell you.
  1. You need to load all the appropriate modules for your driver, also ircomm_tty irtty_sir sir_dev.
  2. Then you need to activate the network interface irda0: ifconfig irda0 up.
  3. You should now be ready to establish a connection (as root).
I've made this script, which lets me connect a Siemens M65 to the Acer Extensa 5220:
#reprobe irda kernel module
rmmod nsc-ircc
modprobe nsc-ircc dma=3 io=0x02F8 irq=3 # these are standard settings for the 5220. they might work for you, too.

# activate interface
ifconfig irda0 up
# enable discovery
echo 1 > /proc/sys/net/irda/discovery
#wait for results
sleep 2
#check results
cat /proc/net/irda/discovery

#attach irda stack
irattach irda0 -s

#you should now be able to watch the transfer stats with irdadump

# for mobile phone connectivity problems I need to reduce the connection speed
echo 9600 > /proc/sys/net/irda/max_baud_rate
Notes
  • cat /proc/net/irda/* shows you some information about the irda devices.
  • Be aware that the connection device is /dev/ircomm0.
  • You should first try everything as user root. Otherwise it might fail just because of missing permissions. Then in a second step when it works, try to use it as a user.
  • obexftp claims it doesn't need the -i parameter for irda. Well, it does, though.
  • I still haven't been able to get ppp over GPRS to work with Linux.
  • Irda currently works only after rebooting into Linux from Windows.

No comments:

Post a Comment

I appreciate comments. Feel free to write anything you wish. Selected comments and questions will be published.