Introduction
This document describes the steps to recover IXM from U-boot mode.
Prerequisites
The components required to perform recovery on IXM using the console:
- RJ45 to serial cable for console access
- TFTP network access
- PoE or power supply for the IXM
- Firmware images
Problem
Scenario 1. IXM module goes into Marvell Prompt with the error message in the console:
Booting LPWA modem kernel...
Wrong Image Format for bootm command
ERROR: can't get kernel image!
No previous OS finded!
Marvell>>
Scenario 2. IXM gets stuck and throws python errors:
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site
Scenario 3. In some cases, for example after Firmware Downgrade or upgrade, IXM stucks in continuous loop with error message:
mkdir: can't create directory '/etc/ipsec.d/': No space left on device
mkdir: can't create directory '/etc/ipsec.d/': No space left on device
mkdir: can't create directory '/etc/ipsec.d/': No space left on device
Solution
Note: In specific cases, like those described in scenarios 2. and 3., the IXM device may not enter Marvell's automatic landing prompt. In such situations, you must manually activate U-boot mode to begin the process of system recovery or reinstallation. For detailed steps on how to achieve this and access the Marvell prompt, please consult the instructions found in the section titled "How to boot the IXM to Marvell U-Boot mode."
Preparation:
The firmware images can be downloaded from CCO: IXM images
Step 1. Download the latest image version from CCO. For example: ixm_mdm_i_k9-2.x.x.tar.gz
Step 2. Extract the downloaded file and ensure recovery.itb
and release.itb
file is available over the TFTP server.
Step 3. Using the console session in the Marvell prompt, set the Network configurations.
Marvell>>setenv ipaddr 10.1.1.2 (Set the appropriate static IP Address)
Marvell>>setenv serverip 10.1.1.1 (Set the TFTP server IP Address)
Marvell>>setenv netmask 255.255.255.0 (Set the subnet mask )
Marvell>>ping 10.1.1.1 (Check if you can reach TFTP-server)
Using egiga0 device
host 10.1.1.1 is alive
If you want to save the IP address and netmask settings run the command.
Note: Ignore if you see the Disabled command saveenv
.
Marvell>>saveenv
Set the environment variables to boot the release.itb
file from your TFTP server.
Marvell>>setenv bootargs $console $nandEcc $mtdparts root=/dev/ram0 rw initrd=0x8000000,128M ramdisk_size=128000000
Marvell>>setenv bootcmd_fit 'tftpboot 0x3000000 release.itb;bootm 0x3000000'
(Note: In this example release.itb file is placed in the default tftp-boot directory. Customize it with the full path of this file on your tftpserver.)
Marvell>>saveenv
Load the kernel image:
Marvell>>run bootcmd_fit
Wait until the IXM boots normally to reach the Gateway > prompt.
Step 4 (Optional). Upgrade to the latest firmware version can be performed.
Note: If the device is in virtual mode, execute a switchover to standalone mode before proceeding. Gateway# switchover switch mode to = st
Then, you need to upgrade to the firmware file.
Additional reference for IXM upgrade: https://www.cisco.com/c/en/us/td/docs/routers/interface-module-lorawan/software/configuration/guide/b_lora_scg/iosfs.html#con_1258237)
Gateway>enable
Gateway#configure terminal
Gateway(config)#interface FastEthernet 0/1
Gateway(config-if)#ip address 10.1.1.2 255.255.255.0 (Configure FastEthernet0/1 to reach TFTP)
Gateway(config-if)#exit
Gateway(config)#ip default-gateway 10.1.1.1
Gateway(config)#
Gateway#archive download-sw firmware /uboot-factory /save-reload tftp://10.1.1.1/ ixm_mdm_i_k9-2.3.1.tar.gz
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
After the IXM gateway reloads, verify the updated firmware version.
Gateway>enable
Gateway#
Gateway#show version
or using :
gateway#sh inventory
Name : gateway
ImageVer : 2.3.1
BootloaderVer : 20180130_cisco
SerialNumber : FOC20304ZAH
PID : IXM-LPWA-800-16-K9
UTCTime : 20:12:35.076 UTC Wed Jun 23 2023
FPGAVersion : 61
FPGAStatus : Ready
ChipID : LSB = 0x286f0218 MSB = 0x00f14086
TimeZone : IST
LocalTime : Thu Jun 24 01:42:35 IST 2023
ACT2 Authentication: PASS
gateway#
How to Boot the Cisco Wireless IXM Gateway to Marvell U-Boot Mode
Problem:
Scenario 1. IXM Reset procedure does not work.
Scenario 2. Recover IXM from Uboot mode.
Scenario 3. In some cases, such as after a firmware downgrade or upgrade, the IXM becomes stuck in a continuous loop with the error message.
mkdir: can't create directory '/etc/ipsec.d/': No space left on device
mkdir: can't create directory '/etc/ipsec.d/': No space left on device
mkdir: can't create directory '/etc/ipsec.d/': No space left on device
Solution:
To go to the U-Boot shell, execute the steps:
- Ensure that you have established a console connection to the IXM (connect the console cable to the RJ45 at the IXM and the serial port of your PC and open a terminal with these settings: 8/N/1/115200).
- Restart the IXM, either through a reload command, the reset button or by simply removing/applying power.
- When U-Boot is starting, press and hold
Space + 1
on the keyboard in the console session.
-
If everything proceeds as expected, the user encounters a Marvell >>> prompt.
A good time to press the keyboard combination in Step 3., is when the message appears as:
BootROM: Image checksum verification PASSED
Here is an example of the output when booting into U-Boot:
Restarting system.
BootROM - 1.73
Booting from SPI flash, Secure mode
BootROM: RSA Public key verification PASSED
BootROM: CSK block signature verification PASSED
BootROM: Boot header signature verification PASSED
BootROM: Box ID verification PASSED
BootROM: JTAG is disabled
General initialization - Version: 1.0.0
AVS selection from EFUSE disabled (Skip reading EFUSE values)
Overriding default AVS value to: 0x23
mvSysEnvIsFlavourReduced: TWSI Read of 'flavor' failed
Detected Device ID 6810
High speed PHY - Version: 2.0
Initialize DB-GP board topology
Device 6810 supports only 2 GbE ports: SGMII-2 @ lane5 disabled (setting USB3.0 H1 instead)
updateTopologySatR: TWSI Read of 'gpserdes1/2' failed
Device 6810 does not supports SerDes Lane #4: replaced topology entry with lane #5
Device 6810/20 supports only 2 SATA interfaces: SATA Port 3 @ lane3 disabled
board SerDes lanes topology details:
| Lane # | Speed| Type |
------------------------------|
| 0 | 5 | PCIe0 |
| 1 | 3 | SATA0 |
| 2 | 3 | SATA1 |
| 5 | 5 | USB3 HOST1 |
-------------------------------
PCIe, Idx 0: detected no link
High speed PHY - Ended Successfully
DDR4 Training Sequence - Ver TIP-0.21.(Sublib 0.5)0
DDR4 Training Sequence - Switching XBAR Window to FastPath Window
DDR Training Sequence - Start scrubbing
DDR Training Sequence - End scrubbing
DDR4 Training Sequence - Ended Successfully
Not detected suspend to RAM indication
BootROM: Image checksum verification PASSED
BootROM: Boot image signature verification PASSED
Marvell>>