6lbr icon indicating copy to clipboard operation
6lbr copied to clipboard

6LoWpan network: Not able to ping mesh nodes (cc2650) from Edge Router (BBB).

Open santhosh-chowdary opened this issue 7 years ago • 35 comments

I am trying to setup the 6Lowpan network with Beaglebone Black (Linux Debian) as edge router, CC2531 USB Dongle as SLIP Radio and two cc2650 flashed with cc26xx-web-demo as mesh nodes.

I am able to to see web server of BBB on browser. I am also able ping from my PC (cmd prompt) to BBB. But I am not able to ping the mesh nodes from BBB. Web server (bbbb::100) also shows the two mesh nodes in sensor list.

Any of your suggestions would be appreciated and helpful.

Here are required configurations and images:

6lbr.conf:

MODE=ROUTER #MODE=SMART-BRIDGE #MODE=RPL-RELAY #MODE=FULL-TRANSPARENT-BRIDGE #MODE=NDP-ROUTER #MODE=6LR #MODE=RPL-ROOT

RAW_ETH=1 BRIDGE=0 DEV_BRIDGE=br0 DEV_TAP=tap0 DEV_ETH=eth0 #RAW_ETH_FCS=1 RAW_ETH_FCS=0

DEV_RADIO=/dev/ttyACM0 #2.4GHz USB Dongle will enumerate like ACM0 #DEV_RADIO=/dev/ttyUSB1 #SmartRF06EB+CC13xxEM will enumerate like USB1 BAUDRATE=115200 LOG_LEVEL=3

interafces:

/etc/network/interfaces: #This file describes the network interfaces available on your system #and how to activate them. For more information, see interfaces(5).

#The loopback network interface auto lo iface lo inet loopback

#The primary network interface #auto eth0 #iface eth0 inet dhcp #Example to keep MAC address between reboots #hwaddress ether DE:AD:BE:EF:CA:FE

##connman: ethX static config #connmanctl services #Using the appropriate ethernet service, tell connman to setup a static IP address for that service: #sudo connmanctl config --ipv4 manual <ip_addr> --nameservers <dns_server>

##connman: WiFi

#connmanctl #connmanctl> tether wifi off #connmanctl> enable wifi #connmanctl> scan wifi #connmanctl> services #connmanctl> agent on #connmanctl> connect wifi_*_managed_psk #connmanctl> quit

##Ethernet/RNDIS gadget (g_ether) #Used by: /opt/scripts/boot/autoconfigure_usb0.sh iface usb0 inet static address 192.168.7.2 netmask 255.255.255.252 network 192.168.7.0 gateway 192.168.7.1

nvm data:

root@beaglebone:~# /usr/lib/6lbr/bin/nvm_tool --print /etc/6lbr/nvm.dat Reading nvm file '/etc/6lbr/nvm.dat'

Channel : 26 PAN ID : abcd

WSN network prefix : fd00:: WSN network prefix length : 64 WSN IP address : fd00::100 WSN accept RA : False WSN IP address autoconf : True WSN 6LoWPAN context 0 : fd00:: DNS server : ::

Eth network prefix : bbbb:: Eth network prefix length : 64 Eth IP address : bbbb::100 Eth default router : :: Eth IP address autoconf : False

RA daemon : True RA router lifetime : 0 RA maximum interval : 600 RA minimum interval : 200 RA minimum delay : 3 RA PIO enabled : True RA prefix valid lifetime : 86400 RA prefix preferred lifetime : 14400 RA RIO enabled : True RA RIO lifetime : 1800

RPL instance ID : 30 RPL DODAG ID manual : False RPL DODAG ID : :: RPL DODAG ID global : True RPL Preference : 0 RPL version ID : : 16 RPL DIO interval doubling : 8 RPL DIO minimum interval : 12 RPL DIO redundancy : 10 RPL default lifetime : 30 RPL maximum rank increase : 1792 RPL minimum rank increment : 256 RPL lifetime unit : 256

RPL Non Storing : False RPL DAO ACK : True RPL DAO ACK local repair : False DIO triggers route refresh : False MAC layer : 1 Security layer : 0 Security level : 6 Network key : 0:1:2:3:4:5:6:7:8:9:a:b:c:d:e:f Noncoresec anti-replay enabled (Legacy) : False Noncoresec anti-replay workaround (Legacy) : False Filter unknown nodes : False Disable NUD : True

NAT 64 Enabled : False NAT 64 DHCP Enabled : False NAT 64 static port mapping Enabled : False NAT 64 RFC-6052 prefix : False NAT 64 address : 172.16.0.2 NAT 64 netmask : 255.255.255.0 NAT 64 gateway : 172.16.0.1

Local address rewrite : True Smart Multi BR : False Webserver configuration page disabled : False Webserver port : 80

6LBR Service start:

root@beaglebone:~# sudo service 6lbr start root@beaglebone:~# sudo service 6lbr status ● 6lbr.service - LSB: 6LoWPAN Border Router Loaded: loaded (/etc/init.d/6lbr; generated; vendor preset: enabled) Active: active (running) since Tue 2017-10-03 00:48:24 UTC; 4s ago Docs: man:systemd-sysv-generator(8) Process: 2129 ExecStart=/etc/init.d/6lbr start (code=exited, status=0/SUCCESS) Tasks: 4 (limit: 4915) CGroup: /system.slice/6lbr.service ├─2137 /bin/sh /usr/lib/6lbr/6lbr /etc/6lbr/6lbr.conf ├─2141 /usr/lib/6lbr/bin/cetic_6lbr_router -c /etc/6lbr/nvm.dat -o /etc/6lbr/nvm.conf -s /dev/ttyACM0 -r -t eth0 -B 115200 ├─2142 /bin/sh /usr/lib/6lbr/6lbr-watchdog 2141 60 3 /var/log/6lbr.timestamp └─2187 sleep 1

Oct 03 00:48:24 beaglebone systemd[1]: Starting LSB: 6LoWPAN Border Router... Oct 03 00:48:24 beaglebone 6lbr[2129]: Starting 6LoWPAN Border Router:. Oct 03 00:48:24 beaglebone systemd[1]: Started LSB: 6LoWPAN Border Router. root@beaglebone:~#

1

2

3

4

5

santhosh-chowdary avatar Oct 03 '17 00:10 santhosh-chowdary

Adding data of ifconfig and netstat -rn to above:

6

7

santhosh-chowdary avatar Oct 03 '17 02:10 santhosh-chowdary

For this you will need to configure your Ethernet interface for "bridge mode" as described in https://github.com/cetic/6lbr/wiki/6LBR-Interface-Configuration

chenek avatar Oct 09 '17 17:10 chenek

I have the same problem and couldn't figure it out. Can someone please give more information about it? In router mode, I can see nodes in webserver but it is not possible to ping them.

What can be wrong? How can I ping nodes from host(Raspberry Pi) which 6LBR runs.

Thanks in advance!

Aykut.

ProfEng avatar Oct 11 '17 11:10 ProfEng

The most probable cause is that you don't have a route towards the WSN network configured, check using the next command to see if there is a route towards fd00::/64 via bbbb::100

ip -6 route

If not you need to manually create it or allow automatic route creation by setting ITF_AUTOCONF=1 in your 6lbr.conf file (see https://github.com/cetic/6lbr/wiki/6LBR-Connection)

laurentderu avatar Oct 11 '17 13:10 laurentderu

I have started 6lbr service (setup-BBB-edge router+CC2531- slip radio+CC2650 mesh node). I have added a line "ITF_AUTOCONF=1" in my 6lbr.conf file and restarted 6lbr service. And then executed command "ip -6 route" as you said. and below are the results:

root@beaglebone:~# sudo service 6lbr status ● 6lbr.service - LSB: 6LoWPAN Border Router Loaded: loaded (/etc/init.d/6lbr; generated; vendor preset: enabled) Active: active (running) since Sun 2017-10-15 01:59:11 UTC; 2min 21s ago Docs: man:systemd-sysv-generator(8) Process: 2616 ExecStart=/etc/init.d/6lbr start (code=exited, status=0/SUCCESS) Tasks: 4 (limit: 4915) CGroup: /system.slice/6lbr.service ├─2624 /bin/sh /usr/lib/6lbr/6lbr /etc/6lbr/6lbr.conf ├─2628 /usr/lib/6lbr/bin/cetic_6lbr_router -c /etc/6lbr/nvm.dat -o /etc/6lbr/nvm.conf -s /dev/ttyACM0 -r -t eth0 -B 115200 ├─2629 /bin/sh /usr/lib/6lbr/6lbr-watchdog 2628 60 3 /var/log/6lbr.timestamp └─3355 sleep 1

Oct 15 01:59:10 beaglebone systemd[1]: Starting LSB: 6LoWPAN Border Router... Oct 15 01:59:11 beaglebone 6lbr[2616]: Starting 6LoWPAN Border Router:. Oct 15 01:59:11 beaglebone systemd[1]: Started LSB: 6LoWPAN Border Router.

root@beaglebone:~# root@beaglebone:~# ip -6 route 2003:e5:3bed:d101::/64 dev eth0 proto kernel metric 256 expires 13356sec mtu 1492 pref medium fe80::/64 dev usb0 proto kernel metric 256 pref medium fe80::/64 dev eth0 proto kernel metric 256 mtu 1492 pref medium root@beaglebone:~#

santhosh-chowdary avatar Oct 15 '17 02:10 santhosh-chowdary

Also I tried adding the route manually by executing below commands in BBB ssh: root@beaglebone:~# sudo ip -6 addr add bbbb::101/64 dev eth0 root@beaglebone:~# route -A inet6 add fd00::/64 gw bbbb::100

and then restarted 6lbr service. Now "ip -6 route" shows as below: root@beaglebone:~# ip -6 route 2003:e5:3bed:d101::/64 dev eth0 proto kernel metric 256 expires 14195sec mtu 1492 pref medium bbbb::/64 dev eth0 proto kernel metric 256 pref medium fd00::/64 via bbbb::100 dev eth0 metric 1 pref medium fe80::/64 dev usb0 proto kernel metric 256 pref medium fe80::/64 dev eth0 proto kernel metric 256 mtu 1492 pref medium root@beaglebone:~#

and then I pinged the node with ipv6 address - fd00::212:4b00:6e2:9f89 and below are the results: root@beaglebone:~# ping6 fd00::212:4b00:6e2:9f89 PING fd00::212:4b00:6e2:9f89(fd00::212:4b00:6e2:9f89) 56 data bytes From bbbb::101 icmp_seq=1 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=2 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=3 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=4 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=5 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=6 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=7 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=8 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=9 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=10 Destination unreachable: Address unreachable From bbbb::101 icmp_seq=11 Destination unreachable: Address unreachable ^C --- fd00::212:4b00:6e2:9f89 ping statistics --- 17 packets transmitted, 0 received, +15 errors, 100% packet loss, time 16088ms

Or can I ping mesh nodes by setting up in smart bridge mode ?

santhosh-chowdary avatar Oct 15 '17 02:10 santhosh-chowdary

@chenek I have configured my Ethernet interface for bridge mode as you said, but i am not able browse web server page now.

My 6lbr.conf file is :

#MODE=ROUTER MODE=SMART-BRIDGE #MODE=RPL-RELAY #MODE=FULL-TRANSPARENT-BRIDGE #MODE=NDP-ROUTER #MODE=6LR #MODE=RPL-ROOT

RAW_ETH=0 BRIDGE=1 CREATE_BRIDGE=1 DEV_ETH=eth0 DEV_BRIDGE=br0 DEV_TAP=tap0 #RAW_ETH_FCS=1 RAW_ETH_FCS=0

DEV_RADIO=/dev/ttyACM0 #2.4GHz USB Dongle will enumerate like ACM0 #DEV_RADIO=/dev/ttyUSB1 #SmartRF06EB+CC13xxEM will enumerate like USB1 BAUDRATE=115200

LOG_LEVEL=3

And my /etc/network/interfaces is :

#The loopback network interface auto lo iface lo inet loopback

#Ethernet/RNDIS gadget (g_ether) #Used by: /opt/scripts/boot/autoconfigure_usb0.sh iface usb0 inet static address 192.168.7.2 netmask 255.255.255.252 network 192.168.7.0 gateway 192.168.7.1

iface eth0 inet static address 0.0.0.0

auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_stp off up echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping post-up ip link set br0 address ip link show eth0 | grep ether | awk '{print $2}'

6lbr.log file is :

Sun Oct 15 03:36:19 UTC 2017 : Starting 6LBR /usr/lib/6lbr/bin/cetic_6lbr_smart_bridge -c /etc/6lbr/nvm.dat -o /etc/6lbr/nvm.conf -s /dev/ttyACM0 -R -t tap0 -B 115200 -U /usr/lib$ Contiki-contiki-base-develop-20170120-2394-g00b502c20 started with IPV6, RPL Rime started with address 1.2.3.4.5.6.7.8 MAC multi-radio RDC br-rdc SEC llsec-wrapper NETWORK sicslowpan 2017-10-15 3:36:19.584145: NOTICE: 6LBR: Starting 6LBR version 1.5.x (Contiki-contiki-base-develop-20170120-2394-g00b502c20) 2017-10-15 3:36:19.584545: INFO: SLIP: Allocated slip device 0 -> 0 2017-10-15 3:36:19.617172: INFO: ETH: 6LBR watchdog started (interval: 60) 2017-10-15 3:36:19.617836: INFO: NVM: NVM Magic : 2009 2017-10-15 3:36:19.617917: INFO: NVM: NVM Version : 5 2017-10-15 3:36:19.617952: INFO: CONFIG: Loading configuration : /etc/6lbr/nvm.conf 2017-10-15 3:36:19.618006: WARN: CONFIG: Can not open /etc/6lbr/nvm.conf : No such file or directory 2017-10-15 3:36:19.618070: NOTICE: 6LBR: Log level: 30 (services: ffffffff) 2017-10-15 3:36:19.618103: INFO: MAC: Using 'csma' mac driver 2017-10-15 3:36:19.633968: INFO: SLIP: SLIP started on /dev/ttyACM0 2017-10-15 3:36:19.644621: INFO: SCMD: Started br-cmd process 2017-10-15 3:36:19.649547: INFO: BR-RDC: SLIP RADIO configured as RADIO 2017-10-15 3:36:19.649607: INFO: BR-RDC: Reset SLIP Radio 2017-10-15 3:36:19.649652: INFO: BR-RDC: Fetching MAC address 2017-10-15 3:36:19.653543: INFO: SLIP: cc2531: Reboot requested 2017-10-15 3:36:19.653892: INFO: SLIP: cc2531: Reverting to h/w MAC but not rebooting 2017-10-15 3:36:19.658179: INFO: BR-RDC: Got MAC 0 : 00:12:4b:00:07:68:d3:5b 2017-10-15 3:36:19.785082: INFO: BR-RDC: Set MAC 0 : 00:00:00:00:00:00:00:00 2017-10-15 3:36:20.650746: INFO: SLIP: cc2531: Setting RF channel 0x19 2017-10-15 3:36:20.850418: ERROR: SLIP: Unknown command 2017-10-15 3:36:20.850719: ERROR: BR-RDC: Set PAN-ID failed 2017-10-15 3:36:20.850810: INFO: ETH: TAP Ethernet interface init 2017-10-15 3:36:20.869020: INFO: TAP: opened device /dev/tap0 2017-10-15 3:36:20.869281: INFO: TAP: Running 6lbr-ifup script '/usr/lib/6lbr/6lbr-ifup' 6lbr-ifup: Create bridge br0 6lbr-ifup: Attach device eth0 to bridge br0

Also I am not able to ping bbbb::100 from my PC now.

santhosh-chowdary avatar Oct 15 '17 03:10 santhosh-chowdary

@ProfEng , If you have any progress in above , please let me know.

santhosh-chowdary avatar Oct 16 '17 16:10 santhosh-chowdary

@laurentderu , @chenek : Waiting for your suggestions.

santhosh-chowdary avatar Oct 16 '17 16:10 santhosh-chowdary

@santhosh-chowdary if you are using a BBB, the bridge interfacing (eth0 - br0 - tap0) does not work because of driver limitation in the Linux kernel. You either have to use Raw Ethernet mode (but then you can't access 6LBR from the BBB), or Route interfacing, see https://github.com/cetic/6lbr/wiki/6LBR-Interface-Configuration

Note that even if the name are similar, bridge interfacing has nothing to do with Smartbridge mode, same for Route interfacing and Router mode !

laurentderu avatar Oct 17 '17 22:10 laurentderu

@laurentderu ,

  1. You said I can't access 6LBR from the BBB in Raw Ethernet mode. Do you mean that I can't access 6lbr webserver or I can't ssh to BBB and access 6lbr to start 6lbr service?

  2. So, If I want to use Route interfacing which is not same as Router mode ,w which one should I use. Do you mean I have to use "Routing mode" given in link https://github.com/cetic/6lbr/wiki/6LBR-Interface-Configuration.

  3. http://processors.wiki.ti.com/index.php/Cc26xx_sw_examples explains to use BBB only.

  4. If I buy Raspberry Pi , will it easier than BBB to implement edge router and 6Lowpan Network setup ? If Raspberry Pi is easier, which mode is better?

My aim is to send sensor data from CC2650 mesh node to edge router over 802.15.4 and then to internet. Any suggestions on this to accomplish?

santhosh-chowdary avatar Oct 17 '17 22:10 santhosh-chowdary

@santhosh-chowdary I made it happen with raspberry pi (2 and zero) easily in router mode. If you buy one, I can let you know how to do it. Btw I am using mqtt in nodes and raspberry to communicate each other. If you want another setup, I can explain you how to ping nodes (so: reaching nodes) and you can go on.

And I have no idea about BBB.

ProfEng avatar Oct 18 '17 10:10 ProfEng

@ProfEng, I would definitely appreciate that. Can you tell me. what is your setup? I will buy raspberry. Kindly let me know the steps. "[email protected]" is my gmail ID please send me the steps. Also Do I have to but Raspberry 2.0 or latest one (raspberry 3.0)? And what kind of data are transferring from mesh nodes to internet via edge router? Parallel to that, I will try with BBB also.

santhosh-chowdary avatar Oct 18 '17 14:10 santhosh-chowdary

Do you run "sudo route -A inet6 add fd00::/64 gw bbbb::100" on your BBB?

chenek avatar Oct 23 '17 01:10 chenek

@chenek , Yes I did that but still no use. Right now I am trying to build slip radio with nullrdc setting for CC2531 USB Dongle as per https://github.com/cetic/6lbr/issues/234

Need to check.

santhosh-chowdary avatar Oct 23 '17 01:10 santhosh-chowdary

Try to refer to the steps in http://sunmaysky.blogspot.tw/2017/10/how-to-configure-6lbr-to-make-it-can-do.html and test again.

chenek avatar Oct 23 '17 04:10 chenek

Install Raspbian Image (Latest Version) Install 6LBR from develop branch as detailed in 6LBR wiki (1.5.x develop branch used) In /etc/dhcpcd.conf add line:
denyinterfaces eth0 tap0 wlan0 (Raspberry Pi2) denyinterfaces tap0 (Raspberry Pi Zero Wireless) 6LBR.conf must be like this:

MODE=ROUTER RAW_ETH=0 BRIDGE=0 DEV_BRIDGE=br0 DEV_TAP=tap0 DEV_ETH=wlan0 RAW_ETH_FCS=0

DEV_RADIO=/dev/ttyUSB0 BAUDRATE=115200 LOG_LEVEL=3

Add ip address and routes manually with the commands: sudo ip -6 addr add bbbb::101/64 dev eth0

route -A inet6 add fd00::/64 gw bbbb::100

From now on, 6LBR must be worked and the nodes can be pinged from Raspberry.

ProfEng avatar Oct 23 '17 12:10 ProfEng

@ProfEng , Can you also provide me content of your /etc/network/interfaces here ?

How about Slip radio and node?

  1. Are you using CC2531 usb dongle (cc2531-slip-radio_contikimac.hex) as slip radio? channel - 25 and PAN ID - 0xABCD.
  2. Are you using srf06+CC2650EM (cc26xx-web-demo.bin) as node? channel - 25 and PAN ID - 0xABCD.

If possible can you share me cc2531-slip-radio_contikimac.hex and cc26xx-web-demo.bin files you have used.

Also Can I know the initial Raspberry PI connections? I need to connect the

  1. power cable to raspberry pi and
  2. RJ45 LAN cable from router to Ethernet port of raspberry pi and
  3. HDMI cable from raspberry pi to PC right?

santhosh-chowdary avatar Oct 24 '17 03:10 santhosh-chowdary

@chenek

I have followed all steps carefully for BBB, from your above blog as you said. But in Smart bridge mode , I can't even browse web server page http://bbbb::100. Also /var/log/6lbr.ip has fd00::212:4b00:768:d35b address instead of bbbb::100 address.

santhosh-chowdary avatar Oct 24 '17 03:10 santhosh-chowdary

@santhosh-chowdary

I didn't make any change at /etc/network/interfaces and I am using at router mode.

1 - I am using Openmote (cc2538) as slip-radio and I compiled it myself from examples/ipv6/border-router

2 - My node is Openmote,too. But I am using mqtt example and it is not important. It must be pingable anyway.

And finally, yes. your connections are right.

ProfEng avatar Oct 24 '17 19:10 ProfEng

@ProfEng

You have mentioned that, you are using cc2538 as slip radio and compiled it yourself from examples/ipv6/border-router. Is that border-router or examples/ipv6/slip-radio ??

I am not able to compile examples/ipv6/slip-radio for cc2650 as target (am using Instant contiki 3).

santhosh-chowdary avatar Oct 27 '17 00:10 santhosh-chowdary

@ProfEng I have bought latest Raspberry 3 B(wireless) and tried as you said.

Connections:

  1. power cable to raspberri pi 3.
  2. RJ45 LAN cable from router to raspberry pi Ethernet port.
  3. CC2531 slip radio to raspberri pi USB.
  4. I took SSH session of RPI3 from windows PC connected to internet via Wifi to the same network as RPI3.

Installed Raspbian Image (Latest Version) Installed 6LBR from develop branch (1.5.x develop branch used)

In /etc/dhcpcd.conf added line: denyinterfaces tap0 (since Raspberry Pi 3 )

6LBR.conf :

MODE=ROUTER RAW_ETH=0 BRIDGE=0 DEV_BRIDGE=br0 DEV_TAP=tap0 DEV_ETH=wlan0 RAW_ETH_FCS=0

DEV_RADIO=/dev/ttyACM0 ## as I am using CC2531 as slip radio 2.4 GHZ BAUDRATE=115200 LOG_LEVEL=3

And then i started 6lbr services But i didnt get 6lbr web page at all on browser. I could not ping bbbb::100 from windows PC.

Then I only changed 6lbr.conf as below:

MODE=ROUTER RAW_ETH=1 BRIDGE=0 DEV_BRIDGE=br0 DEV_TAP=tap0 DEV_ETH=eth0 RAW_ETH_FCS=0

DEV_RADIO=/dev/ttyACM0 ## as I am using CC2531 as slip radio 2.4 GHZ BAUDRATE=115200 LOG_LEVEL=3

and remaining all settings as same. Then I restarted 6lbr services , now i could browse 6lbr web page from windows PC. But again I could not ping the mesh nodes(cc26xx-web-demo.bin)

Strange behavior is, after adding below routes:

sudo ip -6 addr add bbbb::101/64 dev eth0 route -A inet6 add fd00::/64 gw bbbb::100

pi@raspberrypi:~ $ ip -6 route 2003:e5:3bd6:ad01::/64 dev eth0 proto kernel metric 202 mtu 1492 pref medium 2003:e5:3bd6:ad01::/64 dev wlan0 proto kernel metric 303 mtu 1492 pref medium bbbb::/64 dev eth0 proto kernel metric 256 pref medium bbbb::/64 dev wlan0 proto kernel metric 303 mtu 1500 pref medium fd00::/64 via bbbb::100 dev eth0 metric 1 pref medium fe80::/64 dev wlan0 proto kernel metric 256 pref medium fe80::/64 dev eth0 proto kernel metric 256 pref medium default via fe80::1 dev eth0 metric 202 mtu 1492 pref medium default via fe80::1 dev wlan0 metric 303 mtu 1492 pref medium

I could not ping bbbb::100 from raspberrypi ssh session, but I could ping from my windows PC.

pi@raspberrypi:~ $ ping6 fd00::212:4b00:6e2:3b0b PING fd00::212:4b00:6e2:3b0b(fd00::212:4b00:6e2:3b0b) 56 data bytes From bbbb::101 icmp_seq=1 Destination unreachable: Address unreachable ^C --- fd00::212:4b00:6e2:3b0b ping statistics --- 11 packets transmitted, 0 received, +1 errors, 100% packet loss, time 10395ms

And I have got below error in /var/log/6lbr.log: 2017-10-26 21:45:42.180826: ERROR: PFE: wireless_output: sending to self 2017-10-26 21:45:42.181981: ERROR: PFE: wireless_output: sending to self

Slip radio: CC2531 USB Dongle as slip radio flashed with "cc2531-slip-radio_contikimac.zip" downloaded from "http://processors.wiki.ti.com/index.php/Cc26xx_sw_examples".

Mesh node: srf06+ccc2650EM flashed with cc26xx-web-demo.bin (channel 25, nullrdc, UIP_CONF_ROUTER 1, UIP_CONF_ND6_SEND_NA 1) compiled from instant contiki 3 , examples\cc26xx\cc26xx-web-demo.

Below are 6lbr web page images for referrence:

6lbr_system_tab

6lbr_status_tab

sensor_tab

Still no luck , it seems like I am facing all the possible errors, Any help

santhosh-chowdary avatar Oct 27 '17 01:10 santhosh-chowdary

@laurentderu , @ProfEng . @chenek Can anybody please explain me in full detail about the addresses displayed under system-tab(like addresses under WSN and Ethernet headings) and status-tab(Addresses, IP64, Neighbors, Routes heading) of 6lbr web page. I want to know about each address and what hardware device do they exactly mean?

Here are my system tab and status tab: system

status

If I observe "Routes" heading in status tab, I think there should be a route for "fe80::212:4b00:6e2:3b0b" in routing table in order to reach the mesh node "fd00::212:4b00:6e2:3b0b" right?

How can I do this ? Or is this behavior normal?

santhosh-chowdary avatar Oct 29 '17 22:10 santhosh-chowdary

@ProfEng , @laurentderu , @chenek Kindly reply. I am waiting for your suggestions for the implementation.

santhosh-chowdary avatar Nov 04 '17 12:11 santhosh-chowdary

In Raw Ethernet mode, you can not reach the 6LBR from the host. You have to use Bridging interface mode or Routing interface mode (note these have nothing to do with Router or Smartbridge mode, I know the name could be confusing)

On the RPi, to be able to reach the BR using bridging interface mode and Router mode, the br0 interface (and not eth0) must have a bbbb::/64 address and you must have a route towards fd00::/64

Theoretically, using ITF_AUTOCONF=1 ensure that, but you need to check using the commands

ip addr br0
ip -6 route

Note that in Smartbridge mode, the same subnet is used on both the WSN segment and Ethernet segment, so the BR does not hava a bbbb::54 address but a fd00::/64 based on its mac address.

laurentderu avatar Nov 09 '17 14:11 laurentderu

Hi @santhosh-chowdary

Can you share please:

What is your Raspberry Pi number (2-3-zero) ?

What did you add to the dhcpcd.conf (denyinterfaces ?)?

And a ss from ifconfig from raspberry.


And one suggestion.

Try with this one:

in 6lbr.conf

mode:router bridge:0 raw_eth:0

in dhcpcd.conf

denyinterfaces tap0

and use the latest raspbian image. It is worked for me.

ProfEng avatar Nov 09 '17 17:11 ProfEng

@ProfEng I am using Raspberry PI 3, model B. Raspbian version in below screenshot: version rpi_version

I have added in dhcpcd.conf: denyinterfaces tap0

6lbr.conf:

MODE=ROUTER RAW_ETH=1 BRIDGE=0 DEV_BRIDGE=br0 DEV_TAP=tap0 DEV_ETH=eth0 RAW_ETH_FCS=0 DEV_RADIO=/dev/ttyACM0 BAUDRATE=115200 LOG_LEVEL=3

Result : I can browse bbbb::100 from browser, But I can't ping sensor nodes.

screenshot ifconfig from raspberry: ifconfig_rasp

I have tried the below config in 6lbr.conf

mode:router bridge:0 raw_eth:0

in dhcpcd.conf denyinterfaces tap0

Result : I can't browse bbbb::100 from browser.

santhosh-chowdary avatar Nov 12 '17 16:11 santhosh-chowdary

There was a problem with the Contiki version used in the TI demo and the one used in 6lbr. Check both Context 0 prefix, they're probably different. Let me check the demo that I ran once in order to see the details, but I remember having your same problem.

lucasscola avatar Nov 28 '17 20:11 lucasscola

@lucasscola , Do you mean that version of 6lbr and contiki version used to build cc26xx-web demo have the problem? What do you mean by Context 0 prefix ? I am using : 6lbr Version : 1.5.x (Contiki-contiki-base-develop-20170120-2419-g1606dd3eb). and cc26xx-web-demo(TI) version - Instant Contiki 3.0 Is there a problem with these above versions?

Kindly suggest.

santhosh-chowdary avatar Nov 29 '17 12:11 santhosh-chowdary

In the version I used, by default context-based header compression (HC06) was used in 6LoWPAN (where the WSN network prefix is omitted in the packets and that info is sent as "context", with less bits). The problem is that, for this compression to work the node and the gateway must have the same context in order to decompress the IPv6 header. Take a look in your 6LBR implementation:

WSN network prefix : fd00::

Old versions of Contiki use aaaa:: as network prefix so check which version are you using to compile the nodes. https://github.com/contiki-os/contiki/commit/dea04c67d79e2bec92382340be6df70de90d3210#diff-5866ac53ae79a842d83563f356597f6b

If you are using a newer version, this migth not be the issue, and its more likely a networking problem in the 6lbr implementation.

lucasscola avatar Nov 29 '17 14:11 lucasscola