Struggling with port in gnrc_border_router

Hi everyone.

I’m trying to complete the gnrc_border_router example with a nRF52840 Dongle now using SLIP, but I have a few doubts concerning the steps in README.md. First, if I flash the example with UPLINK=slip, I am not able to do

sudo ./tunslip6 2001:db8::1/64 -t tun0 -s /dev/ttyACM0

Since the port is not found (idem if I introduce make term in order to get the RIOT console).

I also wonder how to replace this command using nib, as ncache is no longer available in the terminal.

ncache add 6 2001:db8::1

I guess nib neigh add 6 2001:db8::1 should work.

I know a solution is to use UPLINK=cdc-ecm (see this topic: No /dev/ttyACM0 after flashing gnrc_border_router onto nrf52840dongle - #3 by benpicco), but in that case when I create a tap interface in my Linux host and try to route from the RIOT console, the module gnrc_rpl_root is not recognised.

Thanks in advance for any ideas regarding these problems.

1 Like

This part I don’t understand. Using cdc-ecm is certainly the way to go as

  • SLIP does not work over CDC ACM (it expects a periph_uart backend)
  • a ‘proper’ USB-Ethernet interface is faster anyway

But what does the gnrc_rpl module have to do with that? You can enable that in the gnrc_border_router either way.

You are right, thankfully I came up with this GitHub page that describes all the setup needed very well (Border router using USB CDC ECM (ethernet over USB) · RIOT-OS/RIOT Wiki · GitHub). Thanks anyway!

I also wonder if the RPL propagation in which the node achieves a global address by the Border Router is restricted to the gnrc_networking example, or if, for instance, the node executes nanocoap_server or gcoap examples, the Border Router works the same and the node gets as well a global IPv6 address.