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