firmware update
Bjørn Mork
bjorn at mork.no
Mon Dec 21 02:58:14 PST 2015
Bjørn Mork <bjorn at mork.no> writes:
> I don't know how to properly filter usbsnoops, but I usually try to
> dedicate a bus for the device I want to monitor and then dump *only*
> that bus. This limits the noise in the dump to a few root hub events.
> In your case there were a large number of unrelated USB devices, and
> AFAICS very few (less than 100?) packets exchanged with the MC7304.
I should have experimented with this before, but here are some hints for
anyone interested in taking quick looks at massive USB dumps:
We are only interested in Sierra devices. Find the relevant USB
address(es) of those (a single modem can use more than one address if it
is reenumerated, like here):
bjorn at nemi:~$ tshark -Y usb.idVendor==0x1199 -nr /tmp/usbmon.log.pcap
2 0.000367 10.0 host USB GET DESCRIPTOR Response DEVICE
4218 31.322652 0.0 host USB GET DESCRIPTOR Response DEVICE
4234 31.414446 11.0 host USB GET DESCRIPTOR Response DEVICE
Then filter out only those packets:
bjorn at nemi:~$ tshark -Y 'usb.device_address==10 or usb.device_address==11' -r /tmp/usbmon.log.pcap -w /tmp/usbmon-swi.pcap
And voilá:
bjorn at nemi:~$ ls -lh /tmp/usbmon*
-rw------- 1 bjorn bjorn 6.5M Dec 21 11:33 /tmp/usbmon.log.pcap
-rw-r--r-- 1 bjorn bjorn 14K Dec 21 11:48 /tmp/usbmon-swi.pcap
The 6.5 MB dump of 42260 packets is reduced to a mere 14 k dump of 127
packets exchanged with the Sierra modem. That's more suitable for a
mailing list :)
You can now even post a complete overview of all packets, illustrating
the QMI dialogue ending up with a full stop at the QDL device (no bulk
out urbs submitted at all):
bjorn at nemi:~$ tshark -X lua_script:/usr/local/src/git/wireshark-qmi/qmi_dissector.lua -nr /tmp/usbmon-swi.pcap
1 0.000000000 host 10.0 USB GET DESCRIPTOR Request DEVICE
2 0.000367000 10.0 host USB GET DESCRIPTOR Response DEVICE
3 20.829048000 host 10.0 USB/QMI URB_CONTROL out, Control Request: Get Client ID
4 20.829630000 10.0 host USB URB_CONTROL out
5 20.839694000 10.7 host USB URB_INTERRUPT in
6 20.839702000 host 10.0 USB URB_CONTROL in
7 20.840051000 10.0 host USB/QMI URB_CONTROL in, Control Response: Get Client ID
8 20.840064000 host 10.7 USB URB_INTERRUPT in
9 20.840179000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
10 20.840506000 10.0 host USB URB_CONTROL out
11 20.847691000 10.7 host USB URB_INTERRUPT in
12 20.847699000 host 10.0 USB URB_CONTROL in
13 20.847942000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
14 20.847954000 host 10.7 USB URB_INTERRUPT in
15 20.848157000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
16 20.848503000 10.0 host USB URB_CONTROL out
17 20.855693000 10.7 host USB URB_INTERRUPT in
18 20.855701000 host 10.0 USB URB_CONTROL in
19 20.855940000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
20 20.855952000 host 10.7 USB URB_INTERRUPT in
21 20.856127000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
22 20.856503000 10.0 host USB URB_CONTROL out
23 20.863692000 10.7 host USB URB_INTERRUPT in
24 20.863700000 host 10.0 USB URB_CONTROL in
25 20.863941000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
26 20.863952000 host 10.7 USB URB_INTERRUPT in
27 20.864145000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: 0x5556
28 20.864504000 10.0 host USB URB_CONTROL out
29 20.891641000 10.7 host USB URB_INTERRUPT in
30 20.891651000 host 10.0 USB URB_CONTROL in
31 20.891944000 10.0 host USB/QMI URB_CONTROL in, DMS Response: 0x5556
32 20.891956000 host 10.7 USB URB_INTERRUPT in
33 20.892152000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Revision
34 20.892504000 10.0 host USB URB_CONTROL out
35 20.903691000 10.7 host USB URB_INTERRUPT in
36 20.903698000 host 10.0 USB URB_CONTROL in
37 20.904042000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Revision
38 20.904054000 host 10.7 USB URB_INTERRUPT in
39 20.904246000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
40 20.904627000 10.0 host USB URB_CONTROL out
41 20.911693000 10.7 host USB URB_INTERRUPT in
42 20.911700000 host 10.0 USB URB_CONTROL in
43 20.911912000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
44 20.911921000 host 10.7 USB URB_INTERRUPT in
45 20.912106000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
46 20.912504000 10.0 host USB URB_CONTROL out
47 20.919632000 10.7 host USB URB_INTERRUPT in
48 20.919639000 host 10.0 USB URB_CONTROL in
49 20.919908000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
50 20.919914000 host 10.7 USB URB_INTERRUPT in
51 20.920101000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
52 20.920385000 10.0 host USB URB_CONTROL out
53 20.927693000 10.7 host USB URB_INTERRUPT in
54 20.927700000 host 10.0 USB URB_CONTROL in
55 20.927907000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
56 20.927914000 host 10.7 USB URB_INTERRUPT in
57 20.929475000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
58 20.929877000 10.0 host USB URB_CONTROL out
59 20.939665000 10.7 host USB URB_INTERRUPT in
60 20.939672000 host 10.0 USB URB_CONTROL in
61 20.939904000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
62 20.939911000 host 10.7 USB URB_INTERRUPT in
63 20.940092000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
64 20.940378000 10.0 host USB URB_CONTROL out
65 20.947690000 10.7 host USB URB_INTERRUPT in
66 20.947697000 host 10.0 USB URB_CONTROL in
67 20.948019000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
68 20.948036000 host 10.7 USB URB_INTERRUPT in
69 20.948219000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
70 20.948503000 10.0 host USB URB_CONTROL out
71 20.955692000 10.7 host USB URB_INTERRUPT in
72 20.955699000 host 10.0 USB URB_CONTROL in
73 20.956035000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
74 20.956047000 host 10.7 USB URB_INTERRUPT in
75 20.956224000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: Get Device Model
76 20.956503000 10.0 host USB URB_CONTROL out
77 20.963652000 10.7 host USB URB_INTERRUPT in
78 20.963666000 host 10.0 USB URB_CONTROL in
79 20.963894000 10.0 host USB/QMI URB_CONTROL in, DMS Response: Get Device Model
80 20.963908000 host 10.7 USB URB_INTERRUPT in
81 20.965197000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: 0x47
82 20.965501000 10.0 host USB URB_CONTROL out
83 20.975690000 10.7 host USB URB_INTERRUPT in
84 20.975697000 host 10.0 USB URB_CONTROL in
85 20.976034000 10.0 host USB/QMI URB_CONTROL in, DMS Response: 0x47
86 20.976046000 host 10.7 USB URB_INTERRUPT in
87 20.976280000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: 0x48
88 20.976627000 10.0 host USB URB_CONTROL out
89 21.067655000 10.7 host USB URB_INTERRUPT in
90 21.067661000 host 10.0 USB URB_CONTROL in
91 21.067998000 10.0 host USB/QMI URB_CONTROL in, DMS Response: 0x48
92 21.068003000 host 10.7 USB URB_INTERRUPT in
93 21.068308000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: 0x2e
94 21.068625000 10.0 host USB URB_CONTROL out
95 21.075655000 10.7 host USB URB_INTERRUPT in
96 21.075662000 host 10.0 USB URB_CONTROL in
97 21.075938000 10.0 host USB/QMI URB_CONTROL in, DMS Response: 0x2e
98 21.075950000 host 10.7 USB URB_INTERRUPT in
99 21.076177000 host 10.0 USB/QMI URB_CONTROL out, DMS Request: 0x2e
100 21.076501000 10.0 host USB URB_CONTROL out
101 21.107693000 10.7 host USB URB_INTERRUPT in
102 21.107700000 host 10.0 USB URB_CONTROL in
103 21.108037000 10.0 host USB/QMI URB_CONTROL in, DMS Response: 0x2e
104 21.108049000 host 10.7 USB URB_INTERRUPT in
105 28.720945000 10.7 host USB URB_INTERRUPT in
106 28.844600000 10.9 host USB URB_INTERRUPT in
107 31.394437000 host 0.0 USB SET ADDRESS Request
108 31.414246000 host 11.0 USB GET DESCRIPTOR Request DEVICE
109 31.414446000 11.0 host USB GET DESCRIPTOR Response DEVICE
110 31.414471000 host 11.0 USB GET DESCRIPTOR Request CONFIGURATION
111 31.414696000 11.0 host USB GET DESCRIPTOR Response CONFIGURATION
112 31.414717000 host 11.0 USB GET DESCRIPTOR Request CONFIGURATION
113 31.414917000 11.0 host USB GET DESCRIPTOR Response CONFIGURATION
114 31.414929000 host 11.0 USB GET DESCRIPTOR Request STRING
115 31.415038000 11.0 host USB GET DESCRIPTOR Response STRING
116 31.415047000 host 11.0 USB GET DESCRIPTOR Request STRING
117 31.415169000 11.0 host USB GET DESCRIPTOR Response STRING
118 31.415190000 host 11.0 USB GET DESCRIPTOR Request STRING
119 31.415446000 11.0 host USB GET DESCRIPTOR Response STRING
120 31.415641000 host 11.0 USB SET CONFIGURATION Request
121 31.415757000 11.0 host USB SET CONFIGURATION Response
122 31.415830000 host 11.0 USB SET INTERFACE Request
123 31.416024000 11.0 host USB SET INTERFACE Response
124 31.525966000 host 11.0 USB URB_CONTROL out
125 31.526134000 11.0 host USB URB_CONTROL out
126 31.526148000 host 11.1 USB URB_BULK in
127 31.526151000 host 11.1 USB URB_BULK in
Bjørn
More information about the libqmi-devel
mailing list