Trace Collector app collects UART traces from the nRF91, over serial port. User can collect traces with this tool and send the trace files(binary) to Nordic for parsing and processing. In addition to the log file of the Link Monitor( you can get it clicking ‘Open Log File in the bottom part of the window in the Link Monitor), this modem trace is really useful, especially to analyze communication between UE and eNB. In this blog, I introduce the way how to turn on the modem trace.
To use the "Trace Collector" there are some conditions to think through:
1. Have an app that has modem trace enabled (route modem data to second UART), add:
CONFIG_BSD_LIBRARY_TRACE_ENABLED=y in prj.conf and then build.
In this blog, I used at_client application built on my laptop with the option,
which is attached so that you can use this binary just for your simple test.*
2. Ensure proper board control (nRF52) to set up that second UART is connected to modem.
This board controller f/w can be downloaded here.
Please make sure SW5 to nRF52 before programming and switch back to nRF91 after flashing.
To program it, you can simply do it with below command in your console window.**
nrfjprog --program nRF9160_DK_board_controller_FW.hex --sectorerase -f nrf52 -r --verify
3. program the trace-enabled application binary to the DK.
4. Send AT%XMODEMTRACE=1,2 to trigger.
And then AT+CFUN=0 to the modem to make it remain that state after a power cycle.
This means once it’s done, you don’t have to set it again.
5. Get the board boot up (press reset to boot zephyr) and see if your application is working.
6. Run the Trace Collector app in the [Launch app] menu on the left-top side of the Link Monitor
and then set the device port.
(if it works correctly, you will see the size of the trace will be increasing as following.)
8. Once you captured what you intended,
you can stop and the log file will be shown when you push [Show capture in folder].
In short, when log analysis is required by Nordic, below information and files are essential to be analyzed.
Feel free to ask any questions if it doesn't work well on your side and I will check and update.
(*,** : the two files are attached with .zip format.)
[Updated on 16th of August] The attached file was updated complying with the latest version(Tag v1.0.0 and mfw 1.0.0).
Got it over UART. Are these traces of any use when debugging GPS?
Is this possible to get these traces on a custom board? Via the debug out or UART-to-USB?
Correction of step 2:nrfjprog -f NRF52 --program nRF9160_DK_board_controller_FW.hex --chiperase -r --verify