Thread (1 message) 1 message, 1 author, 2011-04-19

Re: Testing IRDA device driver

From: Amit Virdi <hidden>
Date: 2011-04-19 10:14:49

Hey,

I have been trying to transfer a file from one system to another using IrCOMM layer on IrDA. We have a DICE's Fast IrDA Controller on our board and I've written driver for the same. I need your help in finding/resolving the problem, please.

In my setup, I'm using two identical boards having the IrDA IP logic. Once the board is up, I'm executing two commands:
1. ifconfig irda0 up
2. echo 1 > /proc/sys/net/irda/discovery

Both the IrDA devices discover each other successfully. If I run irattach, I can see SNRM command being sent and its response being received on one board. Then some more messages are exchanged- i:cmd, i:rsp, rr:cmd etc. I could see QOS parameters being exchanged. However, after this rr:cmd and rr:rsp messages are exchanged for sometime and then I get "IrLAP, no activity on link!" messages. No more messages are exchanged thereafter.I took the irdadump logs for both the transmitter and receiver. All the messages sent by the transmitter are received successfully.

Meanwhile, when the rr:cmd rr:rsp messages are being exchanged, I tried using ircp to transfer/receive file, but received an error message "Connecting...failed". Could you please help me? I'm really bogged down by this problem. I've been trying hard for the past couple of weeks. I shall be very much thankful to you.

Best Regards
Amit Virdi

On 4/15/2011 5:20 PM, Amit Virdi wrote:
Hi All/Samuel,

I need your help in transferring file through IrCOMM layer.

I'm facing a strange problem. I'm using same kernel image on two similar boards. When I run irattach /dev/ircomm0 on one board, the DISCOVERY protocol is initiated and the IrDA devices on both the boards detect each other. When irattach is run on board 2 also, SNRM command is sent by board 2 and UA response is received by it. After few more commands, "sirdev_receive  too early" message is displayed multiple times and then "IrLAP, no activity on the link" message is received. The subsequent DISCOVERY REQUEST/RESPONSE does not have the hint field as c404 but 4400. If I run ircp -r on one board or ircp <filename>, I get "Connecting... failed" message.

Is anyone having a clue what might be the problem?Here's the detailed description of the scenario:
1. When the boards are booted up, I run ifconfig irda0 up on both the boards. The port is up, no IrDA message is exchanged.
2. I run "irattach /dev/ircomm0 -s" on board 1. IrDA discovery protocol is initiated, XID command is sent and XID response is received. irdadump utility shows the messages exchanged.
=============
root@driver_s320:~# irattach /dev/ircomm0 -s &
[2] 1456
root@driver_s320:~# 00:02:08.167760 (37538.46 ms) xid:cmd f41be1cd > ffffffff S=6 s=0 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 00 00
00:02:08.261248 (0093.49 ms) xid:cmd f41be1cd > ffffffff S=6 s=1 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 01 00
00:02:08.361205 (0099.96 ms) xid:cmd f41be1cd > ffffffff S=6 s=2 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 02 00
00:02:08.362522 (0001.32 ms) xid:rsp f41be1cd < 0c4619da S=6 s=2 Linux hint=4400 [ Computer LAN Access ] (21)
        fe bf 01 da 19 46 0c cd e1 1b f4 01 02 00 44 00
        4c 69 6e 75 78
00:02:08.461210 (0098.69 ms) xid:cmd f41be1cd > ffffffff S=6 s=3 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 03 00
00:02:08.561216 (0100.01 ms) xid:cmd f41be1cd > ffffffff S=6 s=4 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 04 00
00:02:08.661216 (0100.00 ms) xid:cmd f41be1cd > ffffffff S=6 s=5 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 05 00
00:02:08.761269 (0100.05 ms) xid:cmd f41be1cd > ffffffff S=6 s=* Linux hint=c404 [ Computer LAN Access IrCOMM ] (22)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 ff 00 c4 04
        00 4c 69 6e 75 78
00:02:12.351472 (3590.20 ms) xid:cmd f168e953 > ffffffff S=6 s=0 (14)
        ff 3f 01 53 e9 68 f1 ff ff ff ff 01 00 00
00:02:12.351818 (0000.35 ms) xid:cmd f41be1cd > ffffffff S=6 s=0 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 00 00
00:02:12.451344 (0099.53 ms) xid:cmd f41be1cd > ffffffff S=6 s=1 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 01 00
00:02:12.551376 (0100.03 ms) xid:cmd f41be1cd > ffffffff S=6 s=2 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 02 00
00:02:12.651354 (0099.98 ms) xid:cmd f41be1cd > ffffffff S=6 s=3 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 03 00
00:02:12.751354 (0100.00 ms) xid:cmd f41be1cd > ffffffff S=6 s=4 (14)
        ff 3f 01 cd e1 1b f4 ff ff ff ff 01 04 00
00:02:12.752730 (0001.38 ms) xid:rsp f41be1cd < 0c4619da S=6 s=4 Linux hint=4400 [ Computer LAN Access ] (21)
        fe bf 01 da 19 46 0c cd e1 1b f4 01 04 00 44 00
        4c 69 6e 75 78
=============
3. cat /proc/net/irda/discovery shows the output
root@driver_s320:~# cat /proc/net/irda/discovery
IrLMP: Discovery log:

nickname: Linux, hint: 0x4400, saddr: 0xf41be1cd, daddr: 0x0c4619da

4. I run irattach /dev/ircomm0 -s on board 2 also
5. As a result, board 1 receives SNRM command. It sends the UA response. However, it receives "sirdev_write_complete - schedule speed change failed: -11" error multiple times.
=======================
00:04:27.510549 (2114.77 ms) snrm:cmd ca=fe pf=1 f41be1cd < 0c4619da new-ca=f4
        LAP QoS: Baud Rate=9600bps Max Turn Time=500ms Data Size=2048B Window Size=7 Add BOFS=0 Min Turn Time=10000us Link Disc=12s (32)
        ff 93 da 19 46 0c cd e1 1b f4 f4 01 01 02 82 01
        01 83 01 3f 84 01 7f 85 01 ff 86 01 01 08 01 07
00:04:27.512138 (0001.59 ms) ua:rsp ca=f4 pf=1 f41be1cd > 0c4619da
        LAP QoS: Baud Rate=9600bps Max Turn Time=500ms Data Size=2048B Window Size=7 Add BOFS=0 Min Turn Time=10000us Link Disc=12s (31)
        f4 73 cd e1 1b f4 da 19 46 0c 01 01 02 82 01 01
        83 01 3f 84 01 7f 85 01 ff 86 01 01 08 01 07
00:04:27.613760 (0101.62 ms) rr:cmd < ca=f4 pf=1 nr=0 (2)
        f5 11
00:04:27.613952 (0000.19 ms) rr:rsp > ca=f4 pf=1 nrsirdev_write_complete - schedule speed change failed: -11
=0 (2)
        f4 11 sirdev_write_complete - schedule speed change failed: -11

00:04:27.61460sirdev_write_complete - schedule speed change failed: -11
2 (0000.65 ms) isirdev_write_complete - schedule speed change failed: -11
:cmd < ca=f4 pfsirdev_write_complete - schedule speed change failed: -11
=1 nr=0 ns=0 LM sirdev_write_complete - schedule speed change failed: -11
slsap=12 dlsap=0sirdev_write_complete - schedule speed change failed: -11
sirdev_write_complete - schedule speed change failed: -11

        f5 10 80 12 01sirdev_write_complete - schedule speed change failed: -11
 00
00:04:27.615866 (0001.26 ms) i:rsp > ca=f4 pf=1 nr=1 ns=0 LM slsap=00 dlsap=12 CONN_RSP (6)
        f4 30 92 00 81 00
=======================
6. Board 2 receives following error messages.
sirdev_receive - too early: c79e5026 / 30!

7. Few more messages are exchanged
=======================
00:04:27.615866 (0001.26 ms) i:rsp > ca=f4 pf=1 nr=1 ns=0 LM slsap=00 dlsap=12 CONN_RSP (6)
    f4 30 92 00 81 00
00:04:27.617376 (0001.51 ms) i:cmd < ca=f4 pf=1 nr=1 ns=1 LM slsap=12 dlsap=00 GET_VALUE_BY_CLASS: "IrDA:IrCOMM" "Parameters" (28)
    f5 32 00 12 84 0b 49 72 44 41 3a 49 72 43 4f 4d
    4d 0a 50 61 72 61 6d 65 74 65 72 73
00:04:27.617978 (0000.60 ms) i:rsp > ca=f4 pf=1 nr=2 ns=1 LM slsap=00 dlsap=12 GET_VALUE_BY_CLASS: Success
    IrCOMM Parameters Service Type=NINE_WIRE THREE_WIRE Port Type=N/A (19)
    f4 52 12 00 84 00 00 01 23 43 02 00 06 00 01 06
    01 01 00
00:04:27.620832 (0002.85 ms) i:cmd < ca=f4 pf=0 nr=2 ns=2 LM slsap=12 dlsap=00 DISC (6)
    f5 44 80 12 02 01
00:04:27.621237 (0000.41 ms) i:cmd < ca=f4 pf=1 nr=2 ns=3 LM slsap=13 dlsap=00 CONN_CMD (6)
    f5 56 80 13 01 00
00:04:27.622725 (0001.49 ms) i:rsp > ca=f4 pf=1 nr=4 ns=2 LM slsap=00 dlsap=13 CONN_RSP (6)
    f4 94 93 00 81 00
00:04:27.624464 (0001.74 ms) i:cmd < ca=f4 pf=1 nr=3 ns=4 LM slsap=13 dlsap=00 GET_VALUE_BY_CLASS: "IrDA:IrCOMM" "IrDA:TinyTP:LsapSel" (37)
    f5 78 00 13 84 0b 49 72 44 41 3a 49 72 43 4f 4d
    4d 13 49 72 44 41 3a 54 69 6e 79 54 50 3a 4c 73
00:04:27.625088 (0000.62 ms) i:rsp > ca=f4 pf=1 nr=5 ns=3 LM slsap=00 dlsap=13 GET_VALUE_BY_CLASS: Success Integer: 11 (15)
    f4 b6 13 00 84 00 00 01 23 43 01 00 00 00 11
00:04:27.627525 (0002.44 ms) i:cmd < ca=f4 pf=0 nr=4 ns=5 LM slsap=13 dlsap=00 DISC (6)
    f5 8a 80 13 02 01
00:04:27.628016 (0000.49 ms) i:cmd < ca=f4 pf=1 nr=4 ns=6 LM slsap=11 dlsap=11 CONN_CMD TTP credits=16 (7)
    f5 9c 91 11 01 00 10
00:04:27.629957 (0001.94 ms) i:rsp > ca=f4 pf=1 nr=7 ns=4 LM slsap=11 dlsap=11 CONN_RSP TTP credits=16 (7)
    f4 f8 91 11 81 00 10
00:04:27.633168 (0003.21 ms) i:cmd < ca=f4 pf=1 nr=5 ns=7 LM slsap=11 dlsap=11 TTP credits=0
    IrCOMM Service Type=NINE_WIRE Data Rate=9600 Data Format=13 Flow Control=00 DTEline State=0c (24)
    f5 be 11 11 00 12 00 01 04 10 04 00 00 25 80 11
    01 13 12 01 00 20 01 0c
00:04:27.634586 (0001.42 ms) rr:rsp > ca=f4 pf=1 nr=0 (2)
    f4 11
00:04:27.642005 (0007.42 ms) xid:cmd f168e953 > ffffffff S=6 s=1 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 01 00
00:04:27.648576 (0006.57 ms) xid:cmd f168e953 > ffffffff S=6 s=2 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 02 00
00:04:27.655098 (0006.52 ms) xid:cmd f168e953 > ffffffff S=6 s=3 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 03 00
00:04:27.661669 (0006.57 ms) xid:cmd f168e953 > ffffffff S=6 s=4 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 04 00
00:04:27.668240 (0006.57 ms) xid:cmd f168e953 > ffffffff S=6 s=5 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 05 00
00:04:27.674762 (0006.52 ms) xid:cmd f168e953 > ffffffff S=6 s=* driver_s320 hint=c404 [ Computer LAN Access IrCOMM ] (28)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 ff 00 c4 04
    00 64 72 69 76 65 72 5f 73 33 32 30
00:04:27.681333 (0006.57 ms) xid:cmd f168e953 > ffffffff S=6 s=0 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 00 00
00:04:27.687904 (0006.57 ms) xid:cmd f168e953 > ffffffff S=6 s=1 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 01 00
00:04:27.806010 (0118.11 ms) xid:cmd f168e953 > ffffffff S=6 s=0 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 00 00
00:04:28.133157 (0327.15 ms) rr:cmd < ca=f4 pf=1 nr=5 (2)
    f5 b1
00:04:28.133402 (0000.25 ms) i:rsp > ca=f4 pf=0 nr=0 ns=5 LM slsap=11 dlsap=11 TTP credits=1
    IrCOMM Data Rate=9600 Data Format=13 Flow Control=00 DTEline State=0c (21)
    f4 0a 11 11 01 0f 10 04 00 00 25 80 11 01 13 12
    01 00 20 01 0c
00:04:28.134314 (0000.91 ms) i:rsp > ca=f4 pf=0 nr=0 ns=6 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 0c 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 00
00:04:28.135557 (0001.24 ms) i:rsp > ca=f4 pf=0 nr=0 ns=7 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 0e 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 01
00:04:28.136298 (0000.74 ms) xid:cmd f168e953 > ffffffff S=6 s=1 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 01 00
00:04:28.136645 (0000.35 ms) i:rsp > ca=f4 pf=0 nr=0 ns=0 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 00 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 02
00:04:28.136912 (0000.27 ms) xid:cmd f168e953 > ffffffff S=6 s=2 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 02 00
00:04:28.137413 (0000.50 ms) xid:cmd f168e953 > ffffffff S=6 s=3 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 03 00
00:04:28.137738 (0000.32 ms) i:rsp > ca=f4 pf=0 nr=0 ns=1 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 02 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 03
00:04:28.138832 (0001.09 ms) i:rsp > ca=f4 pf=0 nr=0 ns=2 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 04 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 04
00:04:28.139898 (0001.07 ms) i:rsp > ca=f4 pf=1 nr=0 ns=3 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 16 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 05
00:04:28.141216 (0001.32 ms) rr:cmd < ca=f4 pf=1 nr=7 (2)
    f5 f1
00:04:28.141370 (0000.15 ms) i:rsp > ca=f4 pf=0 nr=0 ns=7 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 0e 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 01
00:04:28.142453 (0001.08 ms) i:rsp > ca=f4 pf=0 nr=0 ns=0 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 00 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 02
00:04:28.143541 (0001.09 ms) i:rsp > ca=f4 pf=0 nr=0 ns=1 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 02 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 03
00:04:28.144629 (0001.09 ms) i:rsp > ca=f4 pf=0 nr=0 ns=2 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 04 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 04
00:04:28.145765 (0001.14 ms) i:rsp > ca=f4 pf=1 nr=0 ns=3 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 16 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 05
00:04:28.147157 (0001.39 ms) rr:cmd < ca=f4 pf=1 nr=0 (2)
    f5 11
00:04:28.147322 (0000.17 ms) i:rsp > ca=f4 pf=0 nr=0 ns=0 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 00 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 02
00:04:28.148405 (0001.08 ms) i:rsp > ca=f4 pf=0 nr=0 ns=1 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 02 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 03
00:04:28.149498 (0001.09 ms) i:rsp > ca=f4 pf=0 nr=0 ns=2 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 04 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 04
00:04:28.150581 (0001.08 ms) i:rsp > ca=f4 pf=1 nr=0 ns=3 LM slsap=11 dlsap=11 TTP credits=0 IrCOMM (36)
    f4 16 11 11 00 00 ff ff ff ff ff ff ff ff ff ff
    ff ff c0 ff 3f 01 53 e9 68 f1 ff ff ff ff 01 05

8. In between the board 1 sends few XID commands with changed HW address.
00:04:28.165952 (0015.37 ms) xid:cmd f168e953 > ffffffff S=6 s=4 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 04 00
00:04:28.255925 (0089.97 ms) xid:cmd f168e953 > ffffffff S=6 s=5 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 05 00
00:04:28.345898 (0089.97 ms) xid:cmd f168e953 > ffffffff S=6 s=* driver_s320 hint=c404 [ Computer LAN Access IrCOMM ] (28)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 ff 00 c4 04
    00 64 72 69 76 65 72 5f 73 33 32 30
00:04:30.816069 (2470.17 ms) xid:cmd f168e953 > ffffffff S=6 s=0 (14)
    ff 3f 01 53 e9 68 f1 ff ff ff ff 01 00 00

9. Then few logs of no activity on the link are received:
IrLAP, no activity on link!
IrLAP, no activity on link!
IrLAP, no activity on link!
IrLAP, no activity on link!

10. The board 1 again sends XID commands with *original* HW address. Board 2 also sends the XID commands
11. XID response is sent by both the boards to each other. Now, the hint field is not c404 but 4400. hint becomes c404 when we run irattach /dev/ircomm0. Before that it is 4400 (by default)
==================
00:04:58.208341 (0001.47 ms) xid:rsp f41be1cd < 0c4619da S=6 s=3 driver_s310 hint=4400 [ Computer LAN Access ] (27)
    fe bf 01 da 19 46 0c cd e1 1b f4 01 03 00 44 00
    64 72 69 76 65 72 5f 73 33 31 30
00:04:58.306869 (0098.53 ms) xid:cmd f41be1cd > ffffffff S=6 s=4 (14)
    ff 3f 01 cd e1 1b f4 ff ff ff ff 01 04 00
00:04:58.406874 (0100.00 ms) xid:cmd f41be1cd > ffffffff S=6 s=5 (14)
    ff 3f 01 cd e1 1b f4 ff ff ff ff 01 05 00
00:04:58.506880 (0100.01 ms) xid:cmd f41be1cd > ffffffff S=6 s=* driver_s320 hint=4400 [ Computer LAN Access ] (27)
    ff 3f 01 cd e1 1b f4 ff ff ff ff 01 ff 00 44 00
    64 72 69 76 65 72 5f 73 33 32 30
00:04:58.744384 (0237.50 ms) xid:cmd ffffffff < 0c4619da S=6 s=0 (14)
    ff 3f 01 da 19 46 0c ff ff ff ff 01 00 00
00:04:58.844277 (0099.89 ms) xid:cmd ffffffff < 0c4619da S=6 s=1 (14)
    ff 3f 01 da 19 46 0c ff ff ff ff 01 01 00
00:04:58.944277 (0100.00 ms) xid:cmd ffffffff < 0c4619da S=6 s=2 (14)
    ff 3f 01 da 19 46 0c ff ff ff ff 01 02 00
00:04:58.944485 (0000.21 ms) xid:rsp f41be1cd > 0c4619da S=6 s=2 driver_s320 hint=4400 [ Computer LAN Access ] (27)
    fe bf 01 cd e1 1b f4 da 19 46 0c 01 02 00 44 00
    64 72 69 76 65 72 5f 73 33 32 30
==================
12. cat /proc/net/irda/discovery shows the following output.
==================
root@driver_s320:~# cat /proc/net/irda/discovery
IrLMP: Discovery log:

nickname: driver_s310, hint: 0x4400, saddr: 0xf41be1cd, daddr: 0x0c4619da
==================
13. The above XID CMD/RSP sequence goes on and on.

I shall be very much thankful for any support

~Amit Virdi

On 4/13/2011 12:10 PM, Amit Virdi wrote:
quoted
Hi All,

For the past few days I've been trying to test a driver that I've written for DICE Fast IrDA controller. As per my requirements, I need to use IrCOMM as the upper layer.

I'm using the same kernel image on the both the boards. When I run irattach on either of the boards I can see discovery protocol being initiated and completing successfully (cat /proc/net/irda/discovery giving output with other ends's device's MAC address as the daddr) but I'm struggling to test the driver further.

I've observed that the discovery request/response sequence goes on for 5 minutes. After this, the discovery process stops. On the master side, I could see no IrLAP frame being sent/received and also the output of cat /proc/net/irda/discovery is NULL. However, on the slave side, the cat /proc/net/irda/discovery output shows the master side!!

If I run irattach on the slave side also, no DISCOVERY message is exchanged and then, the output of slave side also doesn't show anything.

Sometimes, I start getting log "IrLAP, no activity on link!" and then ircomm_close() API is called from within the stack.

If, I try to run getty on /dev/ircomm0, it does not work!

If I try to transfer data using
    echo "1234567890" > /dev/ircomm0
on the master side, and
    cat /dev/ircomm0
on the slave side, I can see SNRM command, UA response, RR command, IrLMP connect/disconnect etc. However, the data transfer actually didn't happen. I cannot see the string "1234567890" on the slave side.

Please suggest what I'm missing/doing wrong. I need to transfer data from one device to another to complete the testing. I shall be very much thankful for suggestions/advice.

Thanks n Regards
Amit Virdi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help