Course12:Basic - Initial startup and recovery of innovaphone devices

From innovaphone wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
There are also other versions of this article available: Course11 | Course10 | Course12 (this version)

This book explains the various reset modes of innovaphone devices.

Accessing the web - interface

Depending on your network infrastructure, there are two ways to access an innovaphone device. If you are in the same subnetwork (i.e. broadcast domain) as the gateway, the method to use is NetBIOS. This method is base4d on LAN broadcasts and this usually only works within the same LAN segment.

The NetBIOS name of innovaphone gateways or phones is simply the devices MAC address (the MAC address of ETH0, more precisely) with no decoration like dashes or dots (e.g. 009033300dad). You will find the serial number on the device label (usually on the back). Depending on the device, you will find it as a screenshot.png separate item (like on the IP111) or as screenshot.png part of a multi-valued bar-code (like on the IP232). It may appear with or without dashes. In any case, it will start with 00-90-33- (or 009033).

You can use the netbios name as a host name, for example in a screenshot.png ping command. You can also use it in an screenshot.png address in your web browser.

In case that the NetBIOS method doesn't work, you can access the device using a second method: by its IP - address. Depending on the reset procedure, you will have to enter either a dynamic IP - address (DHCP) or 192.168.0.1 (if attached to ETH0) or 192.168.1.1 (if attached to ETH1) in your web-browser.

Iscreenshot.png Different options for accessing a gateway



In previous firmware versions, the NetBIOS name was composed of two parts:
  • the device type (e.g. IP811)
  • the last 6 digits of the MAC - address (e.g. 06-14-B3)
As a result, the NetBIOS name for an IP811 could have been IP811-06-14-B3. This method is still supported (although not recommended any more).

LED Status

Status of Ready LED
Meaning
Steady green
device is operational
Flashing green
firmware update
Steady orange
TFTP mode
Flashing green deleting config
Flashing red
firmware defect


Device specific information on the fish-help.png possible LED color indications can be found in the wiki.

The 'ready LED' is the main LED of a device, since it indicates the most important status changes. In addition to that, gateways have also LEDs for their physical interfaces (e.g. ETH0).

Status of interface LED Meaning
Steady green
interface is up, no traffic
Flashing green
interface is up, traffic
Off
interface is down

Updating device Firmware

The hardware version and currently loaded device software can be read from the screenshot.png General->Info screen and is described by three values:
  • firmware version
  • bootcode version
  • hardware version
The hardware version is not changeable and describes the hardware state of your device. The other two parameters can be modified, by uploading new firmware and bootcode.

The bootcode (as suggested by its name) runs when the devices is booting. It unpacks the compressed firmware from flash memory and loads it into the RAM. The firmware is then started and implements all functions needed for the operation of the device. The boot code in fact is a very stripped down version of the firmware with only most basic functionality. It uses the same device configuration.

It is recommended to have both components on the newest version possible. New boot code or firmware files are uploaded using the fish-help.png Maintenance/Upload/Bootcode and fish-help.png Maintenance/Upload/Firmware menus of the administration web user interface of every innovaphone device. In order to ensure best compatibility of these two files, they should always have the screenshot.png same version number.

How to upload



Both boot code and firmware can be updated using the screenshot.png device admin web UI (fish-help.png Maintenance/Upload/Firmware and fish-help.png Maintenance/Upload/Bootcode. This can be done both when the device runs normal firmware or when it runs mini-firmware (which we discuss later).

There is also an option to load a firmware file directly in to the devices RAM (fish-help.png Maintenance/Upload/DRAM). This will upload the firmware and immediately start it from RAM without updating the firmware copy which is stored in the devices flash memory. This is primarily for debugging purposes, as the device will of course load and run the old firmware present in flash when it is restarted thereafter.

Firmware/boot code upload can also be done with the gwload utility. This is only required when the device web UI is not accessible any more (e.g. if the mini-firmware does not start up).

Recovery

Boot process


  • On normal startup (reset or power on) the boot code will be started. It will decompress the firmware from flash into RAM and start it. The device will be fully functional
  • If this fails, it will next decompress the mini-firmware from flash and start it. The device will have full IP support, a web user interface and its update process will run. It will use its normal IP configuration
  • If this fails too, it will stay in a mode with limited IP connectivity, known as TFTP mode. There is only a very limited set of things you can do with the device, including updating the firmware

screenshot.png boot-process

Bootcode and mini-firmware are in a file called bootXXX.bin, the firmware is in a file called ipXXX.bin (for an IP111, this would be boot111.bin and ip111.bin). So the menu item fish-help.png Maintenance/Upload/Bootcode will upload both the boot code and the mini-firmware.

Mini - Firmware


As suggested by its name, this is a reduced firmware having only an IP and HTTP stack (and an update client, we will come back to this in a later topic). It offers the possibility to upload a new firmware file using the standard Web-UI procedure. By minimizing its functions, the file has such a small size that it can be encapsulated within the boot code.

If the bootcode didn't succeed to load the standard firmware and fell back to the mini-firmware, a screenshot.png Bootcode - notification in the Web - UI of the respective device is displayed.

TFTP - Mode


In case that the mini-firmware itself is corrupt, the device will fall back to TFTP Mode. This is signalled by a steady orange glowing 'Ready' - LED. The device is now working as a TFTP - server. innovaphone offers a customized TFTP -client named gwload, allowing you to upload a new firmware file to the device. See the fish-help.png How to use gwload wiki article for how to use gwload. If you are lucky, you will never need it in real life smile

Summary


screenshot.png Recovery procedure





Reset modes

An innovaphone device several reset options fish-help.png reset procedures:

  • a short reset will restart the device in to normal operation
  • a medium-long reset will reset the device either to its mini-firmware or to TFTP mode
  • a long reset will delete the config file and put the device in TFTP mode
The next pages will describe each method and its effects on the device.

Restart

An innovaphone gateway can be restarted using a screenshot.png reset button. Phones use a fish-help.png key combination (varies by phone types) for this purpose.

A short reset will simply re-start the current firmware (in other words, the boot code will be restarted). It will not delete the configuration. It can thus be compared to a reset on a PC.

Restart to Mini-Firmware

Pressing the reset button for 2-6 seconds will re-start the device to the mini-firmware. This allows to recover from a bad firmware or a config causing problems with the normal firmware (for example if the normal firmware is started successfully by the boot code, but resets during initialization leading to a boot loop).

You will (hopefully) rarely use this mode.

Restart to TFTP-Mode

Pressing the reset button for 6-12 seconds will put the device into TFTP mode. In this mode the gateway or phone is only accessible via TFTP (using the special gwload utility). This is signalled by the 'Ready' lamp steadily glowing orange.

You can also set the device into TFTP mode by using the fish-help.png Maintenance/Reset/TFTP menu option.

There are two options to exit the TFTP - mode. You can power cycle or short reset the device. Or you can use the /go option of the gwload utility.

You will (hopefully) rarely use this mode.

Factory Reset

By pressing more than 12 seconds on the reset button (or key combination on a phone), you will delete the built-in flash memory content of the innovaphone device and thus reset it to the factory settings. You will notice that the ready LED starts flashing very fast as soon as you enter this mode.

The device will finish the reset procedure by restarting to TFTP mode. To bring it in to normal boot mode, you can then power cycle it again.

Built-in flash memory content is the entire configuration plus anything currently stored on the flash disk (also sometimes referred to as NAND flash) which is present on the newer gateway devices (IPxx11). Data stored on the removable flash memory (CF card on the older gateway devices and mSATA flash drives on the newer ones) is not removed.

Automatic Mode


When the device is in factory settings, it is in a special IP mode known as automatic mode. It will run as a DHCP client on ETH0 after power up. After the short reset however, it will switch to a fixed IP configuration with address 192.168.0.1/225.255.255.0.

screenshot.png automatic mode



In this mode, to set ETH0 to DHCP, you must power cycle the device as a simple restart will set it into fixed-IP address mode.

Automatic mode can (and should) be turned off in the devices screenshot.png web interface (fish-help.png IP4/ETH/DHCP) or by using the configuration wizard.

Using gwload

gwload is a very basic utility you hopefully will never need in real life. As such, it has some limitations which you need to understand.

Broadcast Operation


gwload (being a TFTP descendant) uses broadcast packets to communicate with your devices. As such, it can not cross LAN segment boundaries! In other words: if there is a router between you and your device, gwload will not work.

Single Network Interface Only


gwload has a hard time working with multiple network interfaces. It will select one of the available network interface to send all broadcast packets to. If this interface is connected to the network your device is connected too, you are lucky. If not, gwload will not work.

The only way to fix this is to disable all other network interfaces. Even if you think you only have a single network interface active on your PC/laptop, watch out for WLAN cards, VMWare virtual interfaces or PPTP/IPSec/L2TP/VPN dial-up clients. You should disable all such interfaces in Window's network system control panel.

How to recover from a broken firmware and mini-firmware with gwload


Here is how to update boot code and firmware with gwload (let us assume it is an IP232):
  • create an empty directory and change your current directory there
  • download the latest gwload (gload.exe in file tools.zip from download.png download.innovaphone.com: ice/6.00/) in to this directory
  • download the new firmware and bootcode (ip232.bin and boot222.bin) in to this directory
  • determine an otherwise free IP address valid for the LAN segment your device is connected to (e.g. 172.31.31.6)
  • if the box is not in TFTP mode anyway, use the fish-help.png Administration/Rest/TFTP menu, the box ready LED should be blinking slowly now
  • load the new firmware directly into the devices RAM by calling

    gwload /gwtype 232 /dram ip232.bin /i 172.31.31.6 /setip /go

    This will bypass the normal boot procedure and directly start the uploaded code:

    C:\x>gwload /gwtype 232 /dram ip232.bin /i 172.31.31.6 /setip /go
    GWLOAD 1.11 [Flash Utilities tools/gwload 08-1941]
    loading IP232
    connect to 172.31.31.6
    (1) IP232 found at MAC: 00-90-33-30-0d-ad 16384k Flash 32768k DRAM
    select a box:1
    using box 1
    Loading protocol code to DRAM from file ip232.bin
    extended firmware header, len=36

  • The box will re-boot and you now can access the normal administration web UI. Keep in mind that the box will run the same configuration as before - especially the IP configuration will not necessarily be the one you used with the gwload command!
  • As the box still has the broken firmware and mini-firmware stored in flash, you now need to upload both the boot code and the firmware using the web UI. Take care not to reset the box after uploading the first file (otherwise, you may need to repeat the gwload procedure)

More details about gwload can be found in fish-help.png How to use gwload.


Initializing the Flash Disk

The Flash Disk is a drive with a file system on it. This like with the CF-Card in the older gateway generation or the mSATA SSD in the newer gateway generation.

Although the Flash Disk is built-in to the new gateways, it is screenshot.png not yet formatted when in factory settings. To use it, you need to format it.

Also, as it is flash memory built-in to the device, its content is erased when you reset the device to factory settings (a.k.a. long reset). So after a factory reset, it needs to be formatted again and restored from a backup then.

To (re)-format the Flash Disk, hit the Format button and screenshot.png wait a short while. As soon as it is formatted, you can mount and use it.

screenshot.png flashmount



Afterwards, you can unmount and (re)format it at any time.

Differences to SSD (mSATA) Behaviour


The SSD behaves like the Flash Disk, except that its content is not erased when you reset the device to factory settings.




This is a good time, to format and mount the Flash Disk in your IP411LEFT, IP411RIGHT and IP811 (as well as the SSD in your IP811).