This article presents the steps I followed to upgrade the firmware of a Sierra Wireless WP8546 used in a mangOH Green board.
Reference material
Hardware configuration
The hardware configuration I’ll use to perform the update is based on following elements:
- a PC running Linux Mint 18.1 (a brand new installation)
- a mangOH Green board, with a WP8548, and GNSS and cellular antennas
- mangOH board is configured for USB power supply (see User Guide)
Software configuration
Install swiflash as described here.
Connection
Connect the board to the PC using the provided USB cable. On my PC, a dmesg command shows that the board is recognized:
[ 4276.098590] usb 2-1.7: new high-speed USB device number 10 using ehci-pci [ 4276.199239] usb 2-1.7: config 1 has an invalid interface number: 19 but max is 1 [ 4276.199244] usb 2-1.7: config 1 has an invalid interface number: 20 but max is 1 [ 4276.199246] usb 2-1.7: config 1 has an invalid interface number: 20 but max is 1 [ 4276.199248] usb 2-1.7: config 1 has no interface number 0 [ 4276.199250] usb 2-1.7: config 1 has no interface number 1 [ 4276.200235] usb 2-1.7: New USB device found, idVendor=1199, idProduct=68c0 [ 4276.200239] usb 2-1.7: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 4276.200242] usb 2-1.7: Product: WP8548-G [ 4276.200244] usb 2-1.7: Manufacturer: Sierra Wireless, Incorporated [ 4276.200246] usb 2-1.7: SerialNumber: 0123456789ABCDEF [ 4276.217522] cdc_ether 2-1.7:1.19 usb0: register 'cdc_ether' at usb-0000:00:1d.0-1.7, CDC Ethernet Device, 8a:c9:fb:5d:dc:ae [ 4276.235488] cdc_ether 2-1.7:1.19 enp0s29u1u7i19: renamed from usb0 [ 4276.256129] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u7i19: link is not ready [ 4276.256249] cdc_ether 2-1.7:1.19 enp0s29u1u7i19: kevent 12 may have been dropped [ 4276.256255] cdc_ether 2-1.7:1.19 enp0s29u1u7i19: kevent 12 may have been dropped [ 4276.260989] cdc_ether 2-1.7:1.19 enp0s29u1u7i19: kevent 12 may have been dropped
But the board appears as connected via Ethernet, not as a DM port as it should be the case according to the documentation.
The output from ifconfig command shows that the newly created network interface was assigned an IP address:
enp0s29u1u7i19 Link encap:Ethernet HWaddr 8a:c9:fb:5d:dc:ae inet addr:192.168.2.3 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::6226:5d43:6fa0:4f8d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:37 errors:0 dropped:0 overruns:0 frame:0 TX packets:53 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8031 (8.0 KB) TX bytes:6720 (6.7 KB)
So, let’s follow the instructions that allow to switch the board into bootload mode:
- ssh into the board as root (there is no password):
ssh root@192.168.2.2
- display version information, for later reference:
root@swi-mdm9x15:~# cm info Device: WP8548 IMEI: 359377060009023 FSN: LL542500181303 Firmware: SWI9X15Y_07.11.09.00 r32989 CARMD-EV-FRMWR1 2016/08/11 18:03:20 Bootloader: SWI9X15Y_07.11.09.00 r32989 CARMD-EV-FRMWR1 2016/08/11 18:03:20
- switch the board into bootloader mode:
root@swi-mdm9x15:~# microcom -E /dev/ttyAT AT!BOOTHOLD
- the board answers back with OK, and the connection is closed a few seconds later.
- download the generic combined images binary file from here
- and flash the WP8548 with the downloaded file:
swiflash -m WP85XX -i WPx5xx_Release-13.1_GENERIC.spk
- when the message Rebooting the module is displayed, stop swiflash (CTRL-C)
- using ifconfig command again, check that the network interface with IP address 192.168.2.3 is available
- using ssh, connect to the board, and display version information. Now it’s as follows:
Device: WP8548 IMEI: 359377060009023 FSN: LL542500181303 Firmware: SWI9X15Y_07.11.22.00 r33729 CARMD-EV-FRMWR1 2017/01/11 18:04:06 Bootloader: SWI9X15Y_07.11.22.00 r33729 CARMD-EV-FRMWR1 2017/01/11 18:04:06 priIdPn: 9904889 priIdRev: 01.00 skuId: 1102621
That’s it!