We’ve been chugging coffee and working away in the Onion Lab to fix the issues with the Omega’s firmware, and we have an update we thought we should share:

The Omega2 and Omega2+ can now successfully connect to the Onion Cloud and the Reset Button on the Docks now actually resets the Omega!

Getting the New Firmware

To make the transition to the new firmware super easy, the version has been incremented to 0.1.9. So all you need to do is run the oupgrade command on the Omega’s command line or trigger a firmware upgrade through the Console, and your Omega will take care of the rest!

Check out the Docs articles on upgrading with oupgrade and upgrading with the Console if you’re looking for more information about upgrading the Omega’s firmware.

The Fixes

A few technical details for those interested:

  • The reset button issue was actually caused by incorrectly configuring the Omega’s Device Tree for the Reset GPIO
  • The Cloud fix was a little more involved and required updating software running on the Omega devices as well as on the Onion Cloud.
    • The Device Client that the Omega uses to communicate with the Onion Cloud was incorrectly generating the URL for the socket connection to the Cloud server. After lots of tears and coffee, we discovered it was actually a string copying issue. We had initially ruled that out since the Device Client worked with firmware created a few weeks ago, but our best guess is that muslC, the C library used by LEDE, changed how it handles string copying using strncpy in the meantime. The key takeaway: strncpy is generally a safer choice when copying strings but can cause some undefined behaviour!
    • On the Cloud side, we added a few stability fixes and updated how the Cloud reads the commands your Omega has available. There was an issue that was making devices unresponsive to commands even after a successful connection but we nipped it in the bud

The firmware change-log and known issue listing have been updated to reflect the above.

Omega2 and Omega2+ Officially Supported by LEDE

We’ve been working with the LEDE team and we’re proud to announce that our Pull Request to the LEDE repo has been approved and merged. The LEDE repo now has official support for the Omega2 & Omega2+ devices and can be used to build your own firmware!

What’s Next?

We’re committed to making the Omega the very best that it can be, so expect more updates and fixes in the near future. We’re gonna take care of everything that’s on that known issues list as soon as we can!

If you encounter any issues that should be added to our list, please let us know on the community forum!

 

<3 Onion

 

2 responses to “Omega2 Update: More Firmware Fixes with a side of working Cloud”

  1. Nivatyakul says:

    root@Omega-B6B5:/# oupgrade -v
    > Device Firmware Version: 0.1.6 b137
    root@Omega-B6B5:/# oupgrade -c
    > Device Firmware Version: 0.1.6 b137
    > Checking latest version online…
    > Repo Firmware Version: 0.1.9 b149
    > Comparing version numbers
    > New firmware version available, need to upgrade device firmware
    root@Omega-B6B5:/# oupgrade
    > Device Firmware Version: 0.1.6 b137
    > Checking latest version online…
    > Repo Firmware Version: 0.1.9 b149
    > Comparing version numbers
    > New firmware version available, need to upgrade device firmware
    > Downloading new firmware …
    /usr/bin/oupgrade: local: line 1: not in a function
    –2016-12-22 17:49:47– http://repo.onion.io/omega2/images/omega2p-v0.1.9-b149.bin
    Resolving repo.onion.io… 54.149.140.66, 52.89.44.24
    Connecting to repo.onion.io|54.149.140.66|:80… connected.
    HTTP request sent, awaiting response… 503 Service Unavailable
    2016-12-22 17:50:47 ERROR 503: Service Unavailable.

    > ERROR: Downloading firmware has failed! Try again!