简介
本文描述步骤升级(IXM)使用控制台端口和仅USB驱动的思科Iot分机模块的软件。
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 对串行电缆的RJ45
- USB驱动(1GB足够是)或本地网络网络访问
- 柏吾或电源IXM的
- 固件镜像
注意:固件镜像可以从CCO下载:https://software.cisco.com/download/release.html?mdfid=286311296&softwareid=286311234&release=2.0&relind=AVAILABLE&rellifecycle=&reltype=latest
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
背景信息
LoRaWAN的思科IXM或接口模块能运行在两个模式:独立或虚拟。当IXM运行如虚拟,升级可以从IR8x9执行连接到IXM。在独立模式,升级可以通过CLI被执行。有时是不可能的升级固件(例如,当IXM为虚拟方式和没有IR8x9时配置是可用的)或,当在固件的差异关于版本兼容性时是太大的。
配置
步骤1.准备固件镜像(和USB驱动)。
第一部分是准备要求执行升级的固件镜像。
目标是获得在IXM的这些文件,使用USB驱动或本地网络连接,这可以执行。
当固件镜像从CCO时下载,来作为一个gzipped TAR文件: ixm_mdm_i_k9-2.0.tar.gz。
解压缩.tar.gz并且复制recovery.itb和release.itbfiles对USB驱动或HTTP服务器,可及的由IXM。
步骤2.连接IXM通过控制台访问。
一旦执行升级的文件准备,使用控制台端口,您需要连接到IXM。控制台端口在IXM的右边查找和由水认证螺丝覆盖:
连接控制台电缆对RJ45在IXM和到您的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.itbfiles对在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
在设备可及的后,您能下载从在step1准备的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
目前没有针对此配置的故障排除信息。