Índice

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Configurar

Etapa 1. Prepare as imagens de firmware (e a movimentação USB).

Etapa 2. Conecte IXM com o acesso de console.

Etapa 3. Copie os arquivos de firmware ao IXM.

Opção 1: Usando uma movimentação USB

Opção 2: Copie os arquivos usando a rede

Etapa 4. Execute a elevação.

Etapa 5. Recarregue o IXM após a elevação.

Verificar

Troubleshooting

Introdução

Este documento descreve o procedimento para promover o software de um Módulo de Extensão de Cisco Iot (IXM) que usa somente a porta de Console e uma movimentação USB.

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- RJ45 ao cabo serial

- Movimentação USB (1GB é mais do que bastante) ou acesso de rede local

- PoE ou fonte de alimentação para o IXM

- Imagens de firmware

Nota: As imagens de firmware podem ser transferidas do CCO: https://software.cisco.com/download/release.html?mdfid=286311296&softwareid=286311234&release=2.0&relind=AVAILABLE&rellifecycle=&reltype=latest

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Informações de Apoio

Cisco IXM ou o módulo de interface para LoRaWAN podem ser executado em dois modos: autônomo ou virtual. Quando as corridas IXM como virtuais, uma elevação puderem ser executadas do IR8x9 conectado ao IXM. No modo independente, a elevação pode ser executada com o CLI. Em alguns casos não é possível promover o firmware (por exemplo, quando o IXM são configurados para o modo virtual e o nenhum IR8x9 está disponível) ou quando a diferença no firmware é demasiado grande com respeito à compatibilidade de versão.

Configurar

Etapa 1. Prepare as imagens de firmware (e a movimentação USB).

A primeira parte é preparar as imagens de firmware que são exigidas para executar a elevação.

O objetivo é obter estes arquivos no IXM, este pode ser feito usando uma conexão da movimentação ou de rede local USB.

Quando a imagem de firmware é transferida do CCO, vem como um arquivo TAR gzipped: ixm_mdm_i_k9-2.0.tar.gz.

Extraia .tar.gz e copie o recovery.itb e o release.itbfiles a uma movimentação ou ao Server do HTTP USB, alcançável pelo IXM.

Etapa 2. Conecte IXM com o acesso de console.

Uma vez que os arquivos para executar a elevação são preparados, você precisa de conectar ao IXM usando a porta de Console. A porta de Console é ficada situada no lado direito do IXM e coberta por um parafuso da prova da água:

Conecte o cabo do console ao RJ45 no IXM e à porta serial de seu PC e abra um terminal com estes ajustes: 8/N/1/115200

Se tudo vai bem, você deve ver uma alerta com:

[root@lorawan ~]#

Opcionalmente, os pedidos IXM para que você entre com a conta raiz.

Etapa 3. Copie os arquivos de firmware ao IXM.

Opção 1: Usando uma movimentação USB

Quando você usa a movimentação USB, conecte a movimentação ao porta usb no IXM (abaixo da porta de Console). O acesso ao porta usb pode ser difícil como a entrada é bastante estreita, um cabo de extensão USB pode ajudá-lo aqui.

Depois que você conecta a movimentação USB, esta aparece na tela:

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

Agora, monte a movimentação USB e copie o recovery.itb e o release.itbfiles a /tmp no IXM:

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

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

Opção 2: Copie os arquivos usando a rede

Quando você copia os arquivos sobre a rede, conecte a porta de rede do IXM diretamente ou através de um interruptor a seu computador e configurar um endereço de rede que seja alcançável.

Para configurar um endereço de rede no IXM para copiar os arquivos, um comando ifconfig regular pode ser usado:

[root@lorawan ~]# ifconfig eth0 10.48.43.200

Depois que o dispositivo é alcançável, você pode transferir os arquivos do Server do HTTP preparado em etapa 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]#

Etapa 4. Execute a elevação.

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

Etapa 5. Recarregue o IXM após a elevação.

Recarregue simplesmente o IXM para terminar a elevação:

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

Verificar

Com isto você pode verificar se a elevação era bem sucedida:

Exemplo de uma versão mais velha:

[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

Exemplo após a elevação:

[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

Atualmente, não existem informações disponíveis específicas sobre Troubleshooting para esta configuração.