System Environment:
-
Host Hardware: OnLogic Helix 52X (HX521)
-
USB Controller: Renesas uPD720202 USB 3.0 Host Controller (PCI
0000:26:00.0) -
Modem: Sierra Wireless AirPrime EM7590 (Target Carrier: Odido / Generic Worldwide)
-
OS: Ubuntu 22.04.1
The very initial issue started when I was trying to connect to my mobile network provider (Odido in the Netherlands). The modem was not registering on the network or establishing a data connection properly with the default configuration.
Because I couldn’t connect I tried to flash the firmware (SWIX12C_03.01.02.00_GENERIC). When I tried using the Sierra flashing tools, it led to validation errors and the modem getting stuck in c081.
I started by trying to use the FDTL utility to flash the firmware. However, the tool immediately failed its hardware handshake, throwing this error: ‘Check model name failed, FDTL only support EM7590 or EM7595 or EM8695. Check image information failed. Exit download process.’ Modifying the FDTL source code to bypass this validation didn’t work.
Because FDTL failed, I switched to the modern Sierra MBPL SDK toolset (MBPL_SDK_R47_ENG4). I ran the firmware download utility, and it successfully connected and streamed the full .sop generic firmware payload to the card.
Right after the flash completed, the modem’s normal serial/AT ports completely disappeared. picocom could no longer open /dev/ttyUSB2 because the node was gone.
I checked lsusb and saw the modem was stuck in Qualcomm Download mode with Product ID 1199:c082, exposing only a single endpoint on /dev/ttyUSB0
I performed a full host cold-boot power cycle to force a hardware reset. After booting back up, the modem dropped to Product ID 1199:c081, which is where it is permanently looping right now.
How can I force it out of these states or successfully flash the firmware so that I can start connecting to the network?
