Features - Debug port

General

The current Ublox' Application Development Guide for the R4 series describes in section 18-Debugging the AT command AT+ULOG which controls the output of the debug log.

Command

Response

Description

Command

Response

Description

AT+ULOG=2

OK

Set logging bitmasks for full logging
output.

AT+ULOG?

+ULOG: 0,("LTE",0x1F),("DS",0x1F),("LEG"
,0x1F)
OK

Check logging bitmask. 0x1F values
indicate logging output enabled. The
device is ready to take logs, but settings
are not persistent.

AT+ULOG=1

OK

Make persistent the present logging
bitmask value (optional step).

Currently, it isn't clear which effect this command has to the log output.

Debug port functionality only works with old m-center version. Under the following link you can download this version

Create trace log with m-center

  1. Start m-center with version 01.11.0

  2. Click on the button "Set port"

  3. Select the modem port ("Qualcomm HS-USB Modem 90B2")

  4. Connect to the modem via "Connect"

  5. Enable the Trace Port and click on the button "Set port"

  6. Select the debug port of the modem ("Qualcomm HS-USB MDM Diagnostics 90B2")

  7. Click on the "Start trace" and wait for the status "Trace active" and "Trace Log valid"

  8. After "Stop trace" the trace file will be persisted to the previous selected location. The content will be similar to the following:


mc-trace
... 2019/02/13 13:04:08:462 nb1_ml1_mcpm.c 397 NB1 MCPM req in state 5 action 10 at bw 0 local 0. Req pcc_bw is: 0. 2019/02/13 13:04:08:462 nb1_ml1_mcpm.c 1414 NB1 MCPM update called with cur_state 5 next-state 3 2019/02/13 13:04:08:462 mcpm.c 1798 MCPM_Process_Req: Start of request: 14, begin time = 0x4000000000 2019/02/13 13:04:08:462 mcpm.c 2554 MCPM_Process_Req: End of request: 14, end time = 0x4000000000, duration = 760 uSec 2019/02/13 13:04:08:462 a2_power.c 904 A2 power req from client=3[(0,1)=INT,(2,4,7,9)=L/W/TD/DO UL,(3,5,8,10)=L/W/TD/DO DL,(11)=APPS,(12,13)=A2PER,(14)=DL_INACT], req=1, timetick=0xd45a07b1 2019/02/13 13:04:08:462 a2_power.c 3243 Process A2 power req from client=3[(0,1)=INT,(2,4,7,9)=L/W/TD/DO UL,(3,5,8,10)=L/W/TD/DO DL,(11)=APPS,(12,13)=A2PER,(14)=DL_INACT], req=1, timetick=0xd45a0841 2019/02/13 13:04:08:462 nb1_ml1_dlm_cell_cfg.c 2919 DLM CELL CFG INIT params: (pci,earfcn) (263,6290) |opmode 0 and lte_ctrl_syms 3 2019/02/13 13:04:08:462 mcpm.c 1798 MCPM_Process_Req: Start of request: 33, begin time = 0x4000000000 2019/02/13 13:04:08:462 nb1_ml1_sleepmgr_stm.c 6695 Wakeup FW: Cell cfg request [@475154573] 2019/02/13 13:04:08:462 nb1_ml1_dlm_cell_cfg.c 1495 CELL_CFG: Triggered action, pending_confirmations:0x1, status=1, state=5 2019/02/13 13:04:08:462 nb1_ml1_dlm_stm.c 7521 [NB1_ML1_DLM_SM] NB1_ML1_DLM_IDLE_DRX_STATE (Exit Function) -> NB1_ML1_DLM_CELL_CONFIG_STATE 2019/02/13 13:04:08:462 nb1_ml1_sleepmgr_stm.c 8485 [NB1_ML1_SLEEPMGR_STM] SLEEP (Exit Function) -> ONLINE_WAKEUP 2019/02/13 13:04:08:462 nb1_ml1_dlm_stm.c 7508 [NB1_ML1_DLM_SM] NB1_ML1_DLM_IDLE_DRX_STATE -> NB1_ML1_DLM_CELL_CONFIG_STATE (Entry Function) 2019/02/13 13:04:08:462 nb1_ml1_sleepmgr_stm.c 8471 [NB1_ML1_SLEEPMGR_STM] SLEEP -> ONLINE_WAKEUP (Entry Function) 2019/02/13 13:04:08:462 mcpm.c 2554 MCPM_Process_Req: End of request: 33, end time = 0x4000000000, duration = 143 uSec 2019/02/13 13:04:08:462 nbfw_main.c 265 NB FW enabling tech 0 2019/02/13 13:04:08:462 a2_power.c 1858 A2 turned ON by client=3[(0,1)=INT,(2,4,7,9)=L/W/TD/DO UL,(3,5,8,10)=L/W/TD/DO DL,(11)=APPS,(12,13)=A2PER,(14)=DL_INACT], req_bmask=0x8, num_wakeups=6701, timetick=0xd45a30e8 2019/02/13 13:04:08:462 rflte_mc_rx_hw_ctl.c 2519 rflte_mc_rx_commit_ccs_events: Skipping Rx Script building only commit events 2019/02/13 13:04:08:463 nbfw_main.c 277 NB FW enable tech 0 completed 2019/02/13 13:04:08:463 nb1_ml1_dlm_cell_cfg.c 624 Populating the DC OFFSET table earfcn 6290 2019/02/13 13:04:08:463 nb1_ml1_common_dc_offset.c 591 DEBUG: Retrieving DC offset table for earfcn 6290 LNA State 0 EST1 i 14468536 q 42081648 | EST2 i 13996000 q 41471570 2019/02/13 13:04:08:463 nb1_ml1_common_dc_offset.c 591 DEBUG: Retrieving DC offset table for earfcn 6290 LNA State 1 EST1 i 21424264 q 31141668 | EST2 i 21533754 q 30228626 2019/02/13 13:04:08:463 nb1_ml1_common_dc_offset.c 591 DEBUG: Retrieving DC offset table for earfcn 6290 LNA State 2 EST1 i 22975744 q 30423624 | EST2 i 23101062 q 30977064 2019/02/13 13:04:08:463 nb1_ml1_common_dc_offset.c 591 DEBUG: Retrieving DC offset table for earfcn 6290 LNA State 3 EST1 i 0 q 0 | EST2 i 0 q 0 2019/02/13 13:04:08:463 nb1_ml1_common_dc_offset.c 591 DEBUG: Retrieving DC offset table for earfcn 6290 LNA State 4 EST1 i 0 q 0 | EST2 i 0 q 0 2019/02/13 13:04:08:463 nb1_ml1_common_dc_offset.c 591 DEBUG: Retrieving DC offset table for earfcn 6290 LNA State 5 EST1 i 0 q 0 | EST2 i 0 q 0 2019/02/13 13:04:08:463 nb1_ml1_dlm_cell_cfg.c 1495 CELL_CFG: Triggered action, pending_confirmations:0x4, status=1, state=5 2019/02/13 13:04:08:463 nb1_ml1_rfmgr_stm.c 1072 [NB1_ML1_RFMGR_STM] SLEEP (Exit Function) -> RX_TUNED 2019/02/13 13:04:08:463 nb1_ml1_rfmgr_stm.c 1058 [NB1_ML1_RFMGR_STM] SLEEP -> RX_TUNED (Entry Function) 2019/02/13 13:04:08:465 nb1_ml1_dlm_cell_cfg.c 1679 CFG APP CNF recieved, status=0, DC=0, state=5 2019/02/13 13:04:08:465 nb1_ml1_dlm_cell_cfg.c 676 Storing the DC OFFSET table earfcn 6290 2019/02/13 13:04:08:465 nb1_ml1_common_dc_offset.c 669 DEBUG: Storing DC offset table for earfcn 6290 LNA State 0 EST1 i 14468536 q 42081648 | EST2 i 13996000 q 41471570 2019/02/13 13:04:08:465 nb1_ml1_common_dc_offset.c 669 DEBUG: Storing DC offset table for earfcn 6290 LNA State 1 EST1 i 21424264 q 31141668 | EST2 i 21533754 q 30228626 2019/02/13 13:04:08:465 nb1_ml1_common_dc_offset.c 669 DEBUG: Storing DC offset table for earfcn 6290 LNA State 2 EST1 i 22975744 q 30423624 | EST2 i 23101062 q 30977064 2019/02/13 13:04:08:465 nb1_ml1_common_dc_offset.c 669 DEBUG: Storing DC offset table for earfcn 6290 LNA State 3 EST1 i 0 q 0 | EST2 i 0 q 0 2019/02/13 13:04:08:465 nb1_ml1_common_dc_offset.c 669 DEBUG: Storing DC offset table for earfcn 6290 LNA State 4 EST1 i 0 q 0 | EST2 i 0 q 0 2019/02/13 13:04:08:465 nb1_ml1_common_dc_offset.c 669 DEBUG: Storing DC offset table for earfcn 6290 LNA State 5 EST1 i 0 q 0 | EST2 i 0 q 0 2019/02/13 13:04:08:465 nb1_ml1_log.c 164 LOG_NB1FW_VALID_MASK hi=3ff, lo=1fff0fff 2019/02/13 13:04:08:465 nb1_ml1_common_timer.c 322 Starting timer with timer type: 12 timeout 1000 2019/02/13 13:04:08:465 nb1_ml1_dlm_cell_cfg.c 1495 CELL_CFG: Triggered action, pending_confirmations:0x0, status=2, state=4 2019/02/13 13:04:08:465 nb1_ml1_sleepmgr_stm.c 6594 sleepmgr_cell_cfg_req_cb: status:2, mode = 4 [@475154657] 2019/02/13 13:04:08:465 nb1_ml1_sleepmgr_stm.c 10880 Wakeup FW cnf : Received cell cfg cnf [@475154658] 2019/02/13 13:04:08:465 nb1_ml1_vstmr.c 678 starting VSTMR interrupts 2019/02/13 13:04:08:465 nb1_ml1_dlm_stm.c 7521 [NB1_ML1_DLM_SM] NB1_ML1_DLM_CELL_CONFIG_STATE (Exit Function) -> NB1_ML1_DLM_IDLE_DRX_STATE 2019/02/13 13:04:08:465 nb1_ml1_vstmr.c 701 ML1 VSTMR timing slammed to FW DL View, setting next sf_ind VSTMR interrupt for 6952, is_wakeup:1 2019/02/13 13:04:08:465 nb1_ml1_dlm_stm.c 3760 DLM STM: IDLE DRX State Entry 2019/02/13 13:04:08:465 nb1_ml1_dlm_stm.c 7508 [NB1_ML1_DLM_SM] NB1_ML1_DLM_CELL_CONFIG_STATE -> NB1_ML1_DLM_IDLE_DRX_STATE (Entry Function) 2019/02/13 13:04:08:465 nb1_ml1_sleepmgr_stm.c 8485 [NB1_ML1_SLEEPMGR_STM] ONLINE_WAKEUP (Exit Function) -> ONLINE_TIMING 2019/02/13 13:04:08:465 nb1_ml1_sleepmgr_stm.c 12446 sleep duration in sec 3 allowed drift in samples 0, allowed drift in msec 2 ...

Create a trace log without m-center

Currently, it isn't clear which command(s) triggers an output of the debug port. One way is to start the trace with m-center, close it while its running and to connect with an terminal client (e.g. Putty) to the debug port.

Maybe the raw output contains some control characters which can be used to detect for example the RRC status ... but this needs to be further evaluated.