wiki:modelserialnumber

Version 7 (modified by Tim Harvey, 3 years ago) ( diff )

add example for mfg date

Gateworks Model, Serial Number, and Software Versions

Gateworks Serial Number

Gateworks uses a 6digit serial number to identify products. There are several ways you can determine the serial number for a given product:

  • 6 digit bar-code on product
  • EEPROM info (For All board products)

physical bar-code

The serial number should be placed on a small white barcode sticker placed on the PCB somewhere, front or back, etc. Typically it is a 6 digit number such as 999999.

Please see picture below for example:

EEPROM: serial number from Bootloader output

The Laguna, Ventana, and Newport product family outputs the board serial number within the few lines that come out of the serial console when the board is powered on. For example, the Ventana bootloader may look like:

U-Boot 2013.04-rc1-00022-g0d7f692-dirty (Apr 09 2013 - 16:38:25)
CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Gateworks Corporation Copyright 2013
Model Number: GW5400-A
Manufacturer Date: 04-29-2013
Serial #: 504743

EEPROM: serial number from Linux

From Linux you can determine the serial number for Laguna and Ventana product families:

  • U-Boot 2019+ with devicetree kernels - determine from device-tree:
    SERNUM=$(cat /proc/device-tree/serial-number)
    echo $SERNUM
    
  • Ventana and Newport 3.10.+ devicetree kernels - determine from device-tree:
    SERNUM=$(cat /proc/device-tree/system-serial)
    echo $SERNUM
    
  • Venice, Laguna, Ventana, Newport - determine from the i2c EEPROM device:
        b0=$(i2cget -f -y 0 0x51 0x18 | cut -c3-)
        b1=$(i2cget -f -y 0 0x51 0x19 | cut -c3-)
        b2=$(i2cget -f -y 0 0x51 0x1a | cut -c3-)
        b3=$(i2cget -f -y 0 0x51 0x1b | cut -c3-)
        SERNUM="$((0x$b3$b2$b1$b0))"
        echo "SERNUM:$SERNUM"
    

EEPROM: MFG Date from Linux

From Linux you can determine the MFG date by looking at certain fields of the EEPROM:

b0=$(i2cget -f -y 0 0x51 0x20 | cut -c3-)
b1=$(i2cget -f -y 0 0x51 0x21 | cut -c3-)
b2=$(i2cget -f -y 0 0x51 0x22 | cut -c3-)
b3=$(i2cget -f -y 0 0x51 0x23 | cut -c3-)
$(printf "%02x-%02x-%02x%02x\n" 0x$b0 0x$b1 0x$b2 0x$b3)

Model Number

The model number is not typically printed on the PCB.

The model number can be seen at startup from the console of the board as one of the first few lines:

  • Ventana and Newport bootloader:
    U-Boot SPL 2014.04-00124-gb795e67 (May 16 2014 - 16:38:32)
    NAND : 256 MiB
    
    
    U-Boot 2014.04-00124-gb795e67 (May 16 2014 - 16:38:32)
    
    CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
    Reset cause: POR
    I2C:   ready
    DRAM:  1 GiB
    PMIC:  PFUZE100 ID=0x10
    NAND:  256 MiB
    MMC:   FSL_SDHC: 0
    No panel detected: default to HDMI
    Display: HDMI (1024x768)
    In:    serial
    Out:   serial
    Err:   serial
    
    Gateworks Corporation Copyright 2014
    Model: GW5400-C
    MFGDate: 05-16-2014
    Serial:612241
    GSC:   v43 0x7d77 0x11
    RTC:   1414768661
    DIO0:  GPIO1_IO09 (gpio-9)
    DIO1:  GPIO1_IO19 (gpio-19)
    DIO2:  GPIO2_IO09 (gpio-41)
    DIO3:  GPIO2_IO10 (gpio-42)
    MSATA: disabled
    RS232: enabled
    Net:   FEC [PRIME], usb_ether
    
    
  • Laguna bootloader
    U-Boot 2008.10-mpcore-svn404 (Aug 14 2013 - 15:46:55)
    
    CPU: Cavium Networks CNS3000
    ID Code: 410fb024 (Part number: 0xB02, Revision number: 4) 
    CPU ID: 900 
    I2C:   ready
    DRAM:  256 MB
    Flash: 16 MB
    Gateworks Corporation Copyright 2010
    Model Number: GW2388-SP208-D.
    Manufacturer Date: 10-18-2012
    Serial #: 298717
    

From Linux you can obtain the model number directly from the i2c EEPROM:

  • Ventana and Newport (3.10+ device-tree kernel):
      BOARD="$(cat /proc/device-tree/board)"
      echo $BOARD
    
  • Ventana and Newport (3.0.35 kernel):
      BOARD="$(dd if=/sys/devices/platform/imx-i2c.0/i2c-0/0-0051/eeprom bs=1 count=16 skip=48 2>/dev/null | hexdump -C | head -1 | cut -c62-67)"
      echo $BOARD
    
  • Laguna:
      BOARD="$(dd if=/sys/devices/platform/cns3xxx-i2c.0/i2c-0/0-0050/eeprom bs=1 count=16 skip=304 2>/dev/null | hexdump -C | head -1 | cut -c62-67)"
      echo $BOARD
    

PCB Revision

Gateworks has revisions of the PCB boards that are the base of the computer board.

The PCB revision can be identified from the silkscreen. The revision is the last 2 digits after the dash.

For example: 02210119-01 is Revision 1 or Revision B.

  • -00 = Revision A
  • -01 = Revision B
  • -02 = Revision C

Bootloader Version

The Bootloader Version can often be seen at startup from the console of the board as one of the first few lines...

Example Below:

U-Boot 2013.04-rc1-00022-g0d7f692 (Apr 09 2013 - 16:38:25)

CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Gateworks Corporation Copyright 2013
Model Number: GW5400-A
Manufacturer Date: 04-29-2013
Serial #: 504743
DRAM:  1 GiB
MMC:   FSL_SDHC: 0
  • here the bootloader version can be summarized as 2013.04-rc1-00022-g0d7f692

Software Version

The Software Version can often be seen at end of the bootup process.

Gateworks grabs a snapshot of a stable release of OpenWrt and then may apply it's patches and issue their own branches as seen here: https://github.com/Gateworks/openwrt

Common Gateworks releases will be referenced as the 12.10 branch or the 13.06 branch, or trunk. These can be checked out of SVN here: OpenWrt/building

OpenWrt typically has a 'banner' that will distinguish which release is being used.

Example Below shows the Barrier Breaker Release at Revision r36311:

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 BARRIER BREAKER (Bleeding Edge, r36311)
 -----------------------------------------------------
  * 1/2 oz Galliano         Pour all ingredients into
  * 4 oz cold Coffee        an irish coffee mug filled
  * 1 1/2 oz Dark Rum       with crushed ice. Stir.
  * 2 tsp. Creme de Cacao
 -----------------------------------------------------

See OpenWrt version history here: http://wiki.openwrt.org/about/history#timeline

Kernel Version

The kernel being used can be found through the uname -a command as seen below (3.8.6):

root@OpenWrt:/# uname -a
Linux OpenWrt 3.8.6 #1 SMP Wed Jul 10 09:06:50 PDT 2013 armv7l GNU/Linux

Reading GSC version

This can be found two ways:

  1. Serial console output at bootup
    Gateworks Corporation Copyright 2014
    Model: GW5224-B
    MFGDate: 12-04-2015
    Serial:668494
    GSC:   v46 0xd50b WDT:disabled board temp at 31C
    
    
  1. The following example will print out the GSC code revision. This example uses the Linux I2C utilities.
    i2cget -f -y 0 0x20 14		;# read GSC revision from register 14
    0x16				;# hex revision value = v22
    

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.