Subject: Re: Using IEEE802.15.4 on RIOT-OS native

If you decide to tingle with hardware, I have some recommendations. I rather recommend using real hardware when you want to work on this layer. Eventually there are other issues involved you are not able to see in simulations. With real hardware you are also able to see the physical layer. With the correct tools of course. (Software defined radios) If you just want to simulate the network itself, routings etc. I wouldn't care too much about this layer. There are enough tools to simulate these kind of networks or abstract them in a good way.

IEEE802.15.4 You can buy a bunch of nrf52840 USB dongles on Mouser etc. or nrf52840 from Aliexpress etc. Price ~10 - 20 USD. The USB dongle doesn't have any pins, therefore, if you want to use it for future projects, I would go with the boards. Sniffing the packets in Wireshark seems to be easy with these cheap CC2531 dongles. There are tutorials about this.

RFC7668 (IPv6 over Bluetooth low energy) Not exactly IEEE802.15.4, but very similar. There is a IPv6 mechanism for Bluetooth low energy which is also very interesting for other use-cases. For example: Smartphones being part of the 6LoWPAN network. The nrf52832 is a good candidate for it. Cheap boards are available for less than 10 USD on Aliexpress, eBay etc. You just need Bluetooth 4.0 to sniff the packets under Linux. A lot of modern Notebooks have it already integrated. Or you can buy a cheap Bluetooth 4.0 USB dongle.

A debugger and programmer can easily created from a bluepill and STLink. It's called black magic probe. Or you get these J-Link education kits.

Best regards Philipp

Date: Wed, 15 Jul 2020 14:28:02 +0200 From: Linda Fliss <fliss@mailbox.org> To: devel@riot-os.org Subject: Re: [riot-devel] Fwd: Using IEEE802.15.4 on RIOT-OS native Message-ID: <c960e4a1-8938-055b-f1a7-ebbca7032841@mailbox.org> Content-Type: text/plain; charset="utf-8"

Thanks for your explanation! Is there any overview documentation on the current state of netdev especially in RIOT-OS native? I really like Ludwig Kn?pfers diploma thesis for its good overview, too bad it's obsolete.

gnrc_sixloenc looks promising. I didn't find it in the docs, thanks for pointing that out.

Best Regards, Linda / Chamaeleon-

Accidentally just unicasted.

-------- Weitergeleitete Nachricht -------- Betreff: Re: [riot-devel] Using IEEE802.15.4 on RIOT-OS native Datum: Wed, 15 Jul 2020 11:53:21 +0200 Von: Martine Sophie Lenders <m.lenders@fu-berlin.de> An: Linda Fliss <fliss@mailbox.org>

Hi Linda,

nativenet was more a less a hack to transport radio frames (IIRC not even IEEE 802.15.4, but cc110x-like frames) in Ethernet frames. The support for that was dropped, when `netdev` was introduced the old network stack became obsolete 5 years ago [1], in favor for a pure Ethernet support (`netdev_tap`).

As you already figured out, there are now `socket_zep` for ZEP support and `gnrc_sixloenc` for 6LoWPAN encapsulation in Ethernet [2].

Sadly the state of `socket_zep` is not in a good state when it comes to simulation. It works well for testing, but not for network simulation. I originally intended to add more simulation capabilities either by integrating it with a network simulator (e.g. DESvirt) or by improving [3] (where you can find a little doc on using `socket_zep` in a mesh). That never happened, sadly.

Best regards, Martine

[1] remove old network stack by kaspar030 · Pull Request #3334 · RIOT-OS/RIOT · GitHub [2] RFC 7973: Assignment of an Ethertype for IPv6 with Low-Power Wireless Personal Area Network (LoWPAN) Encapsulation [3] GitHub - miri64/zep_mesh: A mesh of ZEP-enabled applications

I'm searching for a way to use IEEE802.15.4 in RIOT-OS native between tap-interfaces to simulate a net with RIOT-OS nodes locally. I found some information about the native network stack (nativenet) in Ludwig Kn?pfers diploma thesis but it seems outdated? The current RIOT-OS native version only supports Ethernet over tap-interface and some zep_sockets. Was there a major rework of the native network stack in the last couple of years?

The zep_sockets could be exactly what I'm looking for but I couldn't find any documentation how to use them and what they are capable of. Has anyone hints where to find documentation/blog posts/examples how to use zep_sockets?

Best regards,

Linda / Chamaeleon-

_______________________________________________ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel

_______________________________________________ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel

-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: <http://lists.riot-os.org/pipermail/devel/attachments/20200715/167b524e/attachment-0001.sig&gt;

Hello Philipp,

RFC7668 (IPv6 over Bluetooth low energy) Not exactly IEEE802.15.4, but very similar. There is a IPv6 mechanism for Bluetooth low energy which is also very interesting for other use-cases. For example: Smartphones being part of the 6LoWPAN network.

as much as I'd love to see this, is there any indication this is getting the smartphone OS support it'd need? As far as I can tell, Android doesn't even ship the kernel module for it (let alone the userland), and iOS tends to be even more closed when it comes to interfaces.

The approaches I see right now to get direct network traffic between a smartphone and a device are both based on GATT, one being Fitbit's Golden Gate (a networtk tunnel over GATT, [1]) and my CoAP-over-GATT[2].

Do you know of any major players that adopted IPSP / 6lo-over-BLE?

KR c

[1]: https://eng.fitbit.com/introducing-project-golden-gate/ [2]: draft-amsuess-core-coap-over-gatt-00