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).
It is a nice post and you explained in a nice way thanks for sharing to us. Would you like to know more about the best apk apps? Here you can download vshare and get the latest updates about the apps.
I see that the prj.conf change doesn't have an effect. The bsd_os.c doesn't compile the correct code.
Using the precompiled at_client app I can get trace data.But with my own app, enabled CONFIG_BSD_LIBRARY_TRACE_ENABLED=y & compiled and flashed, generates only 1 byte.
Correction of step 2:nrfjprog -f NRF52 --program nRF9160_DK_board_controller_FW.hex --chiperase -r --verify
There are many tracer tools available. It allows users to track easily where their collectors go while in the field. It is available in iOS only. I am also using the tracing app for my organization Leather Chase. Different tracing collectors trace from the different nRF series but the trace collector app traces only from nRF91.