Restoring original Omega firmware
-
Hi there,
I dug out one of my original Omega and remembered the OS got corrupted somehow. I then connected to its serial port and found out this:
Omega> bootm Booting image at: 0x80800000 Image name: ???????????????????*???? ???????????? Image type: MIPS Linux Kernel Image (lzma compressed) Data size: -1431651654 Bytes = 2730.7 MB Load address: 0xAAAAAAAA Entry point: 0xAAAAAAAA Uncompressing kernel image... ## Error: LZMA error num: 1
Probably one of my previous experiments went wrong.
I then used a breadboard dock to connect the Ethernet expansion to
+3.3V / GND / TX- / TX+ / RX- / RX+ to the corresponding pins (taken respectively from there for the Onion itself and the expansion header and my own CP2102 USBtoUART converter.The reason for this setup:
- On my original non-power full-size dock, the power switch broke and took a part of the trace with it, so I couldn't repair it with common tools and had to trash it. Seems it was a common issue in the first batches. So no built-in UART converter for me.
- There's a simpler Ethernet converter on the reference schematic usable on short runs that I can't build because it uses rare 49.9Ω value resistors that are surprisingly expensive, so have to use the Ethernet expansion.
To my surprise, even with an Ethernet cable connected to my computer (manual IP set to 192.168.1.100, router (=failed Omega) 192.168.1.1 (parameters listed in printenv)), U-Boot claims neither eth0 or eth1 is connected and refuses to launch the www server for firmware recovery.
Same result when connected to my regular LAN.
I know my connections to be correct as Ethernet works both on Omega 2+ and another, functional Omega.
Now, what am I missing to activate Ethernet connectivity?
Knowing the original firmware, while very user-friendly, is based upon an hopelessly outdated LEDE, how can I install up-to-date OpenWRT along with Omega-specific packages?
-
@cubytus The original Omega cannot use the current Omega2(+) firmware as it is architecturly different, you can download the latest firmware for the Omega (original) here: http://repo.onion.io/omega/images/
-
I am not attempting to push Omega2+ firmware onto Omega (1).
-
@cubytus The link I provided has the Omega 1 firmware.
-
Here's what I get, in case it's not clear.
********************************************* * U-Boot 1.1.4 (Sep 14 2015, 08:21:31) * ********************************************* AP121 (AR9331) U-Boot for Onion Omega DRAM: 64 MB DDR2 16-bit id read ox100000ff FLASH: 16MCLOCKS: 400/400/200/20 MHz (CPU/RAM/AHB/SPI) LED on during eth initialization... Hit any key to stop autobooting: 0 Booting image at: 0x9F020000 Image name: ??"W?ք MIPS Ope Image type: MIPS Linux Kernel Image (lzma compressed) Data size: -679527621 Bytes = 3448 MB Load address: 0x2378C2DE Entry point: 0x357D1F36 Uncompressing kernel image... ## Error: LZMA error num: 1 ## Error: failed to execute 'bootcmd'! HTTP server is starting for firmware update... Link down: eth0 Link down: eth1 […] ## Error: couldn't initialize eth (cable disconnected?)!
Ethernet has to be working before I try to push the firmware.
-
Since I can make a comparison, curiously the same process from a working Omega also fails at this point:
********************************************* * U-Boot 1.1.4 (Sep 14 2015, 08:21:31) * ********************************************* AP121 (AR9331) U-Boot for Onion Omega DRAM: 64 MB DDR2 16-bit id read ox100000ff FLASH: 16MCLOCKS: 400/400/200/20 MHz (CPU/RAM/AHB/SPI) LED on during eth initialization... Press reset button for at least: - 3 sec. to run web failsafe mode - 5 sec. to run U-Boot console - 7 sec. to run U-Boot netconsole Reset button is pressed for: 4 Button was pressed for 4 sec... HTTP server is starting for firmware update... Link down: eth0 Link down: eth1 […] ## Error: couldn't initialize eth (cable disconnected?)!
bootm command also fails:
bootm Booting image at: 0x80800000 Image name: ???????+?#::2??+;? ????? ?;;??z*????? Image type: MIPS Linux Kernel Image (lzma compressed) Data size: 195705595 Bytes = 186.6 MB Load address: 0x3AB03A2B Entry point: 0xBAB3AAAB Uncompressing kernel image... ## Error: LZMA error num: 1
If I don't interrupt the boot, everything works fine.
So something is interfering when boot is interrupted, either manually or because the firmware is corrupted.
Let's continue the n00b analysis:
Displaying the memory content at 0x9F020000 on a working Omega:Omega> md 0x9F020000 9F020000: 01000000 4F70656E 57727400 00000000 ....OpenWrt..... 9F020010: 00000000 00000000 00000000 72343933 ............r493 9F020020: 38390000 00000000 00000000 00000000 89..............
Displaying the same memory content at the same address on the bricked Omega:
Omega> md 0x9F020000 9F020000: 27051956 89991322 57A4D684 00119D25 '..V..."W......% 9F020010: 80000000 80000000 5921F5B0 05050203 ........Y!...... 9F020020: 4D495053 204F7065 6E577274 204C696E MIPS OpenWrt Lin 9F020030: 75782D33 2E31382E 33360000 00000000 ux-3.18.36......
Environment variables are the same.
However, the boot address is different:
On a working Omega:********************************************* * U-Boot 1.1.4 (Sep 14 2015, 08:21:31) * ********************************************* AP121 (AR9331) U-Boot for Onion Omega DRAM: 64 MB DDR2 16-bit id read ox100000ff FLASH: 16MCLOCKS: 400/400/200/20 MHz (CPU/RAM/AHB/SPI) LED on during eth initialization... Hit any key to stop autobooting: 0 Booting image at: 0x9F020000
On the bricked Omega, it is trying to load 0x80800000 instead.
-
TL;DR: I can't upgrade or restore firmware: something needs to be done first to activate Ethernet, but what is it?
-
Any idea?