DiagNG is a general purpose client purpose for the diagnostic interface of Qualcomm Snapdragon basebands, present on a large part of Android phones and various USB modems.
It can be considered as a sequel for QCSuper, and also takes large inspiration from SCAT. Like these tools, it allows to capture 2G/3G/4G/5G air interface network traces and save them to the GSMTAP/PCAP format, so that you can visualize these in Wireshark.
It is an experimental, Linux-first, open-source, interoperable, brand-new way to connect to baseband USB diagnostic interfaces; whether for pedagogic or security research purposes.
It should eventually support other basebands such as Samsung Exynos processors, and why not other protocols such as AT commands.
Features:
• Connect a Linux raw SPI port.
• Connect a Linux raw USB interface.
• A sleek GTK 4/Adwaita-based UI.
• SPI and USB connections are safely connected to the Python UI through a privileged Rust daemon, using a Polkit/DBus-based interface to secure privileged actions, to ensure good integration with Flatpak.
• Wireshark plug-in management and automated installation for GSMTAP v3/5G RRC decoding (taken from SCAT).
• Gather phone-related information through ADB, with shortcuts to enable the QCDM USB interface easily.
• Import DLF or QMDL files in order to enable interoperability with other software.
• Support basic QCDM (Qualcomm diagnostic monitor) log registration.
• Support basic QCDM 2G/3G/4G/5G log conversion to GSMTAP/PCAP (without advanced features such as SIB decoding, reassembly).
• Flatpak packaging for good integration to the Linux desktop.