Hello RIOTers!
I'm trying to make a small network with 3 samr21 boards, one as a border
router connected to my PC via SLIP (using the example
gnrc_border_router), and the other two as CoAP servers (using
microcoap_server example). My goal is to reach both boards from my PC
using Firefox with Copper.
For now, I succeeded creating a RPL network with the BR and the two
boards (ping6 is working on all boards, the BR as the root). I followed
the steps in [1] to configure RPL and [2] for the SLIP interface. I also
added a route:
fibroute add :: via <link-local IPv6 address from the Linux tun
dev 6
on the BR.
Afterwards, I connected the SLIP interface through an USB-Serial cable
which is connected directly to the 2nd UART on the samr21 board, but I
cannot make work the SLIP interface with tunslip6 (I cannot ping any
board from my PC, even the BR).
I'm thinking about modify the slip implementation to use only the main
UART interface, but as far as I know some people is already working on
this.
So, my questions are: is there a tutorial or step that I'm missing? Is
actually possible to do what I want?
Thanks in advance!
Cheers!
Francisco.
[1]
https://github.com/RIOT-OS/RIOT/wiki/Tutorial:-RIOT-and-Multi-Hop-Routing-with-RPL#routing-with-rpl-using-the-iot-lab-testbed
[2]
https://github.com/RIOT-OS/RIOT/blob/master/examples/gnrc_border_router/README.md
Hello Francisco,
You do not need RPL for your setup:
* Start your border router application and tunslip6 (e.g. beef::1/64)
* configure beef::2/64 on interface 6 at the border router and
add beef::1 to the neighbor cache on interface 6
(these steps are outlined in the border router README)
* add abcd::1 to interface 5 of the border router
* connected 6lr applications (e.g. the microcoap example) should receive
a RA that contains information about the prefix (abcd::/64) and
they configure a global ipv6 address automatically
* now you should be able to do a ping6 from/to your microcoap examples.
You might however follow the discussion in [1], because there might be problems
with IPHC/NHC for this setup.
PS: You can use ethos [2] to reduce the number of UARTs for your border router.
[1] https://github.com/RIOT-OS/RIOT/issues/4462
[2] https://github.com/RIOT-OS/RIOT/pull/4438
Best,
Cenk
Hi Cenk!
Hello Francisco,
You do not need RPL for your setup:
Yes you're right, I actually see the prefix already configured before
start RPL, I don't know what kind of magic is behind that but I will
investigate afterwards.
* Start your border router application and tunslip6 (e.g. beef::1/64)
* configure beef::2/64 on interface 6 at the border router and
add beef::1 to the neighbor cache on interface 6
(these steps are outlined in the border router README)
* add abcd::1 to interface 5 of the border router
* connected 6lr applications (e.g. the microcoap example) should receive
a RA that contains information about the prefix (abcd::/64) and
they configure a global ipv6 address automatically
* now you should be able to do a ping6 from/to your microcoap examples.
ping6 between nodes was already working, I tried the steps you propose
and my problem about pinging from my PC to the nodes is still there. By
the way, as the prefixes you propose are not the same for both the tun
interface and the 6lr network, ping from my PC cannot be possible, but
configurations with the same prefix don't work neither.
I'm thought about communication problems with the UART interface, but my
last tests were ok while sending messages using such interface. I will
make more tests to be sure that the second UART is working as expected.
You might however follow the discussion in [1], because there might be
problems
with IPHC/NHC for this setup.
I read the issue but I think I'll be able to test when my whole network
will be set up.
PS: You can use ethos [2] to reduce the number of UARTs for your border
router.
[1] https://github.com/RIOT-OS/RIOT/issues/4462
[2] https://github.com/RIOT-OS/RIOT/pull/4438
Best,
Cenk
Thanks!
Best,
Francisco.
Hello all!
Just to say that I succeeded with my tests, it was just that I was wrong
on the UART port that was trying to use (using PB22 and PB23 instead of
PA22 and PA23). So now everything is working as expected.
Thanks!
Francisco.