UDP travic between RIOT device and Raspberry PI 6LoWPAN seems not to work

Hello everyone, this week I made some success with exploring RIOT OS. But now I stuck with trying to get a data transfer between a 6LoWPAN equiped Raspberry Pi and "RIOT-MCUs".

All my tests are based on the gnrc_networking example.

First I made a UDP transfer between 2 identical RIOT equiped MCU boards. On the first device I started a UDP server and from the other I generated some data trafic to the other. Result: full success - I have seen the traffic on the shell (pktdump) and it was O.K.

Then I set up a Raspberry for usage with 6LoWPAN as described on the RIOT web page. ping6 works wonderful in each direction but when I tried to get data trafic through UDP I got nothing - neither in one direction nor in the other. I tried also to listen to the UDP port with netcat6 - also no success.

Can anyone give me a hint what's different between a UDP transfer between 2 RIOT devices and a trafic between a Linux-based UDP server and a RIOT-based device? The "basic"-Interface seems O.K. because of the working ping6.

Thanks a lot! Best regards, Bernhard

Hi, Linux uses next header compression (NHC) for UDP communication. Sadly, our implementation of NHC has still some issues when forwarding packets [1, 2, 3], which are about to be fixed in the next few days or so. This is why we currently have it deactivated by default. For now, if you don't use a RIOT node as multihop router (your scenario does not sound like it) you can activate NHC manually by adding the module `gnrc_sixlowpan_nhc_iphc` to your USEMODULE list.

Cheers, Martine

[1] https://github.com/RIOT-OS/RIOT/pull/4544 [2] https://github.com/RIOT-OS/RIOT/pull/5029 [3] https://github.com/RIOT-OS/RIOT/pull/5044


Hello Bernhard,

seems like we are following the same route:) for the moment I can only confirm that riot 6lowpan “host” works with rpi2 and mainline kernel “node” implementation. (Linux raspberrypi 4.1.13-v7+) Recently I got working coap server on riot side with coap client on rpi2 side. The only thing I had to do on linux side was to remove nhc_udp module. Dont you have some kind of sniffer, to check what is in the air?

Im not using default build system, but here are my --defines for the reference:



wbr malo