Contenido

Introducción

prerrequisitos

Requisitos

Componentes Utilizados

Antecedentes

Configurar

Paso 1. Prepare las imágenes de firmware (y la unidad USB).

Paso 2. Conecte IXM con el acceso a la consola.

Paso 3. Copie los archivos de firmware al IXM.

Opción 1: Usando una unidad USB

Opción 2: Copie los archivos usando la red

Paso 4. Ejecute la actualización.

Paso 5. Reinicie el IXM después de la actualización.

Verificación

Troubleshooting

Introducción

Este documento describe el procedimiento para actualizar el software de un módulo de extensión de Cisco Iot (IXM) que usa solamente el puerto de la consola y una unidad USB.

Prerrequisitos

Requisitos

No hay requisitos específicos para este documento.

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- RJ45 al cable serial

- Unidad USB (1GB está más que suficiente) o acceso de red local

- PoE o fuente de alimentación para el IXM

- Imágenes de firmware

Nota: Las imágenes de firmware se pueden descargar del CCO: https://software.cisco.com/download/release.html?mdfid=286311296&softwareid=286311234&release=2.0&relind=AVAILABLE&rellifecycle=&reltype=latest

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.

Antecedentes

Cisco IXM o el módulo de interfaz para LoRaWAN puede ejecutarse en dos modos: independiente o virtual. Cuando los funcionamientos IXM como virtuales, una actualización se pueden realizar del IR8x9 conectado con el IXM. En el modo autónomo, la actualización se puede realizar con el CLI. No es en algunos casos posible actualizar el firmware (por ejemplo, cuando el IXM se configura para el modo virtual y ningún IR8x9 está disponible) o cuando la diferencia en el firmware es demasiado grande con respecto a la Compatibilidad de versión.

Configurar

Paso 1. Prepare las imágenes de firmware (y la unidad USB).

La primera parte es preparar las imágenes de firmware que se requieren para realizar la actualización.

La meta es conseguir estos archivos en el IXM, esto se puede hacer usando una conexión de la unidad USB o de red local.

Cuando la imagen de firmware se descarga del CCO, viene como un archivo TAR gzipped: ixm_mdm_i_k9-2.0.tar.gz.

Extraiga .tar.gz y copie el recovery.itb y el release.itbfiles a una unidad USB o a un servidor HTTP, accesible por el IXM.

Paso 2. Conecte IXM con el acceso a la consola.

Una vez que los archivos para realizar la actualización se elaboran, usted necesita conectar con el IXM usando el puerto de la consola. El puerto de la consola está situado a la derecha del IXM y cubierto por un tornillo a prueba de agua:

Conecte el cable de la consola con el RJ45 en el IXM y con el puerto serial de su PC y abra una terminal con estas configuraciones: 8/N/1/115200

Si va todo bien, usted debe ver un prompt con:

[root@lorawan ~]#

Opcionalmente, las peticiones IXM para que usted inicie sesión con la cuenta raíz.

Paso 3. Copie los archivos de firmware al IXM.

Opción 1: Usando una unidad USB

Cuando usted utiliza la unidad USB, conecte la unidad con el puerto USB en el IXM (debajo del puerto de la consola). El acceso al puerto USB puede ser difícil como la entrada es muy estrecha, un cable de extensión USB puede ayudarle aquí.

Después de que usted conecte la unidad USB, ésta aparece en la pantalla:

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

Ahora, monte la unidad USB y copie el recovery.itb y el release.itbfiles a /tmp en el IXM:

[root@lorawan ~]# mount /dev/sdb1 /mnt/

[root@lorawan ~]# cp /mnt/*.itb /tmp

Opción 2: Copie los archivos usando la red

Cuando usted copia los archivos sobre la red, conecte el puerto de red del IXM directamente o vía un Switch con su ordenador y configure a una dirección de red que sea accesible.

Para configurar a una dirección de red en el IXM para copiar los archivos, un comando ifconfig regular puede ser utilizado:

[root@lorawan ~]# ifconfig eth0 10.48.43.200

Después de que el dispositivo sea accesible, usted puede descargar los archivos del servidor HTTP preparado en el paso 1:

[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]#

Paso 4. Ejecute la actualización.

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 ~]#

Paso 5. Reinicie el IXM después de la actualización.

Reinicie simplemente el IXM para completar la actualización:

[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!

Verificación

Con esto usted puede verificar si la actualización fuera acertada:

Ejemplo de una versión anterior:

[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

Ejemplo después de la actualización:

[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

Troubleshooting

Actualmente, no hay información específica de troubleshooting disponible para esta configuración.