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

Reply via email to