If you encounter problems. Try the following:
dmesg
.uname -a cat /proc/net/irda/irlan cat /proc/net/irda/irlap irdadump
Although I'm not much of a hacker I collected some tricks to track errors or bugs in the Linux/IrDA software.
echo 0 > /proc/sys/net/irda/discovery
. The /proc/*/irda files are:
root@duckman:~# ls /proc/sys/net/irda/* /proc/net/irda/* /proc/net/irda/discovery /proc/net/irda/irlmp /proc/sys/net/irda/devname /proc/net/irda/irda_device /proc/net/irda/irttp /proc/sys/net/irda/discovery /proc/net/irda/irias /proc/sys/net/irda/compression /proc/net/irda/irlap /proc/sys/net/irda/debug
systune
, which writes kernel parameters, previously saved in a configuration file, to the /proc filesystem. This makes fiddling with these parameters easier.
/include/linux/skbuff.h
(see revision history of snapshot 10-2-98).irda
module a utility from the modules package kdstat
might be helpful. But I was not able to try this.discovery_slots
and 8 (*10 ms) for slot_timeout
. " ... "The absolute minimum for reliable discovery of the IR-610 seems to be 9."
Another statement: ... the Palm III does not like 8 discovery frames in a row, but 6 is OK. With 8 it will answer 1 out of 6-10 times, with 6 it answers every time. I really don't know if this is a problem with Linux-IrDA or the Palm III. One solution to this problem, is to cycle though some different discovery methods for each discovery like this:
Disocvery 1: send 8 xid frames with 80 ms separation
If answer, keep the same config, if no answer, try next config
Discovery 2: send 6 xid frames with 80 ms separation
Discovery 3: send 8 xid frames with 90 ms separation
Discovery 4: send 6 xid frames with 90 ms separation
Discovery 5. Go back to 1.
or some other pattern and maybe more combinations.
Maybe this is sometimes implemented, so it would be enabled if /proc/sys/net/irda/discovery_slots
is set to 0
.
ksymoops <file>
esd
) on your machine. Both my machines, a 166Mhz Pentium laptop and a 200Mhz Pentium Pro cannot run Linux/IrDA when esd is running. The reason is that esd makes the soundcard give interrups over 300 times/second which makes the serial driver overrun when receiving. This is because the serial driver now uses slow interrupts in Linux-2.2 (everything is slow interrupts in 2.2), so the interrupt-handler schedules on its way out. The good thing about slow interrupts is that packets are delivered much faster, since you don't need to wait for the next timer-tick. The only exception for this is the pc87108 driver which works fine since it uses DMA and will only give a couple of interrupts per packet.irdaping
and irdadump
to check Linux/IrDA connections.option irda irda_debug=3 option irlpt_client_debug=3 irlpt_common_debug=3
2) Make sure the irda modules have been totally removed.
3) Edit /etc/syslog.conf, adding the following lines:
*/* -/var/log/all
4) Do killall -1 syslogd
.
5) Print, or do whatever causes problems with irlpt
.
6) Check all the files in /var/log/ .