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 directoryNot 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 #
-
@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 clickUpdate!
: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