简介
本文档介绍仅使用控制台端口和USB驱动器升级思科物联网扩展模块(IXM)软件的步骤。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于以下软件和硬件版本:
- RJ45至串行电缆
- USB驱动器(1GB以上)或本地网络访问
- IXM的PoE或电源
- 固件映像
注意:固件映像可以从CCO下载:https://software.cisco.com/download/release.html?mdfid=286311296&softwareid=286311234&release=2.0&relind=AVAILABLE&rellifecycle=&reltype=latest
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
背景信息
适用于LoRaWAN的Cisco IXM或接口模块可在两种模式下运行:独立或虚拟。当IXM作为虚拟设备运行时,可以从连接到IXM的IR8x9执行升级。在独立模式下,可以通过CLI执行升级。在某些情况下,不可能升级固件(例如,当IXM配置为虚拟模式而没有IR8x9可用时),或者当固件差异在版本兼容性方面太大时。
配置
步骤1.准备固件映像(和USB驱动器)。
第一部分是准备执行升级所需的固件映像。
目标是在IXM上获取这些文件,这可以通过USB驱动器或本地网络连接完成。
从CCO下载固件映像时,它作为gzipped tar file: ixm_mdm_i_k9-2.0.tar.gz提供。
解压缩.tar.gz并将recovery.itb和release.itb文件复制到USB驱动器或HTTP服务器(IXM可访问)。
步骤2.通过控制台访问连接IXM。
准备用于执行升级的文件后,您需要使用控制台端口连接到IXM。控制台端口位于IXM的右侧,并用防水螺钉覆盖:

将控制台电缆连接到IXM的RJ45和PC的串行端口,然后使用以下设置打开终端:8/N/1/115200
如果一切顺利,您应该会看到以下提示:
[root@lorawan ~]#
或者,IXM请求您使用根帐户登录。
步骤3.将固件文件复制到IXM。
选项 1:使用USB驱动器
使用USB驱动器时,将驱动器连接到IXM上的USB端口(控制台端口下方)。 USB端口接入非常困难,因为入口非常窄,USB扩展电缆可以帮助您。
连接USB驱动器后,屏幕上将显示以下内容:
root@lorawan ~]# usb 4-1.2: new high-speed USB device number 4 using xhci-hcd
usb 4-1.2: New USB device found, idVendor=058f, idProduct=6387
usb 4-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 4-1.2: Product: USB Flash Drive
usb 4-1.2: SerialNumber: BE087588
usb-storage 4-1.2:1.0: USB Mass Storage device detected
scsi3 : usb-storage 4-1.2:1.0
scsi 3:0:0:0: Direct-Access USB Flash Drive 8.07 PQ: 0 ANSI: 2
sd 3:0:0:0: [sdb] 15564800 512-byte logical blocks: (7.96 GB/7.42 GiB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] No Caching mode page found
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sd 3:0:0:0: [sdb] No Caching mode page found
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 3:0:0:0: [sdb] No Caching mode page found
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sd 3:0:0:0: [sdb] Attached SCSI removable disk
现在,装载USB驱动器并将recovery.itb和release.itb文件复制到IXM上的/tmp:
[root@lorawan ~]# mount /dev/sdb1 /mnt/
[root@lorawan ~]# cp /mnt/*.itb /tmp
选项 2:使用网络复制文件
当您通过网络复制文件时,请将IXM的网络端口直接或通过交换机连接到您的计算机,并配置可访问的网络地址。
要在IXM上配置网络地址以复制文件,可以使用常规的ifconfig命令:
[root@lorawan ~]# ifconfig eth0 10.48.43.200
设备可访问后,您可以从步骤1中准备的HTTP服务器下载文件:
[root@lorawan ~]# cd /tmp
[root@lorawan tmp]# wget http://10.48.43.201:1000/recovery.itb
Connecting to 10.48.43.201:1000 (10.48.43.201:1000)
recovery.itb 100% |*******************************| 23684k 0:00:00 ETA
[root@lorawan tmp]# wget http://10.48.43.201:1000/release.itb
Connecting to 10.48.43.201:1000 (10.48.43.201:1000)
release.itb 100% |*******************************| 44794k 0:00:00 ETA
[root@lorawan tmp]#
步骤4.执行升级。
broot@lorawan ~]# /opt/script/reimage.sh -n /tmp/release.itb -f /tmp/recovery.it
Calling latest reimage.sh...
Could not find out the version. May be using dev builds. Mode update skipped
Writing factory mode image...
47368+1 records in
47368+1 records out
24252422 bytes (23.1MB) copied, 1.318204 seconds, 17.5MB/s
Writing normal mode image1...
89589+1 records in
89589+1 records out
45869754 bytes (43.7MB) copied, 2.453597 seconds, 17.8MB/s
Writing normal mode image2...
89589+1 records in
89589+1 records out
45869754 bytes (43.7MB) copied, 2.458087 seconds, 17.8MB/s
Updating u-boot boot parameters...
Stop lxc container...
Stopping default lxc container...
umount: /mnt/container/rootfs/run: mountpoint not found
umount: /mnt/container/rootfs/var/run: mountpoint not found
lxcbr0: port 1(vethPFLXN1) entered disabled state
umount: /mnt/container/rootfs: mountpoint not found
device vethPFLXN1 left promiscuous mode
lxcbr0: port 1(vethPFLXN1) entered disabled state
Stop logging service...
Stopping syslog-ng daemon: OK
Stop logging signal received
umount: /var/log/: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
Try to umount log directory again...
2244
Stop mdev...
umount: /data/uflash: mountpoint not found
Repartion internal SD...
Welcome to fdisk (util-linux 2.26.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): Created a new DOS disklabel with disk identifier 0x676d0d95.
Command (m for help): Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): Partition number (1-4, default 1): First sector (2048-7618559, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (786432-7618559, default 7618559):
Created a new partition 1 of type 'Linux' and of size 640 MiB.
Command (m for help): Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): Partition number (2-4, default 2): First sector (2048-7618559, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2097152-7618559, default 7618559):
Created a new partition 2 of type 'Linux' and of size 2.6 GiB.
Command (m for help): The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
Recreate filesystem...
Creating filesystem for system data...
/tmp/_reimage.sh: line 322: cryptkey: command not found
/tmp/_reimage.sh: line 323: cryptsetup: command not found
/tmp/_reimage.sh: line 324: cryptsetup: command not found
/tmp/_reimage.sh: line 325: cryptsetup: command not found
mke2fs 1.42.12 (29-Aug-2014)
The file /dev/mapper/cryptroot does not exist and no size was specified.
Creating filesystem for user data...
mke2fs 1.42.12 (29-Aug-2014)
/dev/sda2 contains a ext3 file system labelled 'APP'
last mounted on Thu Jan 1 00:00:06 1970
/dev/sda2 is mounted; will not make a filesystem here!
Restart mdev...
Starting mdev...
Restart logging service...
Mounting log directory...
Starting syslog-ng daemon: OK
[root@lorawan ~]#
步骤5.升级后重新启动IXM。
只需重新启动IXM即可完成升级:
[root@lorawan ~]# reboot
[root@lorawan ~]# watchdog watchdog0: watchdog did not stop!
Stopping cron jobs...
Stopping default lxc container...
lab is not running
umount: /tmp/lxc: not mounted
Stopping sshd: OK
Stopping ntpd: OK
Stop lora HAL...
Stopping Network Interface Plugging Daemon: eth0.
Stopping network...ifdown: interface eth0 not configured
Saving random seed... done.
Clear kernel parameters...
Stopping system config...
Stop checking PID...
Save clock...
killall: watchdog: no process killed
Stopping syslog-ng daemon: OK
Stop logging signal received
No handlers could be found for logger "mdm"
The system is going down NOW!
验证
通过此步骤,您可以验证升级是否成功:
旧版本的示例:
[root@lorawan ~]# cat /etc/cisco_version
VERSION=1.0.06
BRANCH=warbler_1_0_throttle
VIEW=nburra-warbler_1_0_throttle.warbler_1_0_throttle_nightly_12052016
FREEZE TIME=05-Dec-2016.21:40:46UTC-08:00
升级后的示例:
[root@lorawan ~]# cat /etc/cisco_version
VERSION=2.0
BRANCH=corsica_2_0_throttle
VIEW=nburra-corsica_2_0_throttle.corsica_2_0_throttle_NIGHTLY_2.0_05272017_203603
FREEZE TIME=26-May-2017.15:50:34UTC-07:00
故障排除
目前没有针对此配置的故障排除信息。