Monday, August 17, 2015

Setup 6lbr to run 6LowPAN with CC2531 USB dongle on Raspberry Pi 2B

1. Unzip and flash a CC2531 USB dongle with
2. SSH login to Raspberry Pi.
3. sudo apt-get install libncurses5-dev
4. sudo apt-get install bridge-utils
5. sudo vi /boot/cmdline.txt file and add the following configuration parameter in the beginning of cmdline.txt
6. git clone --recursive
7. cd 6lbr/examples/6lbr
8. make all plugins tools ---> This step takes lots of time so go for a break!
9. sudo make install
10. Create /etc/6lbr/6lbr.conf with the content below



11. Change to channel 25,which is used by cc26xx Contiki port
      $/usr/lib/6lbr/bin/nvm_tool --update --channel 25 /etc/6lbr/nvm.dat
12. Run "/usr/lib/6lbr/bin/nvm_tool --print /etc/6lbr/nvm.dat" to make sure it switches to channel 25.

13. Plug CC2531 USB dongle to Raspberry Pi and the dongle should appear as /dev/ttyACM0. Run "sudo lsusb -v" to verify this.

14. run "sudo service 6lbr start" to start 6lbr.

15. Open browser like Firefox and input [bbbb::100].


  1. Hey, im found of your amazing works at developing and sharing your research with community.

    But can i have a litte tip? I cant really start my 6lbr cuz when i ty "6lbr start" stuff at my console at first it says that there is no such thing as 6lbr.service, and after rebooting it gives no output at all. [bbbb::100] doesnt work in both cases. So, any suggestions?

    1. I too got the 6lbr.service not found error initially.
      I tried make install again and found it to be working after that.

      pi@mypi:~/6lbr/examples/6lbr $ sudo service 6lbr start
      pi@mypi:~/6lbr/examples/6lbr $ ps -eaf | grep 6lbr
      root 30971 1 0 00:29 ? 00:00:00 /bin/sh /usr/lib/6lbr/6lbr /etc/6lbr/6lbr.conf
      root 30978 30971 35 00:29 ? 00:00:08 /usr/lib/6lbr/bin/cetic_6lbr_router -c /etc/6lbr/nvm.dat -F /etc/6lbr/factory.dat -o /etc/6lbr/nvm.conf -s /dev/ttyS0 -r -t eth0 -B 115200 -U /usr/lib/6lbr/6lbr-ifup -D /usr/lib/6lbr/6lbr-ifdown -w /usr/lib/6lbr/www -L 3 -W /var/log/6lbr.timestamp -P 60 -C /var/log/6lbr.ip -m /usr/lib/6lbr/plugins
      root 30979 30971 0 00:29 ? 00:00:00 /bin/sh /usr/lib/6lbr/6lbr-watchdog 30978 60 3 /var/log/6lbr.timestamp
      pi 31098 983 0 00:29 pts/0 00:00:00 grep --color=auto 6lbr
      pi@mypi:~/6lbr/examples/6lbr $

  2. Do you following all the steps exactly?

  3. Thank you for the great instruction. I was able to follow through your post and successfully installed 6lbr on my debian (I am using Beaglebone Black with CC2531 dongle).
    However, I have a few question to ask.

    On my nvm data file, it states WSN accpe RA : false and I cannot connect to web-browser using [bbbb:100]. I cannot solve this problem on my own and I am stuck at this step.

    Hope you can give me any suggestion to solve this.

    Thank you.

    1. go to /6lbr folder and run "git checkout ff69ae4214407eeec4c71f87589ac4bc7d3a8a49". You will get 6lbr version on 2016 Dec. 22th and you can rebuild 6lbr to test again.

    2. This comment has been removed by the author.

  4. Hi, i use CC1310 launchpad and raspberry pi 3 to test that examples.
    But i met problem when start 6lbr.
    When i ran "sudo service 6lbr start", its nothing happen (its not show [ok] 6lowpan border router start)
    And also i cannot access [bbbb::100].
    My 6lbr.log just show: Thu 5 Oct 11:06:44 ICT 2017 : Starting 6LBR
    /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 -U /usr/lib/6lbr/6lbr-ifup -D /usr/lib/6lbr/6lbr-ifdown -w /usr/lib/6lbr/www -L 3 -W /var/log/6lbr.timestamp -P 60 -C /var/log/6lbr.ip -m /usr/lib/6lbr/plugins
    Contiki-develop-20161222 started with IPV6, RPL
    Rime started with address
    MAC mac_wrapper RDC br-rdc SEC llsec-wrapper NETWORK sicslowpan
    2017-10-05 11:06:44.775081: NOTICE: 6LBR: Starting 6LBR version 1.5.x (Contiki-develop-20161222)
    2017-10-05 11:06:44.775422: INFO: ETH: 6LBR watchdog started (interval: 60)
    2017-10-05 11:06:44.775705: INFO: NVM: NVM Magic : 2009
    2017-10-05 11:06:44.775719: INFO: NVM: NVM Version : 5
    2017-10-05 11:06:44.775731: INFO: CONFIG: Loading configuration : /etc/6lbr/nvm.conf
    2017-10-05 11:06:44.775824: FATAL: CONFIG: Syntax error in /etc/6lbr/nvm.conf at line 1

    Can you help me to solved this problem? (my rasp pi and my pc are connected to wifi)

  5. Hi, That's a great piece of work you done.

    I don't get the role of cc2531, Can you share it's purpose.


  6. why do i need CC2531 USB dongle i dont have it

    1. You can use CC2650 as slip radio instead of CC2531

    2. i followed these steps but instead of the usb dongle i connected to RPI cc1310 launchpaf flashed with slip radio.
      but nothing worked , do i need to change something in the setting?