Omega 2+ USB Firmware Install after Brick. [Resolved]
Got home today and was happy to see my Omega 2+ arrived after a successful Kickstarter Campaign. I immediately began the process of bricking it. This is my story.
After success powering up the unit, I realized I have a compatible battery (almost) from an old PS3 controller. It was the correct connector, wrong polarity. I swapped the positive and negative connections in the JST connector using my pocket knife. I was able to determine polarity on the Omega PowerDock by simply viewing the layout of the board.
I connected my battery and was surprised the device powered on from the switch so simply. Pleased with myself I decided to continue the setup process. All went without issue until I went to upgrade the firmware as the last step of initial config. I started the install and thought "maybe I should connect it to my laptop for power while this is upgrading". Bad Idea, I'm not certain if my laptop was unable to support the extra current of the device in use and charging the battery at the same time but, power seemed to have intermittently dropped. I noted the yellow/orange indicator on the Omega 2+ went out and that's it. Bricked during firmware upgrade.
Luckily, I was able to remedy the situation after learning I may have some issue with my powerdock or I made a failed assumption of the RX1 and TX1 pins being mapped to the Omega's UART. Finally after some tinkering with my Bus Pirate I was able to talk with the Omega again by clipping on to the tops of the actual Omega 2+ pins(directly not through the power dock) I attempted to reset by holding the reset button on the powerdock and then turning it on via the power switch, I noted a menu option that allows "restore firmware from USB" Finally, a break.. I found a copy of the firmware at "http://repo.onion.io/omega2/images/" downloaded the file to a USB flash drive and attempted to install from the omega serial terminal. It failed initially, but I noted it was looking for a file named omega2.bin. After renaming the file on the flash drive and rebooting once more the Omega 2+ installed it's firmware and rebooted! I now have a happy Omega 2+ with the latest firmware.
I'll go through the official channel provided by the mods for hardware issues if I find any after some additional testing but does anyone know if the RX1 and TX1 pins on the PowerDock expansion are supposed to map to the Omega's UART? I haven't found a schematic for it yet.
Procedure to install firmware via USB:
- Download firmware file to USB flash drive
- Rename the file to Omega2.bin (for the Omega 2+ anyway)
- Connect PC to Omega 2 via device supporting USB to serial connectivity. (I know some expansions have this. I only have the Power Dock and it does not support Serial connectivity via USB)
- Hold the reset button down and power on the omega.
- Select option #2, install firmware from USB.
The omega should search the root of the flash drive, find the appropriate file (my flash had many other files/directories on it) Install the binary image and reboot.
I did note that I was able to immediately hit the default config page but, I recommend leaving the unit powered on and untouched for 3-5 minutes as my Omega 2+ did some filesystem clean-up/allocation that caused the initial setup process to take longer. I was only able to note this from the serial terminal connection.
Hopefully this helps someone.
If anyone knows of Power Dock Schematics, or if my Power Dock pins labeled RX1 and TX1 should be mapped to the omega 2+ please let me know. I may have a bad dock. I'll do a little testing before approaching the official channels for handling an expansion replacement. If anyone wants to see a dump of my terminal session please let me know.
Thanks for the firmware update procedure via USB. VERY USEFUL!!!
If anyone knows of Power Dock Schematics, or if my Power Dock pins labeled RX1 and TX1 should be mapped to the omega 2+ please let me know.
You may check the docs here:
No schematics yet... I don't see RX1 and TX1 in the photos, so maybe that it's a different product? Perhaps for the Omega1?
Very good - thanks for that. Does anybody know how to make the, "Omega2.bin" file?
What I would like to do is fully configure an application, ready to go and then make two or three devices all the same, so having a compiled .bin image of the complete install that I could install in that way would be awesome..
Look into dd. I've imaged multiple embedded devices and small SBCs with it. works over network and various local storage types. Here is a teaser:
Thanks - I will have a look. I was... once aware of dd back in the late 90's whilst trying to dip my hand into a Sun Ultra1 Unix box.
Great to hear you were able to get it working again! As for the UARTs, the Omega2 has 2 of them, explained below:
TX1pins are mapped to UART1, which are for the Omega2 to communicate with other serial devices.
- UART0 is the one that is used to control the Omega's terminal over serial. These pins are broken out only on the Breadboard Dock and the Arduino Dock.
You can read the full details about the UARTs in our UART guide here.
If you don't mind, I've marked your topic as [Resolved] to help others find it in the future!
This post is deleted!
Thank you , thank you , thank you. Works fine. This should be posted at the TOP of the listing.
Thanks, restored my 2nd Omega2+ into b150. WiFi works, although it catches it on 6th or 7th attempt.
perfect!!!!! Used dock mini. Many thanks.
@Colt-Burns I was so happy when I found your guide, thanks.
So I managed to brick one of my Omega 2+ and followed this guide to unbrick it. But I never get to choose
option #2. The boot process stops at "Uncompressing Kernel Image ...".
So maybe thsi one is bricked for good?
Thank you from me too.
After upgradeing the Omega2p to the new firmware yesterday
I somehow ran into a bootloop (can't imagine what happened
everything went fine and after the installation it rebooted into this bootloop)
This thread help me to fix it without having to build arround
And factory reset with the reset button doesn't do anything either.
This sounds like what I need to do. I don't understand where you'll see "option #2" though? Maybe I need to research how to connect via USB to Serial but if you power it on with the reset button down, there must me some steps that will give you options on your screen. Am I missing something?
@Marty-Mickelson Yes, you need to be able to see what the Omega2 spits out on uart0. If you have reset-button down, or connected to 3.3V with a wire, the boot-loader will present you with a menu for 40 seconds, where you can choose an option for flashing from a USB-drive and such.
Ok. I will search the web for how to do that with my Mac. I'm connected from my Mac USB to the dock mini USB port. If you know the url of a resource on the web, I'd love to hear it.
Currently, when I turn it on while holding down reset, the amber light blinks rapidly for 30 seconds, then goes dark. I'm guessing this is the period where it would be asking to reset.
@Marty-Mickelson I ain't got a single Apple-device or any experience with OSX, so I can't help you there.
@Marty-Mickelson If you have reset-button down, or connected to 3.3V with a wire, the boot-loader will present you with a menu for 40 seconds, where you can choose an option for flashing from a USB-drive and such.
Ah so that is probably how you access "safe mode" etc.
So without any docks but dozens of Prolific PL2303HX USB to TTL adapters is it simply hook one up to RX0 and RX1 or the USB pins (D+ and D-) and then ensuring the drivers are available?0
Home and Business Automation
Ah so that is probably how you access "safe mode" etc.
So without any docks but dozens of Prolific PL2303HX USB to TTL adapters is it simply hook one up to RX0 and RX1 or the USB pins (D+ and D-) and then ensuring the drivers are available?
The prompt for safe mode comes after u-boot has already loaded up and booted the Linux-kernel, ie. it comes a few seconds later and the safe mode - prompt only lasts for like two seconds. As for using a USB-to-TTL adapter, you need to hook the adapter's RX to Omega2's TX and adapter's TX to Omega2's RX. You do not connect them to the USB-pins.
How the u-boot menu looks like:
____ _ ____ / __ \___ (_)__ ___ / __ \__ _ ___ ___ ____ _ / /_/ / _ \/ / _ \/ _ \ / /_/ / ' \/ -_) _ `/ _ `/ \____/_//_/_/\___/_//_/ \____/_/_/_/\__/\_, /\_,_/ 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 flash manufacture id: c2, device id 20 19 find flash: MX25L25635E *** Warning - bad CRC, using default environment ============================================ Onion Omega2 UBoot Version: 126.96.36.199 -------------------------------------------- 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 = 575 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.
How the safe-mode prompt looks like:
-------I CUT A LOT OF TEXT OUT BEFORE THIS----- [ 7.335576] MTK MSDC device init. [ 7.378336] mtk-sd: MediaTek MT6575 MSDC Driver [ 7.388919] sdhci: Secure Digital Host Controller Interface driver [ 7.395213] sdhci: Copyright(c) Pierre Ossman [ 7.401405] sdhci-pltfm: SDHCI platform and OF driver helper [ 7.413483] usbcore: registered new interface driver usb-storage [ 7.431112] init: - preinit - [ 7.866305] mmc0: new SD card at address bf77 [ 8.036661] mmcblk0: mmc0:bf77 SD01G 983 MiB [ 8.042870] mmcblk0: p1 [ 8.058552] random: procd: uninitialized urandom read (4 bytes read, 14 bits of entropy available) [ 8.485567] rt3050-esw 10110000.esw: link changed 0x00 Press the [f] key and hit [enter] to enter failsafe mode Press the , ,  or  key and hit [enter] to select the debug level
May take a few tries to learn to spot this prompt.
@WereCatf I have a linux laptop, but not a USB to TTL adapter. Maybe I'm screwed until I can get one.