PART A: Hardware settings
- 1 Have a look into your specs !!! If not available look at the support page of your vendor, or contact the support hotline. Or maybe you find the information in the hardware overview mentioned below.
- 2 Use a current BIOS. Usually available at the support page of your vendor.
- 3 Try ``setserial /dev/ttyS? -g -a | egrep 16550A''. One of the shown devices is probably the one you are looking for. Usually it is the second one, but with no guarantee.
- 4 Note: What seems like an UART is physically the IrDA controller. For my HP Omnibook 800 this is the VLSI VL82C147 PCI - IrDA controller. These controllers should behave up to 115 200 bps like UART's. But sometimes it is very difficult to get the right configuration.
PART B: How to tell the hardware settings to the kernel
-4 ``cat /dev/ioports'' to see which ports are already in use.
-5 ``cat /dev/interrupts'' to see which interrupts are already in use.
-6 Make ports and interrupts available for use with IR device, e.g. stop the pcmcia service or include a line like this in /etc/sysconfig/pcmcia: PCIC_OPTS="irq_list=3,4,5,7,9,10,12,14,15"
-7 Now try to guess what the right interrupt and port is. Use ``setserial /dev/ttySx irq M port 0xNNNN'' to tell the kernel. If there is more then one possible chance try them all (Note: As mentioned in the Serial-HOWTO you should not try irq 0, 1, 6, 8, 13, 14).
-8 If you were successful please send the useful parameters to the author, because I would like to include them into the hardware overview.
-9 Good luck.
P.S. : You may also try my little configuration script. But it is still not perfect yet.
Also it is maybe necessary to finetune the IR serial port with setserial , e.g. ``setserial /dev/ttyS0 spd_dvi'' (speed rate 115200).
#include <linux/module.h>
place the following line in front of the #include:
#define __NO_VERSION__
so you should see:
#define __NO_VERSION__
#include <linux/module.h>
and find the line:
/* MOD_INC_USE_COUNT */
remove the comments; find
/* MOD_DEC_USE_COUNT */
and remove the comments.
Recompile, and kerneld will now leave the module in memory for you, while you have irattach running." - I suppose it is the file irlpt.c which has to be edited.
#!/bin/sh
echo "$0 : remove irda module"
rmmod irport.o
rmmod irtty.o
rmmod irda.o
in the startup process (/etc/init.d and a symbolic link name for example "S100ir_rmmod" in /etc/rc3.d to "ir_rmmod"). Note the place for "sh". For BSD style systems try the corresponding approach.
CONFIG_MODVERSIONS=y
in /usr/src/linux/.config:
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
-irlmp->discovery_rsp.hint[0] = COMPUTER | EXTENSION; +irlmp->discovery_rsp.hint[0] = COMPUTER | LAN | EXTENSION; irlmp->discovery_rsp.hint[1] = OBEX;
Insert irlan_client on the first machine and irlan_server on the second.