Skip to content

Conversation

@tchebb
Copy link

@tchebb tchebb commented Sep 13, 2025

I believe this is one of the main features of QXDM, but there's very little open-source support for it. The only projects I'm aware of are qc_debug_monitor, which works well but doesn't support USB modems or the new Qshrink4 terse message format, and nano-dm, which I couldn't get to work at all because of many hardcoded chipset-specific command strings.

QCSuper seems to be the best-maintained open-source DIAG tool around, so including this feature seems natural. It does require a fair bit of new code, including 1) a custom printf implementation to recombine the format string and argument values exposed by the protocol, and 2) a parser for Qualcomm's Qshrink and Qshrink 4 database file formats, which contain out-of-band format strings for "terse" messages and can often be found in device GPL dumps.

The code's not quite ready to merge, but it's good enough to review. Here's a screenshot of what the output looks like for the command ./qcsuper.py --usb-modem 04e8:685d:1:2 --messages-live --qdb qdsp6m.qdb on a Galaxy S10e, with qdsp6m.qdb sourced from the phone's GPL source:
2025-09-13T12:52:13,798646721-04:00

@tchebb tchebb changed the title [RFC] Add new --messages-live mode, which prints MSG events [RFC] Add new --messages-live mode to print MSG events Sep 13, 2025
@tchebb tchebb changed the title [RFC] Add new --messages-live mode to print MSG events [RFC] Add --messages-live module to print MSG events Sep 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant