I cannot get an address from the BR

Hello,

I have few bluepills with at86rf212b transceivers (my design), trying to get address from a RPi BR with another at86rf212b transceiver (OpenWRT).

When I put all devices in the same PAN i can ping the link-local addresses and they work very well, unfortunately the RIOT nodes do not solicit Public or ULA addresses. I can not test this with RIOT as BR, as I don’t have a device that can fit the BR example app (my Bluepills are all 64kb, not 128kb).

I researched the open issues on github and saw that there is a similar issue with Xbee and OpenLabs’ transceiver. Is my issue similar and if so, can someone point me in the right direction of fixing it, or is this unrelated and should I open a separate issue on github?

–ilf

Hello Iliyan,

great to hear you're working with RIOT + LoWPAN radios! As you already have a basic setup with link-local addresses working, the (most) tricky parts are done. To get started with ULAs or real public/global IP(v6) addresses you could setup RADVD on the RasPi. RADVD is a router advertisement daemon, which will answer Router-Solications (RS) by RIOT nodes. RADVD can announce an IPv6 prefix (ULA or public) to the nodes, which than can autoconfigure an IPv6 address.

Please checkout the following repository and the guides in its wiki, for further infos:

- https://github.com/RIOT-Makers/wpan-raspbian - https://github.com/RIOT-Makers/wpan-raspbian/wiki

Best,   Sebastian

Hi,

Hello Sebastian,

thanks for the reply. I’m using openwrt as a BR distro with odhcpd handling the RA (and also dhcpv6). The setup works between a Pi-Pi (although my second Pi in the PAN uses dhcpv6 for getting an IP, so that is not a proof of a working solution so far.

I will switch SD cards later today to the raspbian distro and will setup a BR with radvd, just so I make sure the setup works. If everything works with raspbian, I’ll go back to openwrt and will try to find the problem there. Bare with me, I might have more questions coming.

Thanks for the support.

Hi Kaspar,

OpenWRT puts all interfaces with “proto static”, in my case lowpan0 interface to be always on, i.e. link is always on. I also used the force_link option just so I can be sure, however this did not solve the problem. I will switch to raspbian and will try the setup Sebastian proposed with radvd, to make sure it works there. If everything works I’ll go back to OpenWRT and will start investigating the problem.

thanks

Hi again,

thanks for the reply. I'm using openwrt as a BR distro with odhcpd handling the RA (and also dhcpv6). The setup works between a Pi-Pi (although my second Pi in the PAN uses dhcpv6 for getting an IP, so that is not a proof of a working solution so far.

you could try to use one of your boards as a sniffer, see [1]. So you can check if you see Router Solicitations (RS) by RIOT nodes and hopefully Router Advertisements (RA) from your RasPi. RIOT needs RAs to (auto) configure its IPv6 interfaces with addresses, there is no DHCP client on RIOT (yet).

Thus, if odhcpd does not send RAs or if it does, these RAs may contain options RIOT does not except (e.g., as Kaspar already said on-link flag must not be set), in all cases auto-conf may fail in RIOT.

[1]: applications/sniffer at master · RIOT-OS/applications · GitHub

Best,   Sebastian

Hi,

will do that.

Just to make sure I’m understanding things correctly: RIOT does solicit stateless IPv6 addresses by sending RS, and the BR should reply with RA. This is part of SLAAC. I have the nagging feeling that OpenWRT messes up SLAAC on all it’s interfaces somehow.

Before switching to Raspbian, I’ll do another round of OpenWRT with a sniffer but will leave odhcpd handling just RAs and will disable dhcpv6 so I make sure I’m just using SLAAC/RA/NDP. After a node solicits an IP will proceed to neighbor soliciting, right?

Please let me know if my understanding is correct about this.

Thanks

–ilf