HL7802 won't boot on 4.5.4.0 and 4.4.6.0 but runs with 4.3.9.0

I recently updated my hl7802 to firmware 4.5.4.0 and things were looking fine for about two days, with multiple reboots and dev work.

Then for unknown reasons the modem stopped booting and continuously refused to do so. I first attempted to reflash 4.5.4.0 to no avail, then downgrading to 4.4.6.0 which also did not boot, then to 4.3.9.0 with which the modem appears to be running healthily.

Then after reflashing to 4.5.4.0 again the modem gets stuck again in the same situation.

I’m flashing using the sft tool for Linux.

Any ideas on what I can do to resolve this situation? Is there a way to clean up and get the modem in a more pristine state than just using the sft flash tool?

Below is the modem uart log output from the initial failure, starting from last successful boot.

Secured Boot ROM Console

Boot> 

U-Boot 2012.10 (Jul 22 2020 - 23:36:29)

Board: ALT1250 Ver: 0.32-TG-D0 (PMP CPU Speed 120 MHz)
DRAM:  2.5 MiB
Now running in RAM - U-Boot at: 902a4000
Boot mode 2
Flash Manufacturer/Device ID is: 0x20bb19
Enable QUAD mode
Flash: 32 MiB
*** Warning - Merge environment, using default environment

map import OK
In:    serial
Out:   serial
Err:   serial
Configuring Flash Write Protection (offset 0x1e00)
new_ce_val = 0x3a00f8f0
Hit '\r' or '\e' key to stop autoboot:  0 
Version: 2.0

Nothing to upgrade...
image part OK 
[initEcho] echo application startsinitGnssAppWithLogicalSerialPort lsid=35
eLC_app_entry
>Set Off Echo for at client 0 
-debug- got ATS0 

Init logs:
Jan 01 00:00:00.000 [D4]  [    0.98045]Starting SNTP client...
 Starting PM
Jan 01 00:00:00.000 [D4]  [    0.98168] Starting SM
Jan 01 00:00:00.000 [D4]  [    0.98356] Normal boot from u-boot
Jan 01 00:00:00.000 [D4]  [    0.98387] Cold boot
Jan 01 00:00:00.027 [D4decode_from_string: input string empty
decode_from_string: input string empty
decode_from_string: input string empty
]  [    0.125627] MCU present: 0
Jan 01 00:00:00.031 [D4]  [    0.129371] NVBACKUP automatic mode ON
Jan 01 00:00:00.078 [D4]  [    0.176707] NVBACKUP Static check OK
Jan 01 00:00:00.078 [D4]  [    0.176840] NVBACKUP Starting dynamic config files check
Jan 01 00:00:00.094 [D4]  [    0.192167] NVBACKUP dynamic files check OK
Jan 01 00:00:00.096 [D4]  [    0.194580] KCUS customization: no new version to apply
Jan 01 00:00:00.100 [D4]  [    0.198090] lwm2m FirmwareVersion is up to date
Jan 01 00:00:00.100 [D4]  [    0.198921] Setting UART timeout for: 4000msec

Jan 01 00:00:00.111 [D4]  [    0.209163] RAM start = 901fc108
Jan 01 00:00:00.111 [D4]  [    0.209216] heap start = 901fc108
Jan 01 00:00:00.111 [D4]  [    0.209233] Computed heap size=1064696
Jan 01 00:00:00.121 [D4]  [    0.219760] Calling lte driver with uart:N baudrate:921600 flow_ctrl:0
Jan 01 00:00:00.122 [D4]  [    0.220485] LTE driver init complete
Jan 01 00:00:00.122 [D4]  [    0.220526] irq_i2cDrv configured
[Jan 01 00:00:00.122] Line number[285] File ptr [0x807c7] param1[0x35d7f] param2[0x0] param3[0x0]
Jan 01 00:00:00.122 [D4]  [    0.220565] irq_i2cDrv configured
[Jan 01 00:00:00.122] Line number[285] File ptr [0x807c7] param1[0x35da3] param2[0x0] param3[0x0]
Jan 01 00:00:00.123 [D4]  [    0.221384] alt1250_usb_init()=-1
Jan 01 00:00:00.124 [D4]  [    0.222100] Calling main app init
Jan 01 00:00:00.124 [D4]  [    0.222725] Setup AT/PPP [B] & CLI/AT [A] & FW_LOG [N] & AT [N] & AT_2 [N] !
Jan 01 00:00:00.124 [D4]  [    0.222773] Setup TCP dump [N] & SFP logger [N] & LTE driver FW [N] & MUX A [N] & MUX B [N] & NMEA [N] & DATA [N]!
Jan 01 00:00:00.124 [D4]  [    0.222831] Calling createSerialSwitchApi() with switch id=4 OK !!!

Jan 01 00:00:00.124 [D4]  [    0.222853] create switch id=5 OK

Jan 01 00:00:00.124 [D4]  [    0.222874] switch id=6 not created - nmea port undefined

Jan 01 00:00:00.124 [D4]  [    0.222899] switch id=7 not created - data port undefined

Jan 01 00:00:00.124 [D4]  [    0.222924] switch id=13 not created - atSoloPort undefined

Jan 01 00:00:00.124 [D4]  [    0.222949] switch id=14 not created - atSoloPort2 undefined

Jan 01 00:00:00.125 [D4]  [    0.222986] Open UART-B base = 0xbf0a0000 cfg =0xbf020000 intrp=76
Jan 01 00:00:00.125 [D4]  [    0.223087] serialMngrOpen:656, device=B 0x902441e0
Jan 01 00:00:00.125 [D4]  [    0.223122] Setup UART B BUT don't connect to pin out
uart_flow_control_task is called HW FLOW is ON
Jan 01 00:00:00.129 [D4]  [    0.227498] hifc_register_uart_CBs was called
Jan 01 00:00:00.130 [D4]  [    0.228107] getDefaultBaudRate port 1: 921600

Jan 01 00:00:00.130 [D4]  [    0.228789] Setup UART B in Tx blocking ON SW FIFO mode
Jan 01 00:00:00.130 [D4]  [    0.228829] Setup rx_tx_interrupt_ for uart 1
Jan 01 00:00:00.130 [D4]  [    0.228865] Calling irq_moveInterruptToHW2() with uart id=1
Jan 01 00:00:00.130 [D4]  [    0.228904] Open UART-A base = 0xbf0a1000 cfg =0xbf021000 intrp=77
Jan 01 00:00:00.130 [D4]  [    0.228958] Setup rx_interrupt_only for uart 0
Jan 01 00:00:00.131 [D4]  [    0.229038] serialMngrOpen:656, device=A 0x902463b0
Jan 01 00:00:00.131 [D4]  [    0.229064] Setup UART 
Jan 01 00:00:00.137 [D4]  [    0.235200] getDefaultBaudRate port 0: 115200

Jan 01 00:00:01.292 [D4]  [    1.390022] lwip_stats ready
Jan 01 00:00:01.293 [D4]  [    1.391613] Calling i2s_test_app_entry

Jan 01 00:00:01.307 [D4]  [    1.404310] SWISERVER is starting...
Jan 01 00:00:01.509 [D4]  [    1.607340] Starting Watchdog timer
Jan 01 00:00:01.513 [D4]  [    1.611557] HIFC HOST_TO_MODEM GPIO is LOW
Jan 01 00:00:01.513 [D4]  [    1.611704] HIFC configured gpio HOST_TO_MODEM=61, MODEM_TO_HOST=17 mode=C
Jan 01 00:00:01.513 [D4]  [    1.611745] Cause of last reset: 0x0
Jan 01 00:00:01.515 [D4]  [    1.613122] CLI AT cmd buff len is 3092
Jan 01 00:00:01.571 [D4]  [    1.669618] LteDriver - init task ended
Jan 01 00:00:01.617 [D4]  [    1.715808] 1st AT cmd: AT%getcfg="pw_mode"
 - sent/rcv -> 0/0 Msec

Jan 01 00:00:04.654 [CRI] Fail to send At respond 
+CEREG: 2
Jan 01 00:00:04.657 [CRI] Fail to send At respond 
+CREG: 0
Jan 01 00:00:05.167 [CRI] Fail to send At respond 
+CEREG: 0
Jan 01 00:00:05.170 [CRI] Fail to send At respond 
+CREG: 0
Jan 01 00:00:05.180 [CRI] Fail to send At respond 
+CEREG: 2
Jan 01 00:00:05.183 [CRI] Fail to send At respond 
+CREG: 2


U-Boot 2012.10 (Jul 22 2020 - 23:36:29)

Board: ALT1250 Ver: 0.32-TG-D0 (PMP CPU Speed 120 MHz)
DRAM:  2.5 MiB
Now running in RAM - U-Boot at: 902a4000
Boot mode 2
Flash Manufacturer/Device ID is: 0x20bb19
Enable QUAD mode
Flash: 32 MiB
*** Warning - Merge environment, using default environment

map import OK
In:    serial
Out:   serial
Err:   serial
Configuring Flash Write Protection (offset 0x1e00)
Hit '\r' or '\e' key to stop autoboot:  0 
Version: 2.0

Nothing to upgrade...
Un-Protected 4 sectors
Un-Protected 4 sectors
Erasing Flash.......
Erased 4 sectors
Writing to Flash... done
Protected 4 sectors
Protected 4 sectors
ERROR: 00000008
ERROR: 00000008
do_halt...

Hi @arvid

What is the response of AT+SWITRACEMODE? for the previous version 4.3.9.0 and current version 4.4.6.0?
Debug Console is not enabled by default on 4.4.6.0 and 4.5.4.0 firmware.

Hi @Donald

Thanks for answering!

I’m running SWITRACEMODE RnD:

modem at AT+SWITRACEMODE?
atshell : AT+SWITRACEMODE?
atshell : RnD
atshell : OK

For version 4.4.6.0 I can no longer check since the hl7802 just blocks after the do_halt statement in the bootloader but I was running SWITRACEMODE RnD up until the time when the hl7802 stopped booting on 4.4.6.0.

To clarify, since I got stuck on 4.4.6.0 when the hl7802 application stopped booting I downgraded to 4.5.4.0 where it still wouldn’t boot, then to 4.3.9.0 which boots and runs.

Previously I made a failed attempt to upgrade using an XMODEM patch file. I picked the wrong fw though (hl7800 instead of 7802) and the download to the modem got stuck after maybe 10% download. Then I successfully upgraded to 4.5.4.0 using the standalone sft installer for Linux. Things were looking good for about 2 days until the current issues with getting stuck in bootloader started.

Hi @arvid

Sierra is aware of this issue.
Please contact your distributor or submit “Contact Us” on Sierrawireless.com for technical support.

Thank you @Donald, I will proceed by contacting the technical support.

@arvid

The do_halt is not conclusive as its not that uncommon, so making a statement like it is a known issue cannot be made. Yes talk to tech support to try and chase it down but given by far and away the majority of people (including myself with all of my units) are able to to upgrade to this version of firmware without issue could easily point to it being something external happening.

Have you done this across multiple units?

Regards

Matt

Hi @mlw and thanks for answering

Yes we have multiple units on the same hardware which are updated to 4.5.4.0 but only this one so far ended up in the state of not booting on 4.5.4.0.

For sure I have no idea what the actual issue is but given that the device runs reliably on 4.3.9.0 (according to the expectations of that version) my first assumption would be that the hardware interfaces are okay.

The log in my initial post is taken from the moment when firmware 4.5.4.0 stopped working after 2 days uptime and started not to boot any longer. What strikes me is that the bootloader appears to do some flashing operation, then stops booting the application firmware. When I power cycle the device it seemingly does the same thing.

Updating on this issue.

After running an XMODEM update through our application firmware from 4.3.9.0 to 4.5.4.0 it seems the modem boots and stays alive on 4.5.4.0. So the issue seems to be resolved at the moment.

I speculate that there was some garbage left from previous failed XMODEM update attempt which remained through the sft updates which caused the problem. This is of course just a guess based on the observed patterns of behavior.