Francesco Zuliani wrote :
>
> Hi there,
>
> I've spent the past three night trying to install
> irda on my laptop in order to have it sharing data with either
> a Palm IIIxe or an Ericsson R320s. Despite the fact that I'm _not_ a
> linux newbie, I really was not able to manage the task.
Welcome to the club...
> Any help is more than welcome. Here I describe the situation at my best
>
> I've a NEC Versa 6200MX, with RedHat 6.2 installed.
> In the BIOS I set the Irda to SIR mode.
Good. That's safer.
> Anyhow
> 'findchip' (from irda-utils)
> finds one of the supported chipset for FIR: i.e:
>
> Found NSC PC87338 Controller at 0x398, DevID=0x0b, Rev. 1
> SIR Base 0x3e8, FIR Base 0x3e8
> IRQ = 9, DMA = 0
> Enabled: yes, Suspended: no
> UART compatible: yes
> Half duplex delay = 0 us
I think that's normal.
> I'm running kernel 2.2.17-14 the last update by RedHat.
> At boot I can see two serial port. The normal one ttyS00, and ttyS2 that
> I assumed it was the SIR, also from the fact that has the same mem
> address as reported by 'findchip'. Relevant 'dmesg' output follows
> ...
> Serial driver version 4.27 with MANY_PORTS MULTIPORT SHARE_IRQ enabled
> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> ttyS02 at 0x03e8 (irq = 4) is a 16550A
> ...
Hum... Above, the NSC is at irq 9, whereas here it shows as
irq 4. Check what is the BIOS setting for the irq. I believe that the
serial driver need to use the correct irq (9 here). Use setserial to
fix that.
> I patched the kernel with the last patch-2.2.18-23-irda1 from irda web-site.
> It applied flawlessly except for an apparently not important (maybe not??)
> Config.in in net/irda/compressors .
>
> I compiled the kernel without any problem.
>
> I then downloaded and compiled :
> irda-utils-0.9.14.tar.gz
> openobex-0.9.7
> openobex-apps-0.9.7
Good.
> So far so good.
> As I read from (outdated) IR_howto and this mailing list I made
> crw-rw-rw- 1 root root 161, 0 Feb 23 04:34 /dev/ircomm0
> crw-rw-rw- 1 root root 161, 1 Feb 23 04:34 /dev/ircomm1
> crw-rw-rw- 1 root root 161, 16 Feb 23 04:34 /dev/irlpt0
> crw-rw-rw- 1 root root 161, 17 Feb 23 04:34 /dev/irlpt1
>
> and added to /etc/modules.conf the following lines:
> # IrDA over a normal serial port, or a serial port compatible IrDA port
> alias tty-ldisc-11 irtty
> # IrCOMM (for printing, PPP, Minicom etc)
> alias char-major-161 ircomm-tty
>
> I then inserted the various relevant modules:
> modprobe irda
> modprobe irtty
> modprobe ircomm
> modprobe ircomm-tty
>
> output of lsmod is:
> ircomm-tty 30704 0 (unused)
> ircomm 13376 0 [ircomm-tty]
> irtty 7536 0 (unused)
> irda 137264 0 [ircomm-tty ircomm irtty]
Good.
> on syslog:
> Feb 27 01:17:21 localhost kernel: IrCOMM protocol (Dag Brattli)
>
> Finally I'm able to issue
> ' irattach /dev/ttyS2 -s ' and not the apparently deprecated
> irmananger ... (as I thought was correct following the IR_HOWTO)
Correct.
> on syslog I obtain
>
> Feb 27 01:19:35 localhost kernel: IrDA: Registered device irda0
> Feb 27 01:19:36 localhost irattach: executing: 'echo 1 >
>/proc/sys/net/irda/discovery'
> Feb 27 01:19:36 localhost irattach: Starting device irda0
> Feb 27 01:19:36 localhost irattach: executing: 'echo mycomputer >
>/proc/sys/net/irda/devname'
>
> So far everything is going as expected.
>
> I issue a 'irdadump' with my Ericsson R320s with InfraRed turned on in
> front of my laptop ir-eye
> I obtain output as
> ...
> 00:22:02.434983 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:05.634982 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:12.434979 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:15.634981 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:22.434981 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:25.625632 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:32.434980 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:35.634981 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:42.434984 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:45.634980 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:52.434984 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:22:57.434979 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> ....
That's pretty ugly. You should have batches of discovery with
the last number ("s=") going from 0 to 5 and then 255. Something is
very wrong.
> root#> cat /proc/net/irda/discovery
> IrLMP: Discovery log:
>
> and nothing else
>
> the command /sbin/ifconfig irda0 results in
> irda0 Link encap:IrLAP HWaddr c6:78:9f:1f
> UP RUNNING NOARP MTU:2048 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:8
>
>
> root#> irdaping irda0
> IrDA ping (0x00000000): 32 bytes
>
> and just hangs.
>
> Complete fail with Ericsson
>
> So I try with the Palm. I get a slightly different output from irdadump
> but once again without any successfull discovery
> ...
> 00:27:02.434981 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:27:05.634982 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:27:12.434977 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:27:17.434979 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:27:22.434979 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:27:25.635003 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:27:32.434980 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:27:37.434980 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:27:42.434981 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:27:45.625648 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:27:52.434979 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:27:57.434978 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:28:02.434982 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:28:07.434979 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:28:12.434978 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:28:15.625651 test:cmd ca=0xfe pf=1 c6789f1f > 00000000 (32)
> 00:28:22.434990 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:28:27.434984 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> 00:28:32.434985 xid:cmd c6789f1f > ffffffff S=6 s=0 (14)
> ...
The discovery doesn't work proper. Something is wrong with
your irda stack.
> I did various other attempts with irobex (but I figured that was not
> critical, since really nothing get recognized at a lower level, is this
> true ?)
Correct.
> I tried also to increase debugging with
> echo 1 > /proc/sys/net/irda/debug
> without much success.
That should put more debug message in the log, you can check
them with dmesg.
> The Palm and Phone IR work perfectly either among them, or to
> (sigh) W95.
>
> I'm willing to experiment more, but I would like some hint
> before getting _completely_ frustrated.
>
> Thanks for your time
> Francesco Zuliani
You can try :
o fix the irq problem
o use the nsc-ircc driver instead of SIR mode
Check :
http://www.hpl.hp.com/personal/Jean_Tourrilhes/IrDA/squirt.html#tutorial
Have fun...
Jean
_______________________________________________
Linux-IrDA mailing list - [EMAIL PROTECTED]
http://www.pasta.cs.UiT.No/mailman/listinfo/linux-irda