I want to capture (and maybe dissect) the diag data obtained from Qualcomm Quectel modem (EC25) in linux. I have done this for mobile devices with Qualcomm chip-set in android environment using some opensource projects such as mobile-insight and SnoopSnitch. So I can dissect almost all the diag data obtained from air interface like RRC Signaling Message and ...
Now, I need an open source program in C++ to capture diag frames from Quectel chipset. I know that osmocom has similar project in this area. So what is the best open source c++ app to use? (If osmocom is the best, please guide me that project because I'm somewhat ambiguous in the osmocom document)
Define "the best". There can be many criteria: completeness of the implementation, protocol support, maintenance status and so on. What exactly do you mean?
Osmocom has https://git.osmocom.org/osmo-qcdiag/ in C. Unfortunately, this project has no wiki (https://osmocom.org/projects/osmo-qcdiag/wiki shows empty page), but there is a brief README .
Building osmo-qcdiag from source is rather typical. You would need to have libosmocore: either build it from source, or install from packages. Then do the following:
After running make, you'll find the
osmo-qcdiag-logbinary.osmo-qcdiag is not actively maintained and is not user friendly at all. It simply gets diag data from the modem, decodes known packets and sends them over UDP/GSMTAP. You can use Wireshark to dissect GSMTAP frames. That's it.
Personally I prefer using the following tools:
They both are user friendly and written in Python.