Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Configurazione

Passaggio 1. Preparare le immagini del firmware (e l'unità USB).

Passaggio 2. Connettere IXM tramite l'accesso alla console.

Passaggio 3. Copiare i file del firmware in IXM.

Opzione 1: Uso di un'unità USB

Opzione 2: Copiare i file utilizzando la rete

Passaggio 4. Eseguire l'aggiornamento.

Passaggio 5. Riavviare IXM dopo l'aggiornamento.

Verifica

Risoluzione dei problemi

Introduzione

Questo documento descrive la procedura per aggiornare il software di un Cisco Iot Extension Module (IXM) usando solo la porta console e un'unità USB.

Prerequisiti

Requisiti

Nessun requisito specifico previsto per questo documento.

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- Cavo seriale da RJ45

- Unità USB (1 GB è più che sufficiente) o accesso alla rete locale

- PoE o alimentazione per IXM

- Immagini firmware

Nota: Le immagini del firmware possono essere scaricate da CCO: https://software.cisco.com/download/release.html?mdfid=286311296&softwareid=286311234&release=2.0&relind=AVAILABLE&rellifecycle=&reltype=latest

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

Cisco IXM o Interface Module per LoRaWAN può funzionare in due modalità: autonomo o virtuale. Quando IXM viene eseguito come virtuale, è possibile eseguire un aggiornamento dalla porta IR8x9 collegata alla porta IXM. In modalità standalone, l'aggiornamento può essere eseguito tramite la CLI. In alcuni casi non è possibile aggiornare il firmware (ad esempio, quando IXM è configurato per la modalità virtuale e non è disponibile la porta IR8x9) o quando la differenza di firmware è troppo grande rispetto alla compatibilità della versione.

Configurazione

Passaggio 1. Preparare le immagini del firmware (e l'unità USB).

La prima parte consiste nella preparazione delle immagini del firmware necessarie per eseguire l'aggiornamento.

L'obiettivo è scaricare i file su IXM, utilizzando un'unità USB o una connessione di rete locale.

Quando l'immagine del firmware viene scaricata da CCO, viene visualizzata come un tar compresso file: ixm_mdm_i_k9-2.0.tar.gz.

Estrarre il file .tar.gz e copiare i file recovery.itb e release.itb in un'unità USB o in un server HTTP, raggiungibile da IXM.

Passaggio 2. Connettere IXM tramite l'accesso alla console.

Una volta preparati i file da aggiornare, è necessario collegarsi a IXM utilizzando la porta della console. La porta console si trova sul lato destro di IXM ed è coperta da una vite impermeabile:

Collegare il cavo della console a RJ45 in IXM e alla porta seriale del PC e aprire un terminale con queste impostazioni: 01/N/8/115200

Se tutto va bene, dovrebbe essere visualizzato un prompt con:

[root@lorawan ~]#

Facoltativamente, IXM richiede di eseguire il login con l'account root.

Passaggio 3. Copiare i file del firmware in IXM.

Opzione 1: Uso di un'unità USB

Quando si utilizza l'unità USB, collegarla alla porta USB di IXM (al di sotto della porta console). L'accesso alla porta USB può essere difficile in quanto l'ingresso è piuttosto stretto, un cavo di estensione USB può aiutarti qui.

Dopo aver collegato l'unità USB, sullo schermo viene visualizzato quanto segue:

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

Ora, montare l'unità USB e copiare i file recovery.itb e release.itb in /tmp su IXM:

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

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

Opzione 2: Copiare i file utilizzando la rete

Quando si copiano i file sulla rete, collegare la porta di rete di IXM direttamente o tramite uno switch al computer e configurare un indirizzo di rete raggiungibile.

Per configurare un indirizzo di rete su IXM per copiare i file, è possibile utilizzare un normale comando ifconfig:

[root@lorawan ~]# ifconfig eth0 10.48.43.200

Una volta raggiungibile la periferica, è possibile scaricare i file dal server HTTP preparato nel passaggio 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]#

Passaggio 4. Eseguire l'aggiornamento.

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

Passaggio 5. Riavviare IXM dopo l'aggiornamento.

Per completare l'aggiornamento, è sufficiente riavviare 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!

Verifica

In questo modo è possibile verificare se l'aggiornamento è riuscito:

Esempio di una versione precedente:

[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

Esempio dopo l'aggiornamento:

[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

Risoluzione dei problemi

Al momento non sono disponibili informazioni specifiche per la risoluzione dei problemi di questa configurazione.