How to recover from a wrong firmware update on Zodiac GX

  • 0 Replies
  • 418 Views
How to recover from a wrong firmware update on Zodiac GX
« on: October 25, 2018, 07:48:09 AM »
How to recover from a failed firmware on Zodiac GX

By mistake I uploaded the firmware for Zodiac WX into a Zodiac GX.
Here is how I flashed the correct firmware.

Serial connection
You will need to have a 3.3V TTL Serial to USB cable like: https://www.sparkfun.com/products/12977
Make sure that the cable is for 3.3 Volts.

Locate J4 4-pin connector on the board.

You will need to connect the following pins:
  • TTL-USB cable GND to ZodiacGX GND (R59)
  • TTL-USB cable Tx to ZodiacGX Rx (R136)
  • TTL-USB cable Rx to ZodiacGX Tx (R60)


Leave unconnected the VCC pin on ZodiacGX (R145).
Connect with a serial terminal. In Windows you can use PuTTY, in Linux you can use picocom.
Serial configuration:
  • speed (baud rate): 57600 for U-Boot, 115200 for Linux console
  • data bits: 8
  • parity: none
  • stop bits: 1
  • low control: none

In Linux you can connect on serial port with:
Code: [Select]
sudo picocom --baud 57600 /dev/ttyUSB0
In Windows/PuTTY, chose serial connection and configure:
  • Serial line to connect to: COM__ (Find the serial port name in Device Manager devmgmt.msc)
  • Speed (baud): 57600
  • Data bits: 8
  • Stop bits: 1
  • Parity: None
  • Flow control: None

Unplug and plug back the power. You should see the boot sequence on the serial terminal.                 
If everything goes well you should see:
Code: [Select]
MT7621   stage1 code Mar 12 2015 14:43:30 (ASIC)This is the startup of stage1 of U-Boot boot loader.                                                     

If the last message is:
Code: [Select]
Starting kernel ... This means that you have the wrong firmware and the Linux kernel could not be booted.                   
You will need to do a flash re-write of the firmware. This was my case.                                 

Rewriting the firmware

You will need to prepare a TFTP server and have the firmware image in the folder configured in the TFTP server.
For Windows you can use Pumpkin TFTP server:

For Linux you can use dnsmasq: http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html

The U-Boot boot loader is presenting a menu for about 1 second. Here is the menu:

Code: [Select]
Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.
default: 3
You will need to press 2 and the following text will show up:

Code: [Select]
You choosed 2

 0


2: System Load Linux Kernel then write to Flash via TFTP.
 Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
 Please Input new ones /or Ctrl-C to discard
        Input device IP (192.168.193.165) ==:192.168.193.165    <--- This is the IP address for ZodiacGX
        Input server IP (192.168.193.119) ==:192.168.193.119    <--- This is the IP address for TFTP server
        Input Linux Kernel filename (Zodiac_GX_v1_10_20180908_2.bin) ==:Zodiac_GX_v1_10_20180908_2.bin  <-- This is the firmware image downloaded from http://forums.northboundnetworks.com/index.php?topic=980.0

When the flash is complete, the U-Boot boot loader will boot the new image.
The new image is changing the serial port speed to 115200. Make sure you change the speed in PuTTY or picocom too.
At the end of the boot, you can press Enter to activate a shell. You can use Linux commands to reconfigure networking
Code: [Select]
sudo vi /etc/config/network
« Last Edit: October 25, 2018, 01:10:50 PM by Mircea Vutcovici »