Netgear 340u

Bjørn Mork bjorn at mork.no
Wed Apr 30 03:30:38 PDT 2014


Noah Taber <noahtaber at gmail.com> writes:

> I'm still trying to figure out usbmon.  I can't get it to spit out readable
> information.
>
> I did have a minor break through though.  I used a pepwave router to remove
> the linux patch described on the netgear website.  To my understanding,
> this takes the 340u out of direct ip mode.  The qmi-network command now
> works correctly.  It even issues a Packet data handle.  I am able to start
> and stop a data connection using the qmi-network and the display on the
> 340u changes accordingly.

That's good.  Then we know there is nothing unexpected going on with the
modem.

> The problem is, is that I cannot get the device to retrieve an IP using
> dhclient.  I'm still dead in the water.

Still sounds like there is an issue with bulk data transmission.  The
serial port on USB interface #3 (usually mapped to /dev/ttyUSB2) does
still not respond to AT commands either?

> Hints?

All of this is of course much simpler with tshark or wireshark, which
will dissect the data for you.  But figuring out usbmon output is not
too difficult, and it's availiable on any Linux platform with USB no
matter how simple and embedded it is..


A basic usbmon example:

1) check which bus the modem is on and try to make sure it's the only
device on that bus (to avoid confusion):

bjorn at nemi:~$ lsusb
Bus 005 Device 011: ID 1199:68a2 Sierra Wireless, Inc. 
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 002: ID 8087:07dc Intel Corp. 
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 0a5c:2145 Broadcom Corp. BCM2045B (BDC-2.1) [Bluetooth Controller]
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

So my modem is on bus #5 and is the only device there. Good


2) load the module and mount debugfs (if not already done):

nemi:/home/bjorn# modprobe usbmon
nemi:/home/bjorn# mount -t debugfs none /sys/kernel/debug
mount: none already mounted or /sys/kernel/debug busy
mount: according to mtab, debug is already mounted on /sys/kernel/debug

Good


3) select the correct file to look at:

nemi:/home/bjorn# ls -l /sys/kernel/debug/usb/usbmon/
total 0
-rw------- 1 root root 0 Apr 30 11:10 0s
-rw------- 1 root root 0 Apr 30 11:10 0u
-rw------- 1 root root 0 Apr 30 11:10 1s
-rw------- 1 root root 0 Apr 30 11:10 1t
-rw------- 1 root root 0 Apr 30 11:10 1u
-rw------- 1 root root 0 Apr 30 11:10 2s
-rw------- 1 root root 0 Apr 30 11:10 2t
-rw------- 1 root root 0 Apr 30 11:10 2u
-rw------- 1 root root 0 Apr 30 11:10 3s
-rw------- 1 root root 0 Apr 30 11:10 3t
-rw------- 1 root root 0 Apr 30 11:10 3u
-rw------- 1 root root 0 Apr 30 11:10 4s
-rw------- 1 root root 0 Apr 30 11:10 4t
-rw------- 1 root root 0 Apr 30 11:10 4u
-rw------- 1 root root 0 Apr 30 11:10 5s
-rw------- 1 root root 0 Apr 30 11:10 5t
-rw------- 1 root root 0 Apr 30 11:10 5u
-rw------- 1 root root 0 Apr 30 11:10 6s
-rw------- 1 root root 0 Apr 30 11:10 6t
-rw------- 1 root root 0 Apr 30 11:10 6u
-rw------- 1 root root 0 Apr 30 11:10 7s
-rw------- 1 root root 0 Apr 30 11:10 7t
-rw------- 1 root root 0 Apr 30 11:10 7u
-rw------- 1 root root 0 Apr 30 11:10 8s
-rw------- 1 root root 0 Apr 30 11:10 8t
-rw------- 1 root root 0 Apr 30 11:10 8u


We were interested in bus #5. 't/u' signifies different API variants.
'u' is the newest and contains a superset of the 't' variant.  The 's'
files are just statistics dumps.

So we choose the /sys/kernel/debug/usb/usbmon/5u file, and start reading
from that in a terminal dedicated to this (you can of course dump to
file or netcat or whatever instead).  I like to use tee to both capture
the result an see it scrolling by:

nemi:/home/bjorn# cat /sys/kernel/debug/usb/usbmon/5u |tee /tmp/5u.log


4) start the network connection:

bjorn at nemi:~$ qmicli -d /dev/cdc-wdm0 --wds-start-network=telenor  --client-no-release-cid
[/dev/cdc-wdm0] Network started
        Packet data handle: '41223440'
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '5'



5) observe the results:


ffff880231416ac0 277634302 S Ci:5:001:0 s a3 00 0000 0001 0004 4 <
ffff880231416ac0 277634389 C Ci:5:001:0 0 4 = 00010000
ffff880231416ac0 277634456 S Ci:5:001:0 s a3 00 0000 0002 0004 4 <
ffff880231416ac0 277634496 C Ci:5:001:0 0 4 = 00010000
ffff880231416ac0 277634552 S Ci:5:001:0 s a3 00 0000 0003 0004 4 <
ffff880231416ac0 277634591 C Ci:5:001:0 0 4 = 00010000
ffff880231416ac0 277634646 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff880231416ac0 277634696 C Ci:5:001:0 0 4 = 07050000
ffff880231416ac0 277634753 S Ci:5:001:0 s a3 00 0000 0005 0004 4 <
ffff880231416ac0 277634793 C Ci:5:001:0 0 4 = 00010000
ffff880231416ac0 277634849 S Ci:5:001:0 s a3 00 0000 0006 0004 4 <
ffff880231416ac0 277634887 C Ci:5:001:0 0 4 = 00010000
ffff880230812f40 277634913 S Ii:5:001:1 -115:2048 4 <
ffff880231416ac0 277635029 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff880231416ac0 277635077 C Ci:5:001:0 0 4 = 07050000
ffff880231416ac0 277635129 S Co:5:001:0 s 23 01 0002 0004 0000 0
ffff880231416ac0 277635171 C Co:5:001:0 0 0
ffff880231416940 277666311 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff880231416940 277666699 C Ci:5:001:0 0 4 = 03050400
ffff880231416940 277682287 S Co:5:001:0 s 23 01 0012 0004 0000 0
ffff880231416940 277682354 C Co:5:001:0 0 0
ffff880231416940 277682417 S Ci:5:011:0 s 80 00 0000 0000 0002 2 <
ffff880231416940 277682954 C Ci:5:011:0 0 2 = 0100
ffff880216087e80 277683408 S Ii:5:011:5 -115:16 64 <
ffff8800a87b1940 277684334 S Co:5:011:0 s 21 00 0000 0008 0010 16 = 010f0000 00000001 22000400 01010001
ffff8800a87b1940 277686627 C Co:5:011:0 0 16 >
ffff880216087e80 277689734 C Ii:5:011:5 0:16 8 = a1010000 08000000
ffff8800831f5280 277689755 S Ci:5:011:0 s a1 01 0000 0008 1000 4096 <
ffff880216087e80 277689779 S Ii:5:011:5 -115:16 64 <
ffff8800831f5280 277690936 C Ci:5:011:0 0 24 = 01170080 00000101 22000c00 02040000 00000001 02000105
ffff8800a87b1940 277691585 S Co:5:011:0 s 21 00 0000 0008 0017 23 = 01160000 01050001 0020000a 00140700 74656c65 6e6f72
ffff8800a87b1940 277692355 C Co:5:011:0 0 23 >
ffff880216087e80 278043798 C Ii:5:011:5 0:16 8 = a1010000 08000000
ffff8800831f5280 278043824 S Ci:5:011:0 s a1 01 0000 0008 1000 4096 <
ffff880216087e80 278043854 S Ii:5:011:5 -115:16 64 <
ffff8800831f5280 278044315 C Ci:5:011:0 0 27 = 011a0080 01050201 0020000e 00020400 00000000 01040010 057502
ffff880216087e80 278047341 C Ii:5:011:5 -2:16 0
ffff8802314164c0 280694523 S Co:5:001:0 s 23 03 0002 0004 0000 0
ffff8802314164c0 280694612 C Co:5:001:0 0 0
ffff880230812f40 280710439 C Ii:5:001:1 -2:2048 0


6) run the dhcp client

nemi:/home/bjorn# dhclient -d -4 wwan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wwan0/c6:b0:7b:58:94:9d
Sending on   LPF/wwan0/c6:b0:7b:58:94:9d
Sending on   Socket/fallback
DHCPDISCOVER on wwan0 to 255.255.255.255 port 67 interval 8
DHCPREQUEST on wwan0 to 255.255.255.255 port 67
DHCPOFFER from 176.75.154.234
DHCPACK from 176.75.154.234
bound to 176.75.154.233 -- renewal in 3413 seconds.


7) observe the results


ffff880216053ac0 338734248 S Ci:5:001:0 s a3 00 0000 0001 0004 4 <
ffff880216053ac0 338734672 C Ci:5:001:0 0 4 = 00010000
ffff880216053ac0 338735384 S Ci:5:001:0 s a3 00 0000 0002 0004 4 <
ffff880216053ac0 338736267 C Ci:5:001:0 0 4 = 00010000
ffff880216053ac0 338736951 S Ci:5:001:0 s a3 00 0000 0003 0004 4 <
ffff880216053ac0 338737091 C Ci:5:001:0 0 4 = 00010000
ffff880216053ac0 338737228 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff880216053ac0 338737663 C Ci:5:001:0 0 4 = 07050000
ffff880216053ac0 338737800 S Ci:5:001:0 s a3 00 0000 0005 0004 4 <
ffff880216053ac0 338737932 C Ci:5:001:0 0 4 = 00010000
ffff880216053ac0 338738059 S Ci:5:001:0 s a3 00 0000 0006 0004 4 <
ffff880216053ac0 338738227 C Ci:5:001:0 0 4 = 00010000
ffff880230812f40 338738432 S Ii:5:001:1 -115:2048 4 <
ffff880216053ac0 338738742 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff880216053ac0 338738866 C Ci:5:001:0 0 4 = 07050000
ffff880216053ac0 338738986 S Co:5:001:0 s 23 01 0002 0004 0000 0
ffff880216053ac0 338739110 C Co:5:001:0 0 0
ffff88008319ec40 338770290 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff88008319ec40 338770431 C Ci:5:001:0 0 4 = 03050400
ffff880216053ac0 338786288 S Co:5:001:0 s 23 01 0012 0004 0000 0
ffff880216053ac0 338786364 C Co:5:001:0 0 0
ffff880216053ac0 338786434 S Ci:5:011:0 s 80 00 0000 0000 0002 2 <
ffff880216053ac0 338786938 C Ci:5:011:0 0 2 = 0100
ffff880216053ac0 338787573 S Bi:5:011:6 -115 1514 <
ffff8800a862ac40 338787889 S Bi:5:011:6 -115 1514 <
ffff88022f81c280 338787907 S Bi:5:011:6 -115 1514 <
ffff8800a862a580 338787924 S Bi:5:011:6 -115 1514 <
ffff88022f0537c0 338787941 S Bi:5:011:6 -115 1514 <
ffff88021edfca00 338787958 S Bi:5:011:6 -115 1514 <
ffff88021edfc100 338787975 S Bi:5:011:6 -115 1514 <
ffff8802317c6700 338787991 S Bi:5:011:6 -115 1514 <
ffff88022f37ee80 338788009 S Bi:5:011:6 -115 1514 <
ffff88022f37ef40 338788025 S Bi:5:011:6 -115 1514 <
ffff880229ec6580 338788045 S Bi:5:011:6 -115 1514 <
ffff880229ec6040 338788072 S Bi:5:011:6 -115 1514 <
ffff8802160537c0 338788095 S Bi:5:011:6 -115 1514 <
ffff880216053880 338788111 S Bi:5:011:6 -115 1514 <
ffff880216053f40 338788135 S Bi:5:011:6 -115 1514 <
ffff880216053100 338788234 S Bi:5:011:6 -115 1514 <
ffff880216053580 338788251 S Bi:5:011:6 -115 1514 <
ffff880216053400 338788268 S Bi:5:011:6 -115 1514 <
ffff880216053e80 338788284 S Bi:5:011:6 -115 1514 <
ffff88021ef8d700 338788300 S Bi:5:011:6 -115 1514 <
ffff8801c0094280 338788320 S Bi:5:011:6 -115 1514 <
ffff8801f6f33280 338788337 S Bi:5:011:6 -115 1514 <
ffff88021ef8dc40 338788354 S Bi:5:011:6 -115 1514 <
ffff88006784d940 338788371 S Bi:5:011:6 -115 1514 <
ffff88021607f880 338788387 S Bi:5:011:6 -115 1514 <
ffff88021607f100 338788404 S Bi:5:011:6 -115 1514 <
ffff88021607f4c0 338788420 S Bi:5:011:6 -115 1514 <
ffff880216053940 338788437 S Bi:5:011:6 -115 1514 <
ffff88022f81c7c0 338788460 S Bi:5:011:6 -115 1514 <
ffff88022f81c640 338788476 S Bi:5:011:6 -115 1514 <
ffff88021607fdc0 338788496 S Bi:5:011:6 -115 1514 <
ffff8800a84d6280 338788513 S Bi:5:011:6 -115 1514 <
ffff8800a8555280 338788529 S Bi:5:011:6 -115 1514 <
ffff88021ef93100 338788547 S Bi:5:011:6 -115 1514 <
ffff8801f6f33d00 338788563 S Bi:5:011:6 -115 1514 <
ffff880231256ac0 338788580 S Bi:5:011:6 -115 1514 <
ffff8800a866e640 338788597 S Bi:5:011:6 -115 1514 <
ffff8800830bbc40 338788613 S Bi:5:011:6 -115 1514 <
ffff8801f63cb040 338788642 S Bi:5:011:6 -115 1514 <
ffff8801f63cbc40 338788659 S Bi:5:011:6 -115 1514 <
ffff8800a862a340 338788686 S Bi:5:011:6 -115 1514 <
ffff8801f6f33700 338788703 S Bi:5:011:6 -115 1514 <
ffff8801fd363400 338788719 S Bi:5:011:6 -115 1514 <
ffff8800831f5100 338788735 S Bi:5:011:6 -115 1514 <
ffff8800a862ad00 338788751 S Bi:5:011:6 -115 1514 <
ffff8800a862ab80 338788773 S Bi:5:011:6 -115 1514 <
ffff8801fd22e880 338788790 S Bi:5:011:6 -115 1514 <
ffff8801f6343880 338788806 S Bi:5:011:6 -115 1514 <
ffff88008319ef40 338788823 S Bi:5:011:6 -115 1514 <
ffff8800830bbb80 338788840 S Bi:5:011:6 -115 1514 <
ffff8801f63cb400 338788865 S Bi:5:011:6 -115 1514 <
ffff8800a8555580 338788882 S Bi:5:011:6 -115 1514 <
ffff88020b294a00 338788899 S Bi:5:011:6 -115 1514 <
ffff8801f6343100 338788915 S Bi:5:011:6 -115 1514 <
ffff8801f6343400 338788931 S Bi:5:011:6 -115 1514 <
ffff8800a8555c40 338788948 S Bi:5:011:6 -115 1514 <
ffff88007fd89580 338788965 S Bi:5:011:6 -115 1514 <
ffff8800a85554c0 338788985 S Bi:5:011:6 -115 1514 <
ffff8802160ccf40 338789002 S Bi:5:011:6 -115 1514 <
ffff8802160cce80 338789019 S Bi:5:011:6 -115 1514 <
ffff8800a862a1c0 338794218 S Bo:5:011:4 -115 90 = 33330000 0016c6b0 7b58949d 86dd6000 00000024 00010000 00000000 00000000
ffff8800a862a1c0 338794545 C Bo:5:011:4 0 90 >
ffff8802072d4f40 338819689 S Bo:5:011:4 -115 342 = ffffffff ffffc6b0 7b58949d 08004510 01480000 00008011 39960000 0000ffff
ffff8802072d4f40 338820066 C Bo:5:011:4 0 342 >
ffff880216053ac0 338830335 C Bi:5:011:6 0 320 = c6b07b58 949d0250 f3000000 08004500 01320000 0000ff11 2450b04b 9aeab04b
ffff880216053ac0 338830363 S Bi:5:011:6 -115 1514 <
ffff8802072d4f40 338831167 S Bo:5:011:4 -115 342 = ffffffff ffffc6b0 7b58949d 08004510 01480000 00008011 39960000 0000ffff
ffff8802072d4f40 338831303 C Bo:5:011:4 0 342 >
ffff8800a862ac40 338833100 C Bi:5:011:6 0 320 = c6b07b58 949d0250 f3000000 08004500 01320001 0000ff11 244fb04b 9aeab04b
ffff8800a862ac40 338833126 S Bi:5:011:6 -115 1514 <
ffff880231256040 339046327 S Bo:5:011:4 -115 90 = 33330000 0016c6b0 7b58949d 86dd6000 00000024 00010000 00000000 00000000
ffff880231256040 339046447 C Bo:5:011:4 0 90 >
ffff880231256040 339054391 S Bo:5:011:4 -115 78 = 3333ff58 949dc6b0 7b58949d 86dd6000 00000018 3aff0000 00000000 00000000
ffff880231256040 339054845 C Bo:5:011:4 0 78 >
ffff880231256040 340054436 S Bo:5:011:4 -115 90 = 33330000 0016c6b0 7b58949d 86dd6000 00000024 0001fe80 00000000 0000c4b0
ffff88007fd894c0 340054600 S Bo:5:011:4 -115 70 = 33330000 0002c6b0 7b58949d 86dd6000 00000010 3afffe80 00000000 0000c4b0
ffff880231256040 340054632 C Bo:5:011:4 0 90 >
ffff88007fd894c0 340054683 C Bo:5:011:4 0 70 >
ffff88008319ec40 340330363 S Bo:5:011:4 -115 90 = 33330000 0016c6b0 7b58949d 86dd6000 00000024 0001fe80 00000000 0000c4b0
ffff88008319ec40 340330711 C Bo:5:011:4 0 90 >
ffff88022f81c280 342710597 C Bi:5:011:6 -104 0
ffff8800a862a580 342710622 C Bi:5:011:6 -104 0
ffff88022f0537c0 342710635 C Bi:5:011:6 -104 0
ffff88021edfca00 342710661 C Bi:5:011:6 -104 0
ffff88021edfc100 342710673 C Bi:5:011:6 -104 0
ffff8802317c6700 342710686 C Bi:5:011:6 -104 0
ffff88022f37ee80 342710698 C Bi:5:011:6 -104 0
ffff88022f37ef40 342710709 C Bi:5:011:6 -104 0
ffff880229ec6580 342710745 C Bi:5:011:6 -104 0
ffff880229ec6040 342710757 C Bi:5:011:6 -104 0
ffff8802160537c0 342710768 C Bi:5:011:6 -104 0
ffff880216053880 342710782 C Bi:5:011:6 -104 0
ffff880216053f40 342710794 C Bi:5:011:6 -104 0
ffff880216053100 342710805 C Bi:5:011:6 -104 0
ffff880216053580 342710818 C Bi:5:011:6 -104 0
ffff880216053400 342710830 C Bi:5:011:6 -104 0
ffff880216053e80 342710841 C Bi:5:011:6 -104 0
ffff88021ef8d700 342710855 C Bi:5:011:6 -104 0
ffff8801c0094280 342710866 C Bi:5:011:6 -104 0
ffff8801f6f33280 342710877 C Bi:5:011:6 -104 0
ffff88021ef8dc40 342710891 C Bi:5:011:6 -104 0
ffff88006784d940 342710902 C Bi:5:011:6 -104 0
ffff88021607f880 342710913 C Bi:5:011:6 -104 0
ffff88021607f100 342710926 C Bi:5:011:6 -104 0
ffff88021607f4c0 342710937 C Bi:5:011:6 -104 0
ffff880216053940 342710948 C Bi:5:011:6 -104 0
ffff88022f81c7c0 342710961 C Bi:5:011:6 -104 0
ffff88022f81c640 342710972 C Bi:5:011:6 -104 0
ffff88021607fdc0 342710983 C Bi:5:011:6 -104 0
ffff8800a84d6280 342710996 C Bi:5:011:6 -104 0
ffff8800a8555280 342711007 C Bi:5:011:6 -104 0
ffff88021ef93100 342711018 C Bi:5:011:6 -104 0
ffff8801f6f33d00 342711048 C Bi:5:011:6 -104 0
ffff880231256ac0 342711059 C Bi:5:011:6 -104 0
ffff8800a866e640 342711070 C Bi:5:011:6 -104 0
ffff8800830bbc40 342711083 C Bi:5:011:6 -104 0
ffff8801f63cb040 342711094 C Bi:5:011:6 -104 0
ffff8801f63cbc40 342711105 C Bi:5:011:6 -104 0
ffff8800a862a340 342711118 C Bi:5:011:6 -104 0
ffff8801f6f33700 342711129 C Bi:5:011:6 -104 0
ffff8801fd363400 342711139 C Bi:5:011:6 -104 0
ffff8800831f5100 342711152 C Bi:5:011:6 -104 0
ffff8800a862ad00 342711163 C Bi:5:011:6 -104 0
ffff8800a862ab80 342711174 C Bi:5:011:6 -104 0
ffff8801fd22e880 342711187 C Bi:5:011:6 -104 0
ffff8801f6343880 342711198 C Bi:5:011:6 -104 0
ffff88008319ef40 342711209 C Bi:5:011:6 -104 0
ffff88008319ef40 342711508 S Co:5:011:0 s 00 03 0001 0000 0000 0
ffff8800830bbb80 342711607 C Bi:5:011:6 -104 0
ffff8801f63cb400 342711626 C Bi:5:011:6 -104 0
ffff8800a8555580 342711638 C Bi:5:011:6 -104 0
ffff88020b294a00 342711650 C Bi:5:011:6 -104 0
ffff8801f6343100 342711661 C Bi:5:011:6 -104 0
ffff8801f6343400 342711673 C Bi:5:011:6 -104 0
ffff8800a8555c40 342711684 C Bi:5:011:6 -104 0
ffff88007fd89580 342711709 C Bi:5:011:6 -104 0
ffff8800a85554c0 342711721 C Bi:5:011:6 -104 0
ffff8802160ccf40 342711733 C Bi:5:011:6 -104 0
ffff8802160cce80 342711744 C Bi:5:011:6 -104 0
ffff880216053ac0 342711756 C Bi:5:011:6 -104 0
ffff8800a862ac40 342711768 C Bi:5:011:6 -104 0
ffff88008319ef40 342711955 C Co:5:011:0 0 0
ffff88008319ef40 342712175 S Co:5:001:0 s 23 03 0002 0004 0000 0
ffff88008319ef40 342712396 C Co:5:001:0 0 0
ffff880230812f40 342726244 C Ii:5:001:1 -2:2048 0
ffff8800a862ac40 344195040 S Ci:5:001:0 s a3 00 0000 0001 0004 4 <
ffff8800a862ac40 344195345 C Ci:5:001:0 0 4 = 00010000
ffff8800a862ac40 344195424 S Ci:5:001:0 s a3 00 0000 0002 0004 4 <
ffff8800a862ac40 344195504 C Ci:5:001:0 0 4 = 00010000
ffff8800a862ac40 344195571 S Ci:5:001:0 s a3 00 0000 0003 0004 4 <
ffff8800a862ac40 344195616 C Ci:5:001:0 0 4 = 00010000
ffff8800a862ac40 344195680 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff8800a862ac40 344195725 C Ci:5:001:0 0 4 = 07050000
ffff8800a862ac40 344195789 S Ci:5:001:0 s a3 00 0000 0005 0004 4 <
ffff8800a862ac40 344195838 C Ci:5:001:0 0 4 = 00010000
ffff8800a862ac40 344195902 S Ci:5:001:0 s a3 00 0000 0006 0004 4 <
ffff8800a862ac40 344195952 C Ci:5:001:0 0 4 = 00010000
ffff880230812f40 344195979 S Ii:5:001:1 -115:2048 4 <
ffff8800a862ac40 344196093 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff8800a862ac40 344196133 C Ci:5:001:0 0 4 = 07050000
ffff8800a862ac40 344196188 S Co:5:001:0 s 23 01 0002 0004 0000 0
ffff8800a862ac40 344196227 C Co:5:001:0 0 0
ffff8800a862ac40 344226279 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff8800a862ac40 344226408 C Ci:5:001:0 0 4 = 03050400
ffff8800a862ac40 344242261 S Co:5:001:0 s 23 01 0012 0004 0000 0
ffff8800a862ac40 344242319 C Co:5:001:0 0 0
ffff8800a862ac40 344242387 S Ci:5:011:0 s 80 00 0000 0000 0002 2 <
ffff8800a862ac40 344242900 C Ci:5:011:0 0 2 = 0300
ffff8800a862ac40 344242977 S Co:5:011:0 s 00 01 0001 0000 0000 0
ffff8800a862ac40 344243258 C Co:5:011:0 0 0
ffff88008319ef40 344243428 S Bo:5:011:4 -115 70 = 33330000 0002c6b0 7b58949d 86dd6000 00000010 3afffe80 00000000 0000c4b0
ffff8800a862ac40 344243655 S Bi:5:011:6 -115 1514 <
ffff880224818dc0 344243676 S Bi:5:011:6 -115 1514 <
ffff880216053ac0 344243696 S Bi:5:011:6 -115 1514 <
ffff8802160cce80 344243714 S Bi:5:011:6 -115 1514 <
ffff88008319ef40 344243757 C Bo:5:011:4 0 70 >
ffff88008319ef40 344243792 S Bi:5:011:6 -115 1514 <
ffff8802160ccf40 344243818 S Bi:5:011:6 -115 1514 <
ffff8800a85554c0 344243835 S Bi:5:011:6 -115 1514 <
ffff88007fd89580 344243853 S Bi:5:011:6 -115 1514 <
ffff8800a8555c40 344243870 S Bi:5:011:6 -115 1514 <
ffff8801f6343400 344243890 S Bi:5:011:6 -115 1514 <
ffff8801f6343100 344243907 S Bi:5:011:6 -115 1514 <
ffff88020b294a00 344243924 S Bi:5:011:6 -115 1514 <
ffff8800a8555580 344243947 S Bi:5:011:6 -115 1514 <
ffff8801f63cb400 344243965 S Bi:5:011:6 -115 1514 <
ffff8800830bbb80 344243992 S Bi:5:011:6 -115 1514 <
ffff8801f6343880 344244009 S Bi:5:011:6 -115 1514 <
ffff8801fd22e880 344244027 S Bi:5:011:6 -115 1514 <
ffff8800a862ab80 344244044 S Bi:5:011:6 -115 1514 <
ffff8800a862ad00 344244064 S Bi:5:011:6 -115 1514 <
ffff8800831f5100 344244081 S Bi:5:011:6 -115 1514 <
ffff8801fd363400 344244109 S Bi:5:011:6 -115 1514 <
ffff8801f6f33700 344244125 S Bi:5:011:6 -115 1514 <
ffff8800a862a340 344244140 S Bi:5:011:6 -115 1514 <
ffff8801f63cbc40 344244161 S Bi:5:011:6 -115 1514 <
ffff8801f63cb040 344244180 S Bi:5:011:6 -115 1514 <
ffff8800830bbc40 344244195 S Bi:5:011:6 -115 1514 <
ffff8800a866e640 344244214 S Bi:5:011:6 -115 1514 <
ffff880231256ac0 344244230 S Bi:5:011:6 -115 1514 <
ffff8801f6f33d00 344244246 S Bi:5:011:6 -115 1514 <
ffff88021ef93100 344244265 S Bi:5:011:6 -115 1514 <
ffff8800a8555280 344244280 S Bi:5:011:6 -115 1514 <
ffff8800a84d6280 344244295 S Bi:5:011:6 -115 1514 <
ffff88021607fdc0 344244310 S Bi:5:011:6 -115 1514 <
ffff88022f81c640 344244325 S Bi:5:011:6 -115 1514 <
ffff88022f81c7c0 344244347 S Bi:5:011:6 -115 1514 <
ffff880216053940 344244363 S Bi:5:011:6 -115 1514 <
ffff88021607f4c0 344244378 S Bi:5:011:6 -115 1514 <
ffff88021607f100 344244403 S Bi:5:011:6 -115 1514 <
ffff88021607f880 344244419 S Bi:5:011:6 -115 1514 <
ffff88006784d940 344244434 S Bi:5:011:6 -115 1514 <
ffff88021ef8dc40 344244453 S Bi:5:011:6 -115 1514 <
ffff8801f6f33280 344244469 S Bi:5:011:6 -115 1514 <
ffff8801c0094280 344244484 S Bi:5:011:6 -115 1514 <
ffff88021ef8d700 344244499 S Bi:5:011:6 -115 1514 <
ffff880216053e80 344244517 S Bi:5:011:6 -115 1514 <
ffff880216053400 344244532 S Bi:5:011:6 -115 1514 <
ffff880216053580 344244556 S Bi:5:011:6 -115 1514 <
ffff880216053100 344244571 S Bi:5:011:6 -115 1514 <
ffff880216053f40 344244586 S Bi:5:011:6 -115 1514 <
ffff880216053880 344244601 S Bi:5:011:6 -115 1514 <
ffff8802160537c0 344244617 S Bi:5:011:6 -115 1514 <
ffff880229ec6040 344244632 S Bi:5:011:6 -115 1514 <
ffff880229ec6580 344244647 S Bi:5:011:6 -115 1514 <
ffff88022f37ef40 344244663 S Bi:5:011:6 -115 1514 <
ffff88022f37ee80 344244688 S Bi:5:011:6 -115 1514 <
ffff8802317c6700 344244703 S Bi:5:011:6 -115 1514 <
ffff88021edfc100 344244723 S Bi:5:011:6 -115 1514 <
ffff88021edfca00 344244739 S Bi:5:011:6 -115 1514 <
ffff88022f0537c0 344244754 S Bi:5:011:6 -115 1514 <
ffff8800a862a580 344244769 S Bi:5:011:6 -115 1514 <
ffff8800a862ac40 346714712 C Bi:5:011:6 -104 0
ffff880224818dc0 346714749 C Bi:5:011:6 -104 0
ffff880216053ac0 346714768 C Bi:5:011:6 -104 0
ffff8802160cce80 346714785 C Bi:5:011:6 -104 0
ffff88008319ef40 346714802 C Bi:5:011:6 -104 0
ffff8802160ccf40 346714818 C Bi:5:011:6 -104 0
ffff8800a85554c0 346714834 C Bi:5:011:6 -104 0
ffff88007fd89580 346714850 C Bi:5:011:6 -104 0
ffff8800a8555c40 346714866 C Bi:5:011:6 -104 0
ffff8801f6343400 346714882 C Bi:5:011:6 -104 0
ffff8801f6343100 346714898 C Bi:5:011:6 -104 0
ffff88020b294a00 346714913 C Bi:5:011:6 -104 0
ffff8800a8555580 346714928 C Bi:5:011:6 -104 0
ffff8801f63cb400 346714945 C Bi:5:011:6 -104 0
ffff8800830bbb80 346714961 C Bi:5:011:6 -104 0
ffff8801f6343880 346714977 C Bi:5:011:6 -104 0
ffff8801fd22e880 346714994 C Bi:5:011:6 -104 0
ffff8800a862ab80 346715009 C Bi:5:011:6 -104 0
ffff8800a862ad00 346715025 C Bi:5:011:6 -104 0
ffff8800831f5100 346715041 C Bi:5:011:6 -104 0
ffff8801fd363400 346715052 C Bi:5:011:6 -104 0
ffff8801f6f33700 346715063 C Bi:5:011:6 -104 0
ffff8800a862a340 346715096 C Bi:5:011:6 -104 0
ffff8801f63cbc40 346715107 C Bi:5:011:6 -104 0
ffff8801f63cb040 346715118 C Bi:5:011:6 -104 0
ffff8800830bbc40 346715129 C Bi:5:011:6 -104 0
ffff8800a866e640 346715140 C Bi:5:011:6 -104 0
ffff880231256ac0 346715151 C Bi:5:011:6 -104 0
ffff8801f6f33d00 346715162 C Bi:5:011:6 -104 0
ffff88021ef93100 346715173 C Bi:5:011:6 -104 0
ffff8800a8555280 346715184 C Bi:5:011:6 -104 0
ffff8800a84d6280 346715195 C Bi:5:011:6 -104 0
ffff88021607fdc0 346715206 C Bi:5:011:6 -104 0
ffff88022f81c640 346715218 C Bi:5:011:6 -104 0
ffff88022f81c7c0 346715228 C Bi:5:011:6 -104 0
ffff880216053940 346715239 C Bi:5:011:6 -104 0
ffff88021607f4c0 346715250 C Bi:5:011:6 -104 0
ffff88021607f100 346715260 C Bi:5:011:6 -104 0
ffff88021607f880 346715271 C Bi:5:011:6 -104 0
ffff88006784d940 346715282 C Bi:5:011:6 -104 0
ffff88021ef8dc40 346715293 C Bi:5:011:6 -104 0
ffff8801f6f33280 346715309 C Bi:5:011:6 -104 0
ffff8801c0094280 346715320 C Bi:5:011:6 -104 0
ffff88021ef8d700 346715719 C Bi:5:011:6 -104 0
ffff880216053e80 346715732 C Bi:5:011:6 -104 0
ffff880216053400 346715743 C Bi:5:011:6 -104 0
ffff880216053580 346715754 C Bi:5:011:6 -104 0
ffff880216053100 346715764 C Bi:5:011:6 -104 0
ffff880216053f40 346715775 C Bi:5:011:6 -104 0
ffff880216053880 346715786 C Bi:5:011:6 -104 0
ffff8802160537c0 346715797 C Bi:5:011:6 -104 0
ffff880229ec6040 346715808 C Bi:5:011:6 -104 0
ffff880229ec6580 346715825 C Bi:5:011:6 -104 0
ffff88022f37ef40 346715837 C Bi:5:011:6 -104 0
ffff88022f37ee80 346715848 C Bi:5:011:6 -104 0
ffff8802317c6700 346715858 C Bi:5:011:6 -104 0
ffff88021edfc100 346715870 C Bi:5:011:6 -104 0
ffff88021edfca00 346715880 C Bi:5:011:6 -104 0
ffff88022f0537c0 346715891 C Bi:5:011:6 -104 0
ffff8800a862a580 346715902 C Bi:5:011:6 -104 0
ffff8800a862a580 346716106 S Co:5:011:0 s 00 03 0001 0000 0000 0
ffff8800a862a580 346716536 C Co:5:011:0 0 0
ffff8800a862a580 346717215 S Co:5:001:0 s 23 03 0002 0004 0000 0
ffff8800a862a580 346717262 C Co:5:001:0 0 0
ffff880230812f40 346730218 C Ii:5:001:1 -2:2048 0
ffff88022f0537c0 348202329 S Ci:5:001:0 s a3 00 0000 0001 0004 4 <
ffff88022f0537c0 348202412 C Ci:5:001:0 0 4 = 00010000
ffff88022f0537c0 348202491 S Ci:5:001:0 s a3 00 0000 0002 0004 4 <
ffff88022f0537c0 348202542 C Ci:5:001:0 0 4 = 00010000
ffff88022f0537c0 348202615 S Ci:5:001:0 s a3 00 0000 0003 0004 4 <
ffff88022f0537c0 348202665 C Ci:5:001:0 0 4 = 00010000
ffff88022f0537c0 348202737 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff88022f0537c0 348202797 C Ci:5:001:0 0 4 = 07050000
ffff88022f0537c0 348202872 S Ci:5:001:0 s a3 00 0000 0005 0004 4 <
ffff88022f0537c0 348202921 C Ci:5:001:0 0 4 = 00010000
ffff88022f0537c0 348202994 S Ci:5:001:0 s a3 00 0000 0006 0004 4 <
ffff88022f0537c0 348203072 C Ci:5:001:0 0 4 = 00010000
ffff880230812f40 348203119 S Ii:5:001:1 -115:2048 4 <
ffff88022f0537c0 348203189 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff88022f0537c0 348203235 C Ci:5:001:0 0 4 = 07050000
ffff88022f0537c0 348203297 S Co:5:001:0 s 23 01 0002 0004 0000 0
ffff88022f0537c0 348203347 C Co:5:001:0 0 0
ffff88022f0537c0 348234277 S Ci:5:001:0 s a3 00 0000 0004 0004 4 <
ffff88022f0537c0 348234435 C Ci:5:001:0 0 4 = 03050400
ffff88022f0537c0 348250190 S Co:5:001:0 s 23 01 0012 0004 0000 0
ffff88022f0537c0 348250255 C Co:5:001:0 0 0
ffff88022f0537c0 348250327 S Ci:5:011:0 s 80 00 0000 0000 0002 2 <
ffff88022f0537c0 348250802 C Ci:5:011:0 0 2 = 0300
ffff88022f0537c0 348251174 S Co:5:011:0 s 00 01 0001 0000 0000 0
ffff88022f0537c0 348251571 C Co:5:011:0 0 0
ffff8800a862a580 348251665 S Bo:5:011:4 -115 70 = 33330000 0002c6b0 7b58949d 86dd6000 00000010 3afffe80 00000000 0000c4b0
ffff88022f0537c0 348251695 S Bi:5:011:6 -115 1514 <
ffff88021edfca00 348251715 S Bi:5:011:6 -115 1514 <
ffff88021edfc100 348251734 S Bi:5:011:6 -115 1514 <
ffff8802317c6700 348251753 S Bi:5:011:6 -115 1514 <
ffff8800a862a580 348251795 C Bo:5:011:4 0 70 >
ffff8800a862a580 348251831 S Bi:5:011:6 -115 1514 <
ffff88022f37ee80 348251850 S Bi:5:011:6 -115 1514 <
ffff88022f37ef40 348251866 S Bi:5:011:6 -115 1514 <
ffff880229ec6580 348251887 S Bi:5:011:6 -115 1514 <
ffff880229ec6040 348251903 S Bi:5:011:6 -115 1514 <
ffff8802160537c0 348251918 S Bi:5:011:6 -115 1514 <
ffff880216053880 348251938 S Bi:5:011:6 -115 1514 <
ffff880216053f40 348251953 S Bi:5:011:6 -115 1514 <
ffff880216053100 348251968 S Bi:5:011:6 -115 1514 <
ffff880216053580 348251983 S Bi:5:011:6 -115 1514 <
ffff880216053400 348252020 S Bi:5:011:6 -115 1514 <
ffff880216053e80 348252040 S Bi:5:011:6 -115 1514 <
ffff88021ef8d700 348252055 S Bi:5:011:6 -115 1514 <
ffff8801c0094280 348252071 S Bi:5:011:6 -115 1514 <
ffff8801f6f33280 348252090 S Bi:5:011:6 -115 1514 <
ffff88021ef8dc40 348252105 S Bi:5:011:6 -115 1514 <
ffff88006784d940 348252120 S Bi:5:011:6 -115 1514 <
ffff88021607f880 348252136 S Bi:5:011:6 -115 1514 <
ffff88021607f100 348252151 S Bi:5:011:6 -115 1514 <
ffff88021607f4c0 348252166 S Bi:5:011:6 -115 1514 <
ffff880216053940 348252185 S Bi:5:011:6 -115 1514 <
ffff88022f81c7c0 348252201 S Bi:5:011:6 -115 1514 <
ffff88022f81c640 348252216 S Bi:5:011:6 -115 1514 <
ffff88021607fdc0 348252236 S Bi:5:011:6 -115 1514 <
ffff8800a84d6280 348252251 S Bi:5:011:6 -115 1514 <
ffff8800a8555280 348252266 S Bi:5:011:6 -115 1514 <
ffff88021ef93100 348252282 S Bi:5:011:6 -115 1514 <
ffff8801f6f33d00 348252304 S Bi:5:011:6 -115 1514 <
ffff880231256ac0 348252320 S Bi:5:011:6 -115 1514 <
ffff8800a866e640 348252335 S Bi:5:011:6 -115 1514 <
ffff8800830bbc40 348252354 S Bi:5:011:6 -115 1514 <
ffff8801f63cb040 348252370 S Bi:5:011:6 -115 1514 <
ffff8801f63cbc40 348252385 S Bi:5:011:6 -115 1514 <
ffff8800a862a340 348252404 S Bi:5:011:6 -115 1514 <
ffff8801f6f33700 348252420 S Bi:5:011:6 -115 1514 <
ffff8801fd363400 348252436 S Bi:5:011:6 -115 1514 <
ffff8800831f5100 348252456 S Bi:5:011:6 -115 1514 <
ffff8800a862ad00 348252472 S Bi:5:011:6 -115 1514 <
ffff8800a862ab80 348252487 S Bi:5:011:6 -115 1514 <
ffff8801fd22e880 348252507 S Bi:5:011:6 -115 1514 <
ffff8801f6343880 348252525 S Bi:5:011:6 -115 1514 <
ffff8800830bbb80 348252540 S Bi:5:011:6 -115 1514 <
ffff8801f63cb400 348252560 S Bi:5:011:6 -115 1514 <
ffff8800a8555580 348252575 S Bi:5:011:6 -115 1514 <
ffff88020b294a00 348252597 S Bi:5:011:6 -115 1514 <
ffff8801f6343100 348252613 S Bi:5:011:6 -115 1514 <
ffff8801f6343400 348252638 S Bi:5:011:6 -115 1514 <
ffff8800a8555c40 348252654 S Bi:5:011:6 -115 1514 <
ffff88007fd89580 348252669 S Bi:5:011:6 -115 1514 <
ffff8800a85554c0 348252688 S Bi:5:011:6 -115 1514 <
ffff8802160ccf40 348252706 S Bi:5:011:6 -115 1514 <
ffff88008319ef40 348252722 S Bi:5:011:6 -115 1514 <
ffff8802160cce80 348252740 S Bi:5:011:6 -115 1514 <
ffff880216053ac0 348252756 S Bi:5:011:6 -115 1514 <
ffff880224818dc0 348252772 S Bi:5:011:6 -115 1514 <
ffff8800a862ac40 348252790 S Bi:5:011:6 -115 1514 <
ffff88022f0537c0 350715023 C Bi:5:011:6 -104 0
ffff88021edfca00 350715077 C Bi:5:011:6 -104 0
ffff88021edfc100 350715095 C Bi:5:011:6 -104 0
ffff8802317c6700 350715113 C Bi:5:011:6 -104 0
ffff8800a862a580 350715126 C Bi:5:011:6 -104 0
ffff88022f37ee80 350715139 C Bi:5:011:6 -104 0
ffff88022f37ef40 350715151 C Bi:5:011:6 -104 0
ffff880229ec6580 350715167 C Bi:5:011:6 -104 0
ffff880229ec6040 350715179 C Bi:5:011:6 -104 0
ffff8802160537c0 350715190 C Bi:5:011:6 -104 0
ffff880216053880 350715201 C Bi:5:011:6 -104 0
ffff880216053f40 350715212 C Bi:5:011:6 -104 0
ffff880216053100 350715223 C Bi:5:011:6 -104 0
ffff880216053580 350715239 C Bi:5:011:6 -104 0
ffff880216053400 350715250 C Bi:5:011:6 -104 0
ffff880216053e80 350715261 C Bi:5:011:6 -104 0
ffff88021ef8d700 350715272 C Bi:5:011:6 -104 0
ffff8801c0094280 350715288 C Bi:5:011:6 -104 0
ffff8801f6f33280 350715299 C Bi:5:011:6 -104 0
ffff88021ef8dc40 350715311 C Bi:5:011:6 -104 0
ffff88006784d940 350715322 C Bi:5:011:6 -104 0
ffff88021607f880 350715334 C Bi:5:011:6 -104 0
ffff88021607f100 350715345 C Bi:5:011:6 -104 0
ffff88021607f4c0 350715356 C Bi:5:011:6 -104 0
ffff880216053940 350715367 C Bi:5:011:6 -104 0
ffff88022f81c7c0 350715379 C Bi:5:011:6 -104 0
ffff88022f81c640 350715390 C Bi:5:011:6 -104 0
ffff88021607fdc0 350715401 C Bi:5:011:6 -104 0
ffff8800a84d6280 350715412 C Bi:5:011:6 -104 0
ffff8800a8555280 350715424 C Bi:5:011:6 -104 0
ffff88021ef93100 350715435 C Bi:5:011:6 -104 0
ffff8801f6f33d00 350715446 C Bi:5:011:6 -104 0
ffff880231256ac0 350715457 C Bi:5:011:6 -104 0
ffff8800a866e640 350715469 C Bi:5:011:6 -104 0
ffff8800830bbc40 350715480 C Bi:5:011:6 -104 0
ffff8801f63cb040 350715493 C Bi:5:011:6 -104 0
ffff8801f63cbc40 350715504 C Bi:5:011:6 -104 0
ffff8800a862a340 350715516 C Bi:5:011:6 -104 0
ffff8801f6f33700 350715527 C Bi:5:011:6 -104 0
ffff8801fd363400 350716012 C Bi:5:011:6 -104 0
ffff8800831f5100 350716025 C Bi:5:011:6 -104 0
ffff8800a862ad00 350716037 C Bi:5:011:6 -104 0
ffff8800a862ab80 350716048 C Bi:5:011:6 -104 0
ffff8801fd22e880 350716059 C Bi:5:011:6 -104 0
ffff8801f6343880 350716070 C Bi:5:011:6 -104 0
ffff8800830bbb80 350716081 C Bi:5:011:6 -104 0
ffff8801f63cb400 350716092 C Bi:5:011:6 -104 0
ffff8800a8555580 350716104 C Bi:5:011:6 -104 0
ffff88020b294a00 350716115 C Bi:5:011:6 -104 0
ffff8801f6343100 350716126 C Bi:5:011:6 -104 0
ffff8801f6343400 350716137 C Bi:5:011:6 -104 0
ffff8800a8555c40 350716148 C Bi:5:011:6 -104 0
ffff88007fd89580 350716160 C Bi:5:011:6 -104 0
ffff8800a85554c0 350716171 C Bi:5:011:6 -104 0
ffff8802160ccf40 350716182 C Bi:5:011:6 -104 0
ffff88008319ef40 350716194 C Bi:5:011:6 -104 0
ffff8802160cce80 350716205 C Bi:5:011:6 -104 0
ffff880216053ac0 350716217 C Bi:5:011:6 -104 0
ffff880224818dc0 350716228 C Bi:5:011:6 -104 0
ffff8800a862ac40 350716240 C Bi:5:011:6 -104 0
ffff8800a862ac40 350716395 S Co:5:011:0 s 00 03 0001 0000 0000 0
ffff8800a862ac40 350716814 C Co:5:011:0 0 0
ffff8800a862ac40 350717217 S Co:5:001:0 s 23 03 0002 0004 0000 0
ffff8800a862ac40 350717266 C Co:5:001:0 0 0
ffff880230812f40 350730268 C Ii:5:001:1 -2:2048 0


That's all!

So what does all that mean/show us?  The output can look cryptic at
first, but it's actually not that complicated to figure out the
interesting parts.  The details are explained in the docs.

One easy way to reduce the number of lines which contain interesting
stuff is to note that the length varies.  Any line with buffer data will
be longer, and we are mostly interested in those lines.

The Ci/Co/Bi etc part is also worth noting.  This tells the transfer
type and direction using the obvious shorthand (C = control, B = bulk,
i = input etc). The rest of this field is addressing, and we can pretty
much just ignore it because we know we are talking to a single function
on a single device (unless you were unable to dedicate a bus for the test).

The S/C field in front of the type+address is also of some interest.
Each transfer will consist of one S (submit) and one C (callback) line.
In the last part you'll notice that usbnet submits a large number of Bi
buffers once we open the interface.

The number following the type+address is an error code.  You'll see that
it often is negative, indicating some error result.  This is expected,
and part of the USB system design.  You deduce a lot from the errno
macro names, e.g. from your

  /lib/modules/`uname -r`/build/include/uapi/asm-generic/errno.h

file (or any kernel source or whatever).  So you'll see that

 #define ECONNRESET      104     /* Connection reset by peer */
 #define EINPROGRESS     115     /* Operation now in progress */


Long story.  Let's look at a couple of examples from the above,
filtering out a few of the longer lines.  Sending the
'wds-start-network' QMI command, and receiving the reply to it:

ffff8800a87b1940 277691585 S Co:5:011:0 s 21 00 0000 0008 0017 23 = 01160000 01050001 0020000a 00140700 74656c65 6e6f72
ffff8800831f5280 278044315 C Ci:5:011:0 0 27 = 011a0080 01050201 0020000e 00020400 00000000 01040010 057502

The number in front of '=' is the data length everything after is the
start of the data buffer (which includes all of it here).  You don't
need to decode the QMI. A basic sanity check is to know that it will
always start with '01' followed by a length byte *excluding* the first
byte.  So we have 23 - 1  == 0x16 and 27 - 1 == 0x1a.


Moving on to the bulk data, we notice that there are quite of few
outgoing transfers starting with '3333', like this one:

ffff8800a862a1c0 338794218 S Bo:5:011:4 -115 90 = 33330000 0016c6b0 7b58949d 86dd6000 00000024 00010000 00000000 00000000

So if you know what an IPv6 ethernet multicast address looks like then
you'll be able to guess what this is: The DHCP client taking the
interface up triggered some MLD registrations, router solicits
etc. We'll ignore those.  We don't expect the modem to answer them
unless we initiated an IPv6 session.  But this line shows us that we are
transmitting proper ethernet frames.  The 3 first words are L2 dst and
src addres.  Then you have the ethertype (0x86dd for IPv6), followed by
an IPv6 packet (starts with '6').  We note that the data is too
truncated (true length is 90, but we only see the first 32 bytes) to
actually figure out the content of the IPv6 packet.  But we have more
than enough to make sense out of it.

So let's pick out the DHCP request and reply.  IPv4 packets will have
ethertype 0x0800, and the IP packet itself starts with '4'.  So these
are IPv4:

ffff8802072d4f40 338819689 S Bo:5:011:4 -115 342 = ffffffff ffffc6b0 7b58949d 08004510 01480000 00008011 39960000 0000ffff
ffff880216053ac0 338830335 C Bi:5:011:6 0 320 = c6b07b58 949d0250 f3000000 08004500 01320000 0000ff11 2450b04b 9aeab04b
ffff8802072d4f40 338831167 S Bo:5:011:4 -115 342 = ffffffff ffffc6b0 7b58949d 08004510 01480000 00008011 39960000 0000ffff
ffff8800a862ac40 338833100 C Bi:5:011:6 0 320 = c6b07b58 949d0250 f3000000 08004500 01320001 0000ff11 244fb04b 9aeab04b

We send two requests to the ethernet broadcast address and receive two
unicast responses from 02:50:f3:00:00:00.  These packets are also too
truncated to see the DHCP payload, but we do get the IPv4 source and
half of the IPv4 destination address at the very end:

'0000 0000ffff' => requests are sent from 0.0.0.0 to 255.255.x.x
'b04b 9aeab04b' => replies are sent from 176.75.154.234 to 176.75.x.x

which matches what we saw from the DHCP client.


This was the uninteresting 'when everything is OK' session.   But I hope
this example will help you figure out where things stop on the raspberry.
I assume there will be some error with the bulk transfers, or just no Bi
buffers at all, or something completely different.  Let's see.



Bjørn


More information about the libqmi-devel mailing list