6lbr with Ethernet

Dear routing IOTlers,

as related question to my latest request I was wondering what is the latest state regarding a 6lbr (6LoWPAN border router) with an Ethernet interface. Does RIOT already support any off-the-shelf hardware that comes with an Ethernet port? If no, do you think it would make sense to go for some Adafruit feather board and use wings to attach radio and Ethernet interfaces? Or rather go for Arduino instead? Or something completely different? I would love to setup my own RIOT operated 6lbr.

Cheers Oleg

None that I know of, last checked about a year ago.

Yes, having such a board would be nice – but it appears to be a rare hardware combination that may best be achieved by some modular system (my favorite connector-wise is mikroe’s mikrobus which has tons of modules, but no decent 6LoWPAN capable base module). Possibly a feather base (eg. particle-xenon) with an Ethernet wing would fly. How to express such a combination in our boards system is yet another topic, though.

If you identify a candidate board that’s well suited, chances are I’d order one too if only to get this tested better – but for practical operation of a home 6LBR, I’ve started just using nrf52840 dongles, because my router has USB ports just as well, and the setup is straightforward enough on OpenWRT. (All the patch set now does is meddle with the choice of addresses because my router advertises more of them than RIOT by default handles).

It should be pointed out maybe, since I am not sure how deep @oleg is into the current state of RIOT, that the NRF52840dongle identifies itself as an Ethernet USB dongle to the host system (no other “hacks” such as ethos or SLIP are involved, just pure USB CDC ECM), so basically, even though no real “Ethernet cable” is involved it basically acts as a 6LBR with Ethernet.

BTW, at least my version of OpenWRT, needs a dedicated packet for that install to provide the kernel modules for USB CDC ECM, but they are provided by the OS (which is not the case for ethos or SLIPv6)

Hi chrysn and Martine,

On Thu, Dec 16, 2021 at 10:15:34AM +0000, Martine S. Lenders via RIOT wrote:

It should be pointed out maybe, since I am not sure how deep @oleg is into the current state of RIOT, that the NRF52840dongle identifies itself as an Ethernet USB dongle to the host system (no other “hacks” such as ethos or SLIP are involved, just pure USB CDC ECM), so basically, even though no real “Ethernet cable” is involved it basically acts as a 6LBR with Ethernet.

many thanks for the hints. Actually this USB solution sounds awesome (thanks also for that hint) and would probably suffice for my use case. In fact, something like a Raspberry Pi Zero W or the like would probably do the job, too. However, I just want a RIOT based 6lbr with real Ethernet that can ideally deal with BLE as well as with 802.15.4. :wink:

I will see if I can find anything OTS otherwise I will probably go for a tinkered solution.

Cheers Oleg

#if 0 linux-2.2.16/fs/buffer.c

If money is no object you can of course get a same54-xpro with an at86rf215 or at86rf233 extension.

A more cost effective and off-the shelf solution would be the ZB-GW03 Gateway, that however would need someone to feel motivated to add support for the EFR32 radio driver - a previous attempt unfortunately fizzled out.

Hey Ben,

On Thu, Dec 16, 2021 at 11:00:21AM +0000, Benjamin Valentin via RIOT wrote:

If money is no object you can of course get a same54-xpro with an at86rf215 or at86rf233 extension.

interesting, but is there also a BLE option available? And wouldn’t a SAMR21-XPRo with an Ethernet extension not a cheaper option?

A more cost effective and off-the shelf solution would be the ZB-GW03 Gateway, that however would need someone to feel motivated to add support for the EFR32 radio driver - a previous attempt unfortunately fizzled out.

Looks nice - even though I’m not a big fan of the ESP32. But maybe I can spend some time and/or motivate Kai to resume the work. A remaining question seems to be how easy it is to program the device.

Cheers Oleg

Cheers Oleg

panic (“No CPUs found. System halted.\n”); linux-2.4.3/arch/parisc/kernel/setup.c

Unfortunately there is no BLE from Microchip after SAM B11. RIOT only support BLE on nRF5x devices through NimBLE, no other vendor is currently supported by RIOT.

Certainly, I just never used those SPI-Ethernet chips, so I can’t judge how well the drivers there are.

EFR32 (so silabs chip) not ESP32

The ZB-GW03 Gateway has both: EFR32 for ZigBee and ESP32 for WiFi and Ethernet. They are connected via UART - with RIOT we could simply use SLIP.

Ah sorry, then NVM.

Hey!

On Thu, Dec 16, 2021 at 07:50:08AM +0000, chrysn via RIOT wrote:

If you identify a candidate board that’s well suited, chances are I’d order one too

Too bad this got discontinued:

But they offer at least a Wifi-version which might be interesting:

Though I haven’t figured what interface the Realtek chip uses.

Cheers Oleg

panic(“smp_callin() AAAAaaaaahhhh…\n”); linux-2.6.6/arch/parisc/kernel/smp.c

Hi!

On Thu, Dec 16, 2021 at 04:34:59PM +0000, Benjamin Valentin via RIOT wrote:

The ZB-GW03 Gateway has both: EFR32 for ZigBee and ESP32 for WiFi and Ethernet. They are connected via UART - with RIOT we could simply use SLIP.

Actually, I found this one

  • if ESP32 is an option. As far as I gather BLE support is still missing for this chip anyway, right?

Cheers Oleg

printk (KERN_ERR “%s: Oops - your private data area is hosed!\n”, …) linux-2.6.6/drivers/net/ewrk3.c

Yes, not sure if @gschorcht has investigated this yet, but I assume it to be equally hairy as the WiFi part.

For esp32 there are the esp32-olimex-evb and the esp32-ethernet-kit that already have board definitions in RIOT. If you don’t care about IEEE 802.15.4 you can also use the esp_now radio provided by all members of the ESP family (but nothing else). It’s similar to IEEE 802.15.4 but based on the WiFi PHY with a 250 byte MTU.

If you are feeling adventurous the CH579 has it all (Ethernet + IEEE 802.15.4) but there is no RIOT support for this platform and the documentation consists mostly of example code :wink:

Indeed, two years ago I started a try to port BLE parts of ESP-IDF to RIOT. But it is much more complex than the WiFi module and has more dependencies on FreeRTOS so that I gave it up that time :disappointed: