[ltp] making Irda FIR mode faster
Laurent Gilson
linux-thinkpad@linux-thinkpad.org
Tue, 30 Jan 2007 22:15:36 +0100
Hello,
i'm trying to get fast irda working. SIR works like a charm but is dead
slow (+-5KB/s). Removing the SIR modules, stopping irattach, modprobing
nsc_ircc and relaunching irattach works, but it still slow (+-10KB/s). I=
was thinking more about 350-400 KB/s.
irdadump did not realy show me something informative:
21:01:39.605820 (0000.01 ms) rr:rsp > ca=3Da8 pf=3D1 nr=3D5 (2)
21:01:39.615031 (0009.21 ms) rr:cmd < ca=3Da8 pf=3D1 nr=3D4 (2)
21:01:39.615042 (0000.01 ms) i:rsp > ca=3Da8 pf=3D1 nr=3D5 ns=3D4 LM sl=
sap=3D1f =
dlsap=3D02 TTP credits=3D3
OBEX CONTINUE final=3D1 len=3D3 (8)
21:01:39.669207 (0054.16 ms) i:cmd < ca=3Da8 pf=3D1 nr=3D5 ns=3D5 LM sl=
sap=3D02 =
dlsap=3D1f TTP credits=3D1
OBEX PUT final=3D0 len=3D1024 body=3D[1018 bytes] {unterminated=
} (514)
21:01:39.669222 (0000.01 ms) rr:rsp > ca=3Da8 pf=3D1 nr=3D6 (2)
Segmentation fault
restarting irdadump during the transfer shows this:
21:03:01.806524 (0000.01 ms) i:rsp > ca=3Da8 pf=3D1 nr=3D5 ns=3D7 LM sl=
sap=3D20 =
dlsap=3D02 (8)
21:03:01.861226 (0054.70 ms) i:cmd < ca=3Da8 pf=3D1 nr=3D0 ns=3D5 LM sl=
sap=3D02 =
dlsap=3D20 (514)
21:03:01.861244 (0000.02 ms) rr:rsp > ca=3Da8 pf=3D1 nr=3D6 (2)
21:03:01.920689 (0059.45 ms) i:cmd < ca=3Da8 pf=3D1 nr=3D0 ns=3D6 LM sl=
sap=3D02 =
dlsap=3D20 (514)
21:03:01.920703 (0000.01 ms) rr:rsp > ca=3Da8 pf=3D1 nr=3D7 (2)
21:03:01.937283 (0016.58 ms) i:cmd < ca=3Da8 pf=3D1 nr=3D0 ns=3D7 LM sl=
sap=3D02 =
dlsap=3D20 (11)
21:03:01.937297 (0000.01 ms) rr:rsp > ca=3Da8 pf=3D1 nr=3D0 (2)
21:03:01.946498 (0009.20 ms) rr:cmd < ca=3Da8 pf=3D1 nr=3D0 (2)
21:03:01.946510 (0000.01 ms) i:rsp > ca=3Da8 pf=3D1 nr=3D0 ns=3D0 LM sl=
sap=3D20 =
dlsap=3D02 (8)
21:03:02.001373 (0054.86 ms) i:cmd < ca=3Da8 pf=3D1 nr=3D1 ns=3D0 LM sl=
sap=3D02 =
dlsap=3D20 (514)
21:03:02.001388 (0000.01 ms) rr:rsp > ca=3Da8 pf=3D1 nr=3D1 (2)
What makes me wonder is the dmesg:
nsc-ircc, Found chip at base=3D0x02e
nsc-ircc, driver loaded (Dag Brattli)
CLASS: registering class device: ID =3D 'irda0'
class_hotplug - name =3D irda0
IrDA: Registered device irda0
nsc-ircc, Using dongle: IBM31T1100 or Temic TFDS6000/TFDS6500
irlap_change_speed(), setting speed to 9600
irlap_change_speed(), setting speed to 115200
irlmp_state_dtr(), Unknown event LM_LAP_CONNECT_CONFIRM on LSAP 0x0
irlmp_state_dtr(), Unknown event LM_LAP_CONNECT_CONFIRM on LSAP 0x0
irlap_change_speed(), setting speed to 9600
115200 ? FIR is supposed to do ~4MBit. Why does it not switch to 4000000=
? =
Setting
4mbits in /proc/sys/net/irda/max_baud_rate gets overwritten at each =
transfer.
Any ideas ?
Thanks.