From: Matthias H. <mat...@ws...> - 2002-11-05 15:40:07
|
Hi! I have a problem with an Rocket eBook and an USB IrDA-dongle. The Rocket eBook has two connections: serial (which works fine under linux with a program called jedi) and IrDA. Because the serial-cradle is kind of big, I want to connect with IrDA to the book. It uses the same serial protocol over infrared. For connection I tried to use the Tekram IR-410U USB-dongle, which should be compatible with the "KC Technology Inc., KC-180 USB IrDA Device" (it uses the same vendor and device ID:0x50F/0x180) and should be supported by the irda-usb driver. This is what I did: I got a vanilla 2.4.19 kernel and added the 2.4.20-rc1 patch (I tried it without this patch, but had the same problems). I compiled the kernel with all necessary moduls and rebooted. The first thing I did, was to remove all modules that were loaded (that included the ir-usb and usb-serial stuff, as well as all IrDA-stack modules). After that I started to load the necessary modules and started the programs: modprobe irda-usb irattach irda0 -s modprobe ircomm modprobe ircomm-tty # lsmod Module Size Used by Tainted: P eepro100 21012 1 mii 3804 0 [eepro100] ircomm-tty 23520 0 ircomm 9696 0 [ircomm-tty] irda-usb 11952 0 irda 119248 0 [ircomm-tty ircomm irda-usb] uhci 28368 0 (unused) usbcore 74976 1 [irda-usb usb-storage usbmouse hid uhci] unix 18024 72 (autoclean) # Syslog produced these messages: Nov 5 14:44:55 kobayashi-maru kernel: usb.c: registered new driver irda-usb Nov 5 14:44:55 kobayashi-maru kernel: IRDA-USB found at address 5, Vendor: 50f, Product: 180 Nov 5 14:44:55 kobayashi-maru kernel: IrDA: Registered device irda0 Nov 5 14:44:55 kobayashi-maru kernel: USB IrDA support registered Nov 5 14:44:55 kobayashi-maru /etc/hotplug/net.agent: assuming irda0 is already up Nov 5 14:44:58 kobayashi-maru kernel: IrCOMM protocol (Dag Brattli) Nov 5 14:45:00 kobayashi-maru uptimed: moving up to position 113: 0 days, 00:05:54 Nov 5 14:45:18 kobayashi-maru irattach: executing: '/sbin/modprobe irda0' Nov 5 14:45:18 kobayashi-maru irattach: + modprobe: Can't locate module irda0 Nov 5 14:45:18 kobayashi-maru irattach: Trying to load module irda0 exited with status 255 Nov 5 14:45:18 kobayashi-maru irattach: executing: 'echo kobayashi-maru > /proc/sys/net/irda/devname' Nov 5 14:45:18 kobayashi-maru irattach: executing: 'echo 1 > /proc/sys/net/irda/discovery' Nov 5 14:45:18 kobayashi-maru irattach: Starting device irda0 Nov 5 14:45:39 kobayashi-maru kernel: IrCOMM protocol (Dag Brattli) Everything looks good so far. I started "irdadump" and switched my eBook on: 13:46:10.075547 xid:cmd beac43f7 > ffffffff S=6 s=0 (14) 13:46:10.165549 xid:cmd beac43f7 > ffffffff S=6 s=1 (14) 13:46:10.255541 xid:cmd beac43f7 > ffffffff S=6 s=2 (14) 13:46:10.345555 xid:cmd beac43f7 > ffffffff S=6 s=3 (14) 13:46:10.435548 xid:cmd beac43f7 > ffffffff S=6 s=4 (14) 13:46:10.525544 xid:cmd beac43f7 > ffffffff S=6 s=5 (14) 13:46:10.526806 xid:rsp beac43f7 < 00003172 S=1 s=224 ReB matthens54476 hint=8204 [ PDA/Palmtop IrCOMM ] (34) 13:46:10.615548 xid:cmd beac43f7 > ffffffff S=6 s=* kobayashi-maru hint=0400 [ Computer ] (30) 13:46:13.075547 xid:cmd beac43f7 > ffffffff S=6 s=0 (14) 13:46:13.165551 xid:cmd beac43f7 > ffffffff S=6 s=1 (14) 13:46:13.255539 xid:cmd beac43f7 > ffffffff S=6 s=2 (14) 13:46:13.257326 xid:rsp beac43f7 < 00003172 S=1 s=224 ReB matthens54476 hint=8204 [ PDA/Palmtop IrCOMM ] (34) 13:46:13.345547 xid:cmd beac43f7 > ffffffff S=6 s=3 (14) 13:46:13.435546 xid:cmd beac43f7 > ffffffff S=6 s=4 (14) 13:46:13.525547 xid:cmd beac43f7 > ffffffff S=6 s=5 (14) 13:46:13.615551 xid:cmd beac43f7 > ffffffff S=6 s=* kobayashi-maru hint=0400 [ Computer ] (30) Really good, the eBook was there. It was discovered and I was able to ping it: # cat /proc/net/irda/discovery IrLMP: Discovery log: nickname: ReB matthens54476, hint: 0x8204, saddr: 0xbeac43f7, daddr: 0x00003172 # irdaping 0x00003172 IrDA ping (0x00003172): 32 bytes 10 bytes from 0x00003172 10 bytes from 0x00003172 10 bytes from 0x00003172 10 bytes from 0x00003172 10 bytes from 0x00003172 [...] But now the problems start. I want to communicate with the book. Using "jedi" failed, so I just use a little C program to open /dev/ircomm0, set the rate to 57600 and try to send a byte (just a zero). Opening the connection seems to work fine, but the transmission fails. This is what irdadump says: [root@kobayashi-maru root]# irdadump 13:52:16.600030 xid:cmd beac43f7 > ffffffff S=6 s=0 (14) 13:52:16.690036 xid:cmd beac43f7 > ffffffff S=6 s=1 (14) 13:52:16.780028 xid:cmd beac43f7 > ffffffff S=6 s=2 (14) 13:52:16.870038 xid:cmd beac43f7 > ffffffff S=6 s=3 (14) 13:52:16.960027 xid:cmd beac43f7 > ffffffff S=6 s=4 (14) 13:52:17.050027 xid:cmd beac43f7 > ffffffff S=6 s=5 (14) 13:52:17.140041 xid:cmd beac43f7 > ffffffff S=6 s=* kobayashi-maru hint=0400 [ Computer ] (30) 13:52:17.142539 xid:rsp beac43f7 < 00003172 S=1 s=6 ReB matthens54476 hint=8204 [ PDA/Palmtop IrCOMM ] (34) 13:52:19.600032 xid:cmd beac43f7 > ffffffff S=6 s=0 (14) 13:52:19.690031 xid:cmd beac43f7 > ffffffff S=6 s=1 (14) 13:52:19.780025 xid:cmd beac43f7 > ffffffff S=6 s=2 (14) 13:52:19.870032 xid:cmd beac43f7 > ffffffff S=6 s=3 (14) 13:52:19.960037 xid:cmd beac43f7 > ffffffff S=6 s=4 (14) 13:52:20.050027 xid:cmd beac43f7 > ffffffff S=6 s=5 (14) 13:52:20.140031 xid:cmd beac43f7 > ffffffff S=6 s=* kobayashi-maru hint=0400 [ Computer ] (30) 13:52:20.141980 xid:rsp beac43f7 < 00003172 S=1 s=6 ReB matthens54476 hint=8204 [ PDA/Palmtop IrCOMM ] (34) 13:52:20.339868 snrm:cmd ca=fe pf=1 beac43f7 > 00003172 new-ca=e4 LAP QoS: Baud Rate=4000000bps Max Turn Time=500ms Data Size=2048B Window Size=1 Add BOFS=12 Min Turn Time=5000us Link Disc=12s (33) 13:52:20.447915 ua:rsp ca=e4 pf=1 beac43f7 < 00003172 LAP QoS: Baud Rate=115200bps Max Turn Time=500ms Data Size=2048B Window Size=1 Add BOFS=0 Min Turn Time=0us Link Disc=12s (31) 13:52:20.448886 rr:cmd > ca=e4 pf=1 nr=0 (2) 13:52:20.463915 rr:rsp < ca=e4 pf=1 nr=0 (2) 13:52:20.463976 i:cmd > ca=e4 pf=1 nr=0 ns=0 LM slsap=14 dlsap=00 CONN_CMD (6) 13:52:20.478938 i:rsp < ca=e4 pf=1 nr=1 ns=0 LM slsap=00 dlsap=14 CONN_RSP (5) 13:52:20.479011 i:cmd > ca=e4 pf=1 nr=1 ns=1 LM slsap=14 dlsap=00 GET_VALUE_BY_CLASS: "IrDA:IrCOMM" "Parameters" (28) 13:52:20.496935 i:rsp < ca=e4 pf=1 nr=2 ns=1 LM slsap=00 dlsap=14 GET_VALUE_BY_CLASS: Success IrCOMM Parameters Service Type=THREE_WIRE_RAW Port Type=PARALLEL (19) 13:52:20.497049 i:cmd > ca=e4 pf=1 nr=2 ns=2 LM slsap=14 dlsap=00 DISC (6) 13:52:20.511909 rr:rsp < ca=e4 pf=1 nr=3 (2) 13:52:20.511974 i:cmd > ca=e4 pf=1 nr=2 ns=3 LM slsap=15 dlsap=00 CONN_CMD (6) 13:52:20.526922 i:rsp < ca=e4 pf=1 nr=4 ns=2 LM slsap=00 dlsap=15 CONN_RSP (5) 13:52:20.526991 i:cmd > ca=e4 pf=1 nr=3 ns=4 LM slsap=15 dlsap=00 GET_VALUE_BY_CLASS: "IrDA:IrCOMM" "IrDA:TinyTP:LsapSel" (37) 13:52:20.544922 i:rsp < ca=e4 pf=1 nr=5 ns=3 LM slsap=00 dlsap=15 GET_VALUE_BY_CLASS: No such attribute (8) 13:52:20.545008 i:cmd > ca=e4 pf=1 nr=4 ns=5 LM slsap=15 dlsap=00 DISC (6) 13:52:20.559891 rr:rsp < ca=e4 pf=1 nr=6 (2) 13:52:21.050018 rr:cmd > ca=e4 pf=1 nr=4 (2) 13:52:21.064829 rr:rsp < ca=e4 pf=1 nr=6 (2) 13:52:21.560022 rr:cmd > ca=e4 pf=1 nr=4 (2) 13:52:21.574727 rr:rsp < ca=e4 pf=1 nr=6 (2) 13:52:22.070020 rr:cmd > ca=e4 pf=1 nr=4 (2) 13:52:22.084641 rr:rsp < ca=e4 pf=1 nr=6 (2) 13:52:22.540022 disc:cmd > ca=0xe4 pf=1 (2) 13:52:22.554554 ua:rsp ca=e4 pf=1 11800000 < 01c7f500 LAP QoS: (2) 13:52:25.600029 xid:cmd beac43f7 > ffffffff S=6 s=0 (14) [...] After that it repeats from the beginning. As far as I understand this, the connection can be opened. My computer asks for the parameters, and the eBook answers that it can work with a maximum baud rate of "115200". But then this problem: --> GET_VALUE_BY_CLASS: "IrDA:IrCOMM" "IrDA:TinyTP:LsapSel" (37) <-- GET_VALUE_BY_CLASS: No such attribute (8) I searched on Google for this error message, but without any result. Seems to me, that some parameters are requested which aren't there or understood. Unfortunately I don't know where exactly the problem is. Is it a problem with the eBook, which does not work as expected, or have I a problem with the IrDA-dongle and/or the driver. What can I do to solve this problem? I tried to reduce the baud-rate: # echo 57600 > /proc/sys/net/irda/max_baud_rate but the only thing changed was this: 13:59:35.512236 snrm:cmd ca=fe pf=1 beac43f7 > 00003172 new-ca=e4 LAP QoS: Baud Rate=57600bps Max Turn Time=500ms Data Size=2048B Window Size=1 Add BOFS=12 Min Turn Time=5000us Link Disc=12s (32) 13:59:35.619585 ua:rsp ca=e4 pf=1 beac43f7 < 00003172 LAP QoS: Baud Rate=57600bps Max Turn Time=500ms Data Size=2048B Window Size=1 Add BOFS=0 Min Turn Time=0us Link Disc=12s (31) The other problem remains. I can supply more information if requested. Thanks for you help, Matthias -- \ WSPse -=- Softwaredevelopment for Linux \"""\\"""\\""/_ _ \ http://www.wspse.de/ mailto:ws...@ws... \ \\ \\/( |_) \ private: Matthias Hensler, cu...@cu... \ / \ / _) | se \__ICQ: 24719025__PGP: 0x22B2951D______________\/___\/__________ |