FX30 3G: broken pipe error when running fw-upgrade

After update the firmware, I cannot run further updates or run modem commands like “cm info”. We believe the first update was with a partial image, so we would like to overcome the error message or reset to the original firmware and try again.

  1. Coworker set up a FX30 and updated successfully, who then instructed me
  2. I started with a fresh FX30 3G (PN:1103214)
  3. followed instructions to set up the leaf environment in a Ubuntu 18.04 followed instructions to set up the leaf environment. We added minor steps to stay in Python 2.
  4. obtained firmware image, “.leaf/wp85-modem-image_17/9999999_9904559_SWI9X15Y_07.14.01.00_00_GENERIC_001.042_000.spk”; firmware updated successfully
  5. “fwupdate query” shows up-to-date firmware and bootloader but factory versions of legato, linux, and fx30 (see info at the end)
  6. “fwupdate download {any file}” returns

Error in download, cat: write error: Broken pipe

  1. Similar results after transferring the file and running it inside ssh. Similar results unpacking the spk file into cwe files and trying one individually.
  2. We notice the spk file we initially used does not contain as many cwe files as “.leaf/fx30-3g-image_1.0.1/9999999_9904559_SWI9X15Y_07.14.01.00_00_GENERIC_001.042_000-full.spk”, so maybe the missing updates are causing the issue
  3. The Windows FDT2 tool command:

fdt2.exe -d wpspk -fd firmware GenericFull.spk -force -log firmware

returns:

Firmware download failed - firmware and PRI version mismatch.

  1. I noticed “at!image?” showed the active FW image is deleted (slot 255) and a different version than PRI, so I deleted both using “at!image=0,0”, but similar results.

Here is my modem info:

at
OK

at!entercnd=“A710”
OK

at!image?
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
FW 1 EMPTY 0 0 0
FW 2 EMPTY 0 0 0
FW 3 EMPTY 0 0 0
Max FW images: 3
Active FW image is at slot 255
TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID
Max PRI images: 50
OK

at!pcinfo?
State: Online
LPM force flags - W_DISABLE:0, User:0, Temp:0, Volt:0, BIOS:0, GOBIIM:0
W_DISABLE: 0
Poweroff mode: 0
LPM Persistent: 0
OK

at!gstatus?
!GSTATUS:
Current Time: 2324 Temperature: 25
Bootup Time: 0 Mode: ONLINE
System mode: GSM PS state: Not attached
GSM band: Unknown
GSM channel: 65535
GMM (PS) state:DEREGISTERED PLMN SEARCH
MM (CS) state: IDLE NO IMSI
Serving Cell: 0 (No band )
RX level (dBm):0.0 LAC: 0000 (0)
GPRS State: GPRS IDLE Cell ID: 00000000 (0)
IMS Reg State: UNKNOWN IMS Mode: Not Support
IMS Srv State: UNKNOWN SMS,UNKNOWN VoIP
OK

fwupdate query
Firmware Version: SWI9X15Y_07.14.01.00 595652d jenkins 2018/10/26 08:34:29
Bootloader Version: SWI9X15Y_07.14.01.00 595652d jenkins 2018/10/26 08:48:35
Linux Version: 3.14.29ltsi-a00e464379_3f15cd39ad #2 PREEMPT Mon Feb 20 11:11:17 PST 2017
FX30 Version: R13.1.2.004

^Firmware and Bootloader are updated. Linux and FX30 are outdated.

legato version
16.10.1_f8947ec5fd286f5b9d2c25ebb9ad81a4

^Legato is outdated

I forgot “-f” in the windows tool. I corrected that typo and it seems to have worked! The Windows tool was able to perform the update, maybe since it didn’t use VirtualBox.
I used the “full” spk file to avoid getting stuck again.