2.4. Configuration
2.4.1. Device Numbers
mknod /dev/ircomm0 c 161 0
mknod /dev/ircomm1 c 161 1
mknod /dev/irlpt0 c 161 16
mknod /dev/irlpt1 c 161 17
mknod /dev/irnet c 10 187
chmod 666 /dev/ir*
|
There might be some other device number necessary if you want to use
the
irkbd features. You may find
the latest device numbers in
../src/linux/Documentation/devices.txt.
2.4.2. Device Arrangement
First you should put your IrDA devices in range. Though it might be
possible that the Linux/IrDA service detects every new device
automagically I only have good experience with the devices in range
during the configuration process.
Keep your infrared devices together in a range below one meter and an
angle of 30 degree. There has to be a direct line of sight between
them. If this is not possible, you may use a mirror (an unused M$ CD
should work quite good).
2.4.3. /etc/modules.conf
Add the following lines to your
/etc/modprobe.conf
(for kernel 2.4 /etc/modules.conf) file
(attention: the actual filename may depend on your Linux distribution):
# IrDA over a normal serial port, or a serial port compatible IrDA port (SIR)
alias tty-ldisc-11 irtty
# IrCOMM (for printing, PPP, Minicom etc)
alias char-major-161 ircomm-tty # if you want IrCOMM support
# IRLAN
# But currently the IrLAN protocol is no longer maintained
# by the Linux/IrDA core team.
alias irlan0 irlan
# To be able to attach some serial dongles
# These values are hard-coded in irattach (not instance order)
alias irda-dongle-0 tekram # Tekram IrMate IR-210B
alias irda-dongle-1 esi # ESI JetEye
alias irda-dongle-2 actisys # Actisys IR-220L
alias irda-dongle-3 actisys # Actisys IR-220L+
alias irda-dongle-4 girbil # Greenwich GIrBIL
alias irda-dongle-5 litelink # Parallax LiteLink/ESI JetEye
alias irda-dongle-6 airport # Adaptec Airport 1000 and 2000
alias irda-dongle-7 old_belkin # Belkin (old) SmartBeam dongle
alias irda-dongle-8 ep7211_ir # Cirrus Logic EP7211 Processor (ARM)
alias irda-dongle-9 mcp2120 # MCP2120 (Microchip) based
alias irda-dongle-10 act200l # ACTiSYS Ir-200L
alias irda-dongle-11 ma600 # Mobile Action ma600
# To use the FIR driver. This applies only to the specific device!!!
#options nsc-ircc dongle_id=0x09 # NSC driver on a IBM Thinkpad laptop
#options nsc-ircc dongle_id=0x08 # HP Omnibook 6000
#alias irda0 nsc-ircc
# options smc-ircc ircc_irq= ircc_dma=
# alias irda0 smc-ircc
# options toshoboe max_baud=
# alias irda0 toshoboe
# options w83977af_ir io= io2= irq= qos_mtt_bits=
# alias irda0 w83977af_ir
# IrNET module...
alias char-major-10-187 irnet # Official allocation of IrNET
|
Then do a
depmod -a to update,
and then all IrDA modules should be
automagically loaded when you need them. Note for testing reasons you
may load them manually, but please make sure not to load them twice.
There might be some other entries necessary, if you want to use the
irkbd features or an USB dongle.
A template file is included in the irda-utils package.
Note: With Debian GNU/Linux however you shouldn't edit
/etc/modules.conf directly, instead
place the lines inside
/etc/modutils/irda-utils and run
update-modules afterwards.
Running update-modules seems obsolete
for 2.6 kernels.
2.4.4. /etc/irda
Have a look into the files in /etc/irda.
Edit them to reflect your setup.
2.4.5. BIOS Configuration
Make sure your infrared port is enabled in the BIOS and check what
interrupt and port address it uses. With some laptops it seems
necessary to have Microsoft-Windows installed to be able to set BIOS
parameters.
I have got reports, that on some laptops, when connected to a docking
station, the infrared port was disabled .
2.4.6. Serial Port
Please decide first whether you want to set up Irda either in SIR or
in FIR mode. It is recommended to start with SIR.
2.4.6.1. SIR
Choose the ttySx according to your SIR port.
Hint: dmesg | grep tty (for details see the
chapter Starting the IrDA Stack below).
To get the SIR "serial" device
have a look into the BIOS. Then run dmesg | grep tty
to get a survey of tty devices supported by your machine. Now try to
choose the one, which is probably the IrDA device.
2.4.6.2. FIR
If you don't succeed with SIR (which seems a rare case) you may
try FIR. First look up the BIOS. To avoid some conflicts
with serial devices you should do
setserial /dev/ttySx uart none.
Note: never use setserial /dev/ttySx uart none,
when setting up IrDA in SIR mode.
From Florian Lohoff
You should also set "port 0x0 irq 0" otherwise you will see interesting
effects if there is suddenly a different S1 e.g. by inserting
a modem PCMCIA card. The serial driver will then touch
the OLD ports without having acquired those which will cause
the irda stuff to die/hang. This is a bug i havent been able
to find in the serial driver but it definitly
exists (Put a printk into the serial_out serial_in stuff).
2.4.7. Resource Conflicts: IRQ, IO
Is some cases IRQ conflicts may occur, especially conflicts with
sound, PCMCIA or the hotplug system have been reported.
Check cat /proc/interrupts to get some
information about IRQ usage on your machine.
2.4.8. Starting IrDA
Most important, you must sync your disks!!! Maybe you have to reboot
your machine. Have you read the disclaimer?
There are three sorts of low level drivers: SIR, FIR and dongle for
machines without an in-built InfraRed port. To
start with Linux/IrDA I recommend to use the SIR method.
Load the modules modprobe irda irtty.
irattach /dev/ttyS1 -s to
attach the IrDA device to the IrDA services.
Check lsmod and dmesg.
irdadump should show all available
IrDA devices in range now. Hint: If
you are connecting different Linux boxes, you may use
hostname YOUR_HOSTNAME
to set a unique hostname for each computer.
On the "server" side do pppd /dev/ircomm0 LOCAL_IP:REMOTE_IP On the
"client" side do pppd /dev/ircomm0 .
You may now test the connection with ping. And use
all sorts of networking connections (ssh, NFS, ...) now.