Reflashing a Bricked Omega with an Improvised Ethernet Connection

When you brick your Omega, you will need to reflash your Omega through the uboot commandline interface. However, the re-flash precedure requires the use of an Ethernet Expansion. Fortunately, if you don’t happen to have an ethernet expansion, you can build one yourself with a breadboard, some resistors and capacitors.

[[TOC]]

Required Materials

Note: There is no exact requirement for the capacitors and resistors values, however the capacitors shouldn’t be too big. (for example: 0.1µF and 100Ω should work)

The schematic

The schematic below outlines the connections that will be made between the two Omegas:

Schematic by Zheng Han

On a Breadboard

This is how it looks on a breadboard:

Image from johannes-zellner

The process

Here are the necessary steps after wiring the network connection:

  1. Boot the working Omega – let’s call it omega-good

  2. Connect the bricked Omega (omega-bricked) to a Linux PC with a USB cable (expansion switch still off)

  3. Connect to omega-bricked from the PC with screen /dev/ttyUSB0 115200

  4. Turn on the power switch of the omega-bricked Expansion Dock and immediately hit enter in the screen session to get into uboot on omega-bricked

  5. printenv in uboot on omega-bricked shows that the ethernet IP is configured to be 192.168.1.1

  6. Configure the ethernet connection of omega-good to use the static ip 192.168.1.100:
  7. Modify the settings in /etc/config/network and restart the network using /etc/init.d/network restart
  8. Alternatively, run ifconfig eth0 192.168.1.100 up

  9. While in uboot in omega-bricked, verify with ping 192.168.1.100 that the network connection to omega-good works

  10. While in uboot in omega-bricked start httpd

  11. Use omega-good to create an SSH tunnel from the Linux PC to omega-bricked. Run ssh -L 8080:192.168.1.1:80 on omega-good, note that the SSH connection to omega-good is via WiFi).

  12. Open http://localhost:8080/ in a browser on the Linux PC. The SSH Tunnel redirects this to the httpd of omega-bricked you see the uboot httpd upgrade page in your browser. uboot Firmware Update page

  13. Download the latest version of the Omega firmware from http://repo.onion.io/omega/images. Newest firmware has the highest build number.

  14. Click on the Choose File button and select the binary you downloaded in the previous step and click on the Update! button to start the flashing process. Once the firmware has been uploaded, you will see the following confirmation page: uboot Firmware confirmation page

  15. Enjoy your de-bricked Omega!

Acknowledgements

Credits to Zheng Han and Johannes Zellner the images and content!

Thank you to Chris McCaslin for making the nice wiki post and Lazar Demin for the edits :)