Help with bricked Omega 2+



  • Hi all,

    I've searched these forums, read the documents to unbrick but to no avail. Basically I got my Omega 2+ out recently with a Power Dock. It hadn't been used for a few years, I planned on updating it.

    My OS: Linux (6.8.0-58-generic, Ubuntu)
    Onion Omega 2+
    Power Dock
    Ethernet Dock
    Ethernet cable, USB data power cable, USB stick with omega2p-v0.3.4-b259.bin renamed to omega2.bin in the root directory

    Not remembering how to get it all working, I read the docs and booted it, saw the WiFi name and connected using the onioneer password. All good. In the web UI for the device I had the option to update the firmware. So I went for omega2p-v0.3.4-b259.bin and clicked go (or whatever it was to make it start). I left it for about 45 minutes - the light had stopped flashing and was solid. Obviously the web interface was no longer working so I hard rebooted the device (plugged it on and off).

    I've tried resetting it - power on, hold reset button for 10 seconds - it doesn't work. No reset happens.

    Now it won't boot at all. I've followed this guide: https://docs.onion.io/omega2-docs/Firmware-Flashing-Web-Recovery.html but cannot get the serial to connect. The light does come on on it, and is solid orange on the Omega board. That's all though.

    I have successfully loaded the module cp210x (using modprobe) on my Linux box, but when I plug the USB power cable to the Omega, I do not see a /dev/ttyUSB0. It is a proper data cable too and I've used it to transfer images from my phone so definitely works.

    The page referenced above states "First, connect to the Omega’s command line through serial. Then, power on the device and press the Reset button on the Expansion Dock at the same time."

    I do not get this - how can I connect through serial and then power the device on?

    I've also added the ethernet connection between my PC and Omega, given the PC 192.168.8.100 address (static, obviously) and cannot see 192.168.8.8.

    I've also tried following https://docs.onion.io/omega2-docs/Firmware-Flashing-from-USB-storage.html, but again, same problem - no serial connection so still cannot get into it. I placed the omega2.bin file in the root of the USB stick and plugged in to the Omega.

    I've looked at other pages with similar problems but am scratching my head now. I've checked WiFi and don't see the Onion router AP name so it's definitely not working.

    Can anyone point me in the right direction please, or give some advice where to go from here?

    Post edit - output of lsmod:

    lsmod | grep cp210x
    cp210x                 40960  0
    usbserial              69632  1 cp210x
    


  • OK: From https://docs.onion.io/omega2-docs/power-dock.html

    "There is no USB-to-Serial Chip on the Dock. This means that you will not be able to connect to the Omega serially over the Micro-USB port."

    I am sure I have a mini expansion dock and/or expansion dock so will try them and get back here with the results.

    And it looks like to enable web UI recovery over ethernet, I also need to enable serial.... Which is probably why I can't use that method either.

    Same for the USB recovery method - serial required again.

    So I guess without a mini dock or expansion dock I'll have to wait.

    I do have a USB to TTL serial connector I've used with my Raspberry Pis but could not find out how to do that if anyone has any information, would I be able to do that to connect directly to the serial pins?



  • OK,

    I got my expansion and mini docks, managed to connect through serial.

    Attached USB with omega 2+ images named omega2.bin in the root of the USB (FAT FS), booted.

    Got the correct boot messages, selected to recover from USB:

      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f60000
    raspi_read_devid: ret: 1920c2
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    raspi_wait_ready: read_sr fail: 0
    *** Warning - bad CRC, using default environment
    
    ============================================ 
    Onion Omega2 UBoot Version: 4.3.0.3
    -------------------------------------------- 
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Oct 18 2016  Time:17:29:05
    ============================================ 
    

    Tried with the expansion and mini dock, also used a USB hub attached via my laptop and could still communicate.

    It goes through the flash process:

    Reading file "omega2.bin"
    *
    ********************************
    ******
    ******
    **********************************************************************************************************************************************************************************************************************************************
    *
    FAT: 7078055 Bytes read
    raspi_wait_ready: read_sr fail: 0
    

    ... Then at some point finishes and comes up with:

    Boot Linux from Flash NO RESET PRESSED.
    ## Booting image at bc050000 ...
    raspi_wait_ready: read_sr fail: 0
    Bad Magic Number,00000000 
    

    The number of bytes read, above, matches the file sizes:

    ls -l /media/user/68EA-5A44
    total 13856
    -rw-r--r-- 1 user user 7078055 May 20 19:43 omega2.bin
    -rw-r--r-- 1 user user 7078055 May 20 19:43 omega2p-v0.1.10-b160.bin
    

    I've also tried omega2p-v0.2.2-b201.bin

    So as a last resort I tried command line boot and ran bootm and a CRC check:

    ** No boot device **
    Omega2 # bootm
    ## Booting image at 80100000 ...
    Bad Magic Number,00A14395 
    Omega2 # crc32
    Usage:
    crc32   - checksum calculation
    

    So, is this totally bricked or is there anything else I can try? Would web recovery mode work any different?



  • OK, so I tried a web upgrade too. It failed:

    HTTP upload is complete.
    Upgrading...
    
    
    ****************************
    *    FIRMWARE UPGRADING    *
    * DO NOT POWER OFF DEVICE! *
    ****************************
    
    raspi_wait_ready: read_sr fail: 0
    ## Error: HTTP ugrade failed!
    
    Bringing Eth0 (10/100-M) up...
    HTTP server starting at 192.168.8.8 ...
    HTTP server is up and running.
    Request for: /style.css
    Request for: /o.gif
    

    Light flashed for a few seconds, then it went off and the message above came up.



  • Booting to command line shows U-Boot 1.1.3:

    Please select option: 
       [ Enter ]: Boot Omega2.
       [ 0 ]: Start Web recovery mode.
       [ 1 ]: Start command line mode.
       [ 2 ]: Flash firmware from USB storage. 
    
    Option [1] selected.
       
    1: System Enter Boot Command Line Interface.
    
    U-Boot 1.1.3 (Oct 18 2016 - 17:29:05)
    Omega2 # 
    
    

  • administrators

    @Zendog Great work debugging this so far, very systematic!

    Judging by the U-Boot 1.1.3 (Oct 18 2016 - 17:29:05) it looks like your Omega2 has a very old bootloader.

    Please try following these instructions to update the bootloader: https://docs.onion.io/omega2-docs/Web-Recovery-flash-bootloader.html

    And then try firmware recovery over ethernet again. Let me know how it goes!



  • Thanks @Lazar-Demin, here goes:

    First, boot from serial and select [ 0 ]: Start Web recovery mode:

    [11:17:21.900] Connected
    
    
       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f60000
    raspi_read_devid: ret: 1920c2
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    raspi_wait_ready: read_sr fail: 0
    *** Warning - bad CRC, using default environment
    
    ============================================ 
    Onion Omega2 UBoot Version: 4.3.0.3
    -------------------------------------------- 
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Oct 18 2016  Time:17:29:05
    ============================================ 
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768 
    CPU freq = 1073 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    
    
    You have 40 seconds left to select a menu option...
    
    
    Please select option: 
       [ Enter ]: Boot Omega2.
       [ 0 ]: Start Web recovery mode.
       [ 1 ]: Start command line mode.
       [ 2 ]: Flash firmware from USB storage. 
    
    Option [0] selected.
    raspi_wait_ready: read_sr fail: 0
    
    Bringing Eth0 (10/100-M) up...
    RT2880 ETH setup done.
    HTTP server starting at 192.168.8.8 ...
    HTTP server is up and running.
    Request for: /
    Request for: /style.css
    Request for: /o.gif
    

    Next I've downloaded uboot-omega2p-20221118.bin, the latest firmware via the web UI, the click Update!:

    The web UI updates with Your file was successfully uploaded!, here is the serial output:

    Data will be downloaded at 0x81000000 in RAM
    Upgrade type: firmware
    Upload file size: 173124 bytes
    Loading: #######################################
             #######################################
             #######################################
             ####
    
    HTTP upload is complete.
    Upgrading...
    
    
    ****************************
    *    FIRMWARE UPGRADING    *
    * DO NOT POWER OFF DEVICE! *
    ****************************
    
    raspi_wait_ready: read_sr fail: 0
    ## Error: HTTP ugrade failed!
    
    Bringing Eth0 (10/100-M) up...
    HTTP server starting at 192.168.8.8 ...
    HTTP server is up and running.
    Request for: /style.css
    Request for: /o.gif
    

    Clearly it's broken.

    Is there anything I can diagnose from the command line?

    Here's the options it gives me:

    1: System Enter Boot Command Line Interface.
    
    U-Boot 1.1.3 (Oct 18 2016 - 17:29:05)
    Omega2 # ?
    ?       - alias for 'help'
    bootm   - boot application image from memory
    cp      - memory copy
    crc32   - checksum calculation
    erase   - erase SPI FLASH memory
    fatinfo - print information about filesystem
    fatload - load binary file from a dos filesystem
    fatls   - list files in a directory (default /)
    go      - start application at address 'addr'
    help    - print online help
    md      - memory display
    mdio   - Ralink PHY register R/W command !!
    mm      - memory modify (auto-incrementing)
    nm      - memory modify (constant address)
    printenv- print environment variables
    reset   - Perform RESET of the CPU
    rf      - read/write rf register
    saveenv - save environment variables to persistent storage
    setenv  - set environment variables
    spi	- spi command
    tftpboot- boot image via network using TFTP protocol
    usb     - USB sub-system
    usbboot - boot from USB device
    version - print monitor version
    

    This page mentions reflashing the ART - https://community.onion.io/topic/238/another-odd-omega-not-booting-problem/18 - is that worth trying?



  • Not sure what to run from command line, here's the result of printenv:

    Omega2 # printenv
    bootcmd=tftp
    bootdelay=5
    baudrate=115200
    ethaddr="00:AA:BB:CC:DD:10"
    ipaddr=192.168.8.8
    serverip=192.168.8.1
    stdin=serial
    stdout=serial
    stderr=serial
    
    Environment size: 150/4092 bytes
    

Log in to reply
 

Looks like your connection to Community was lost, please wait while we try to reconnect.