Omega2 current defects



  • @Chris-Ouellette that is interesting information, thanks!

    However, I wonder why SPI with this halfduplex patch from narioninc works so well in my case. It is a TTN (LoRa) gateway, where SPI is needed to communicate with the actual radio module (RAK831). Specifically, the LoRa software contains an utility called util_spi_stress which does high-speed R/W test. I can run it for hours with no errors.

    Is there information about what circumstances exactly cause data corruption? Maybe the access patterns used by LoRa software just by accident don't trigger the problem?



  • @luz I have only seen data corruption in full duplex mode, half duplex works. It would surprise me if half duplex mode has a bug, since the SPI flash works reliable. In full duplex, I have observed errors in the second bit (always 1 or 0, don't remember exactly), depending on the state of the first bit. This makes the first transmitted byte unreliable.



  • @wdu @luz

    Odd that the Onion guys weren't able to get half duplex mode working.

    What is the best way to get a kernel image with the SPI fix? If you could point me to the information on how you created your kernel image I would greatly appreciate it.

    I'm new to the Linux world, I apologize for the basic question.



  • @Chris-Ouellette

    @Chris-Ouellette said in Omega2 current defects:

    @wdu @luz

    Odd that the Onion guys weren't able to get half duplex mode working.

    Indeed. As @wdu points out, unreliable operation of the hardware in half-duplex would make SPI flash unreliable, which isn't the case. So I guess it must be a matter of having the right drivers.

    What is the best way to get a kernel image with the SPI fix? If you could point me to the information on how you created your kernel image I would greatly appreciate it.

    I always build entire OpenWrt/LEDE images tailored to my device's needs. I documented the way to build a full image (that of my TTN gateway) here. It's not entirely trivial, but should be doable with some basic Linux command line experience. However the result is a specialized image, which will boot with any Omega2 into console, but lack most of the Omega tools (no web-UI, no wifi setup tools etc.).

    So you might want follow more generic LEDE build instructions from Onion's docs, and just apply the SPI-related patch before running the build.

    @wdu's mods seem to be more thorough and offering nice additional features (GPIO baseds CS lines, cool!), but so far I haven't found the time to test that, and can't provide help for that. I'm sure @wdu can 😉

    Of course, the best solution would be Onion adding one or the other patch to their firmware, and actually release it!



  • @luz thanks



  • This thread should be pinned.



  • For the sake of completeness, I am documenting the changes in the help-desk texts, too.

    On the SPI issue, originally:

    @Maximilian-Gerhardt said in Omega2 current defects:

    As someone on this forum posted a link to the helpdesk before, I have found a (kinda) interesting article: https://onion.freshdesk.com/support/solutions/articles/24000014450-spi-issue-resolution

    SPI issue resolution
    Modified on: Thu, 7 Sep, 2017 at 12:52 PM
    Hi everyone,

    We are keep getting the emails with regards to SPI issue resolution. We are currently working on a new SPI driver that will hopefully fix or at least improve this situation.We are also testing it and hope to release it in Q3 or Q4 or this year. >However, we cannot promise the full resolution of this problem. Above all, it is possible to setup software based SPI. It would, at least, have an upper limit in speed. Thank you for reading, stay tuned.

    If only it was at a more visible place, like a thread from the Omega Team with a list of things being currently worked on on their progress.. Well, but here we have it, maybe in Q4 (of which 2/3 are already over), we will have a fix. Or not, like with the deadline for a new WiFi driver. I'll keep this thread updated.

    I am not very pleased to see that the original text I quoted on that helpdesk was now changed to

    0_1515490408283_SPI2.png

    There isn't even any release date on there anymore. It's just "lol, we didn't get it working, but you can set up bit-banged SPI...".

    On the issue of no I2S drivers (https://onion.freshdesk.com/support/solutions/articles/24000019621-i2s-documentation), a new entry has appeared:

    Modified on: Thu, 4 Jan, 2018 at 4:20 PM
    The documentation on I2S will be available sometime in the February 2018, Stay Tuned!



  • OnionIoT has released a new firmware version b176 in https://onion.io/2bt-march-27-2018/ in which it is stated that:

    • a new WiFi driver "WiFi Warp Core" has been released, which fixes problems with:
      • general WiFi performance
      • Automatic Network Switching
      • Automatic Network Encryption Detection in wifisetup
      • Support for Hidden SSIDs
    • SPI Improvements
      • maximum transfer sizes increased to 4096 bytes
      • MSB corruption fixed for "some" devices ("We’ve observed that some SPI devices still show data corruption but others do not")
      • new python-spidev package for writing user-space programs with SPI (apparently different from old pyOnionSpi)

    Will re-test and recompile older programs to see how much it improved. Main post updated.



  • Hello everyone. Does anyone know if it is possible to use this new "WiFi Warp Core" driver with a custom build of LEDE or OpenWRT? Are there sources or binaries available?

    Thank you!



  • @Caio-Mehlem

    It is binary kernel module:
    https://github.com/OnionIoT/OpenWRT-Packages/tree/master/wifi-warp-core/bin

    Based on this, Wifi seems to work on the custom build. I haven't checked, however.

    @Stephane-Foloppe said in Wifi not working after building customized image:

    hi,

    I just build my own firmware and wifi is working !

    ( I just have to manually select Coreutils to make the wifi drivers appears in onion/wifi )


Log in to reply
 

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