We have upgraded the community system as part of the upgrade a password reset is required for all users before login in.

⭐️ Beta OpenWRT 22.03 firmware available! Your feedback is needed ⭐️


  • administrators

    Hey everyone,

    We’ve got some exciting news: new beta firmware for the Omega2 and Omega2+ is available!

    It’s based on OpenWRT 22.03.2 and runs Linux Kernel 5.10.146.

    Our mid-term goal is to continue to work on this firmware until it is ready to be the default, stable firmware that Omega2 devices will ship with from the factory.

    We would love for you to try out the beta version and collaborate with us on improving this firmware.


    What can I expect from this firmware?

    We’re taking a new approach with this firmware and starting with a blank slate.

    It does not use a custom WiFi driver nor does it have all of the utilities and packages that are included in the existing stable (v0.3.3) Omega2 firmware. There’s just a few usability customizations so far.

    We want to work with the community, and only add things that our users deem to be necessary.

    Why are we taking this approach? A few reasons:

    • Better user experience + development focus
      • Instead of assuming what our users want and stuffing that into the firmware or maintaining old packages that nobody uses, we want to actually hear what is helpful and what isn’t
      • Based this, we will focus our development efforts on what Omega2 users actually find important
    • More lightweight firmware - By starting with a blank slate, the new firmware is very lightweight: more storage space is available to users and it boots faster.
    • Easier to port and keep up with OpenWRT - The existing firmware has many kernel customizations, a custom wifi driver, and a large number of custom packages. All of these make it very work-intensive to move to newer OpenWRT versions. We want to be able to better keep up with the development of OpenWRT.

    We plan to continuously work on this firmware. At some point, when it’s ready, it will become the default, stable firmware that will be flashed in the factory.

    In the longer term, we plan continue to improve the firmware for our users and to keep up with OpenWRT’s releases in a timely manner.

    How can I get and use this new firmware?

    The firmware is available in the Onion software repository: http://repo.onioniot.com/omega2/images/openwrt-22.03/

    We’ve also put together a document that covers:

    • How to install the new firmware on a device
    • How to connect to the device
    • How to use the hardware interfaces

    This doc can be found on GitHub: https://github.com/OnionIoT/OpenWRT-Packages/blob/openwrt-22.03/technical-doc.md

    How can I give feedback?

    We’d love to hear what you think!

    For general discussion or if you have any questions, feel free to post in this thread or make new topics on the Onion Community. We’ll be around and ready to chat!

    If you have specific improvement suggestions (or bugs to report), you can create an Issue in the OnionIoT/OpenWRT-Packages GitHub Repo.

    There are issue templates you can use for Improvement Suggestions/Feature Requests and Bug Reports.

    You can also follow along with our progress as we’ll be using GitHub to track our development efforts:


    TL;DR

    There’s new beta firmware available for the Omega2. It’s based on the recent OpenWRT 22.03 release.

    This will eventually become the default firmware for the Omega2 family. We’d love to get your feedback and collaborate on improving and enhancing this firmware.

    Try out the firmware by following the technical doc, and let us know what you think here on the community and by submitting issues on the OnionIoT/OpenWRT-Packages GitHub repo.


    Updates


    EDIT:



  • This is very good news! Thank you for this initiative.

    My initial question is why have an Omega2 distribution maintained by Onion at all? Would it not be better to have an official distribution available directly from the OpenWRT community, insofar as to benefit from community developments and security patches at the fastest rate possible? Apologies if this question is naive; I'm sure there are good reasons here.



  • this is absolutely great news Lazar, thanks!

    i will really jump on this right away, happy that i can drop the feeble attempts i made myself 🙂

    please give me some time to get this working in our product, and i'll be happy to start nagging you guys with feedback, i'm sure 😉

    cheers, tony


  • administrators

    @huntc glad to see the excitement 🙂 You make a valid point, I'll lay out our reasoning best I can.

    The Omega2/2S and Omega2+/2S+ are a part of OpenWRT and have been since 2016.
    As a result, when the OpenWRT community creates a new release, there is a "vanilla" firmware available for Onion devices:
    b4713df1-3d85-44b4-9aa7-3dd29e231e20-image.png

    In Onion's flavour of the firmware, we try to add customizations that bring value to our customers, either by making it easier to use (for example, friendly default network configuration) or by providing more functionality (for example, a gpio muxing utility).
    Down the road this can mean adding functionality that's not available or possible on the vanilla OpenWRT releases - like running the latest NodeJS for example.

    We believe that this way, users can choose what's right for them:
    If they need the latest developments and patches asap, they can use the OpenWRT releases.
    If they prefer the configs, utilities, and added functionality we provide, then they can use our customized version.

    But we're open to hearing feedback and changing our stance on this.

    Have you had a chance to try out Onion's v0.3.3 firmware for the Omega2/2+? Did you find any value in the additional utilities that were added?

    If we were to focus our efforts elsewhere, which areas would you rather see us putting effort into?



  • @Lazar-Demin said in ⭐️ Beta OpenWRT 22.03 firmware available! Your feedback is needed ⭐:

    But we're open to hearing feedback and changing our stance on this.

    Thanks. Appreciate the insight. My understanding was that these OpenWRT distributions weren't blessed by Onion. If they are, or they are going forward, then we're very happy with that.

    Have you had a chance to try out Onion's v0.3.3 firmware for the Omega2/2+? Did you find any value in the additional utilities that were added?

    We are using v0.3.3-b256 now and I think we've always used v0.3.3, although please note that we're not yet in production (nearly!). I think that the only utility we're using is the Onion wifi-scan ubus call. Our strategy is to not diverge from the OpenWrt base if practical, although the wifi scan did make things quite a bit easier. That said, we'd probably move to do things the OpenWrt way in the future.

    If we were to focus our efforts elsewhere, which areas would you rather see us putting effort into?

    We may be a bit different from your other customers. We are more focused on the hardware offering than any customisation of OpenWrt. Continuing to support the main branch of OpenWrt is the most important thing for us.

    Moving away from MIPS32 would also be attractive, although I appreciate the logistics of that. Supporting mainstream targets such as an Arm or Risc-V platform would be very attractive.


  • administrators

    @huntc Thanks for the feedback. Yeah, it's a tough balancing act - staying close to the latest developments while maintaining the value-add customizations.

    Can you elaborate on what you mean by "blessed by Onion" wrt the OpenWRT distribution?

    When you mention moving away from MIPS, what's the biggest driver behind that? Is it more horsepower or more support or something else?



  • @Lazar-Demin said in ⭐️ Beta OpenWRT 22.03 firmware available! Your feedback is needed ⭐:

    @huntc Thanks for the feedback. Yeah, it's a tough balancing act - staying close to the latest developments while maintaining the value-add customizations.
    Can you elaborate on what you mean by "blessed by Onion" wrt the OpenWRT distribution?

    I went down the standard distro path before and it was mentioned on this forum that the main repo isn't supported by Onion. So, it'd be great if that wasn't the case!

    When you mention moving away from MIPS, what's the biggest driver behind that? Is it more horsepower or more support or something else?

    We've had to jump through a few hoops having to target MIPS32 and Rust, but it is working for us now. We're quite interested in the more energy-efficient architectures though. Energy efficiency is important to us.



  • @Lazar-Demin

    I found this post https://community.onion.io/post/25025 and added these patches to your firmware builder for openwrt 22.03. Build and flashing was successful but not tested it yet.

    Dont know but maybe it helps you in your open issues. Especially for gpio mapping.


  • administrators

    @DocHardinger these GPIO patches have been on our radar, but we didn't want to go ahead without a user confirming they would indeed be useful.

    If you feel this would add value to the firmware, let us know by submitting a "feature request" issue on github (or a PR 🙂 )



  • Amazing news. We'll test it for sure...



  • What about using 'python3-spidev' in OpenWrt 22.03.?
    Or any ideas how to use spi in python3 on the new firmware?


  • administrators

    @DocHardinger what is your main use case for SPI? Do you currently use python3-spidev or something else?



  • @Lazar-Demin
    the main use is to communicate with an Analog digital converter. And many python libraries are using spidev so i think it makes sense to make this working again. Anyway if there is an alternative its also ok, but for now i didnt found a working solution in python3.

    I also tried to use spi-tools for testing the spi connection and there also seems to be some errors. But i will do some further tests later and give some feedback.



  • The external swap file instructions no longer works on the beta firmware. The swapon command throws an error:

    # swapon swap.page 
    block: failed to swapon swap.page (-1)
    

    I'm running the latest 22.03.3 b106 for the Omega2p on an Omega2 LTE.

    Any ideas on how to fix?



  • @jasoneer Assuming you have created the swap file on a file system somewhere you should use the full path:

    swapon /tmp/mounts/mymounts/swap.page



  • @crispyoz Sorry, I was in the folder where the swap.page was when I posted that but I did run it with an absolute path and it made no difference. I also repeated the same steps on another Omega2 LTE that was on the old/stable firmware and it worked no problems.


  • administrators

    @jasoneer said in ⭐️ Beta OpenWRT 22.03 firmware available! Your feedback is needed ⭐:

    The external swap file instructions no longer works on the beta firmware.

    PSA: expect that a lot of the existing Omega2 documentation probably won't work on the new beta firmware.

    If there are specific things you would like to see documented for the new beta firmware, please create an Issue in the OnionIoT/OpenWRT-Packages GitHub Repo.



  • @Lazar-Demin I tried looking into this as it was pointed out a few times on the OpenWRT forums that since v19 external swap was disabled for many targets. However, it looks like the Omega targets did not have this flag. Since I now have the beta firmware built from source, I will see what I can find out and will open an issue with more details.



  • @jasoneer Check in make kernel_menuconfig the option is General Setup->Support for paging of anonymous memory



  • @crispyoz Yup, that's what I did. It was already enabled and the omega targets didn't have the small_flash feature that would have disabled it.

    However, I did figure out the issue. On the beta firmware, when using extroot (booting from external), you can't create a swapfile on / or under any subfolder. It has to be under /overlay. The stable firmware allowed that and it would make sense that it did since /overlay should be the same as /. Anyway problem is fixed!



Looks like your connection to Community was lost, please wait while we try to reconnect.