Wireshark Dissector for Qualcomm MSM Interface (QMI) Protocol v0.2
Copyright (c) 2017 Daniele Palmas dnlplm@gmail.com
Based on:
Wireshark Dissector for Qualcomm MSM Interface (QMI) Protocol v0.1 Copyright (c) 2012 Ilya Voronin ivoronin@gmail.com https://gist.github.com/ivoronin/2641557
Code Aurora Forum's BSD/GPL licensed code: http://www.codeaurora.org/contribute/projects/gobi/
freedesktop.org libqmi https://www.freedesktop.org/wiki/Software/libqmi/
Clone libqmi repository
Generate the dissector with:
generate_lua.py <libqmi json directory path>
to create qmi_dissector_gen.lua
Script runs with python 3.x or 2.x. For python <3.4 install pathlib using pip install pathlib.
Once the dissector has been generated:
LINUX
Make sure to have usbmon support enabled
Find device in the lsusb output, e.g.:
$ lsusb ... Bus 003 Device 022: ID 1bc7:1201 Telit Wireless Solutions ...
Run wireshark:
$ wireshark -X lua_script:qmi_dissector_gen.lua
Collect log in the appropriate usbmon device (3 in the example) and appply qmi filter
WINDOWS
Make sure to have usbpcap installed
Find device in USBPcapCMD.exe output, e.g.:
C:\Program Files\USBPcap\USBPcaCMD.exe
...
2 \.\USBPcap4
\??\USB#ROOT_HUB20#4&244e1552&0#
Run wireshark:
"C:\Program Files\Wireshark\Wireshark.exe" -X lua_script:qmi_dissector_gen.lua
Collect log in the appropriate usbpcap device (4 in the example)
Daniele Palmas dnlplm@gmail.com
GPL V3