This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

6LBR with CC1310 - Wireless sensor network doesn't come up

Other Parts Discussed in Thread: CC2531, CC2650, CC1310

Hi


I've previously setup a Beaglebone with the CC2650 and CC2531, and had sensor networks working.

I changed to the CC1310 with SmartRF06 board, and had it working here as well. But then I handed the whole setup over to a client, and he had some issues with it.

Eventually I ended up doing a clean Linux install, with Debian 8.3, and latest 6LBR. I have it all working very well with CC2650 and CC2531 USB dongle, but not with the CC1310 setup.

I followed the instructions here when installing 6LBR. The version of 6LBR is: 1.3.3 (Contiki-6lbr-1.3.2-34-g3715b49)

I also compiled the CC1310 SLIP radio following  the instruction from the same wiki page. For the SLIP radio I've tried Contiki versions: 2.6-2968-g4302e23, 3.x-1877-g4302e23, and 3.x-2141-gdaa83ee (latest).

The Contiki code we are using for the CC1310 nodes in the sensor network is configured for channel 25. And we have configured 6LBR for channel 25 as well.

Now here is the really weird thing. After some experimenting we've noticed that if we reset the NVM file to factory defaults and restart 6LBR, and leave the WSN channel at 26, the sensors come up in 6LBR after a while (it takes at least 5 minutes after restarting 6LBR).

Has anyone else experienced anything like this?

Below is a typical log from 6LBR. I've done some googling and I believe the "ERROR: SLIP: Unknown command" messages are normal, it should still work (and I've seen them before and it has worked).

Mon Feb 8 10:08:57 CET 2016 : Starting 6LBR
/usr/lib/6lbr/bin/cetic_6lbr_router -c /etc/6lbr/nvm.dat -s /dev/ttyUSB1 -t tap0 -R -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-6lbr-1.3.2-34-g3715b49 started with IPV6, RPL
Rime started with address 1.2.3.4.5.6.7.8
MAC CSMA RDC br-rdc NETWORK sicslowpan
Log level : 30
Log services : ffffffff
2016-01-08 10:08:57.250687: INFO: ETH: 6LBR watchdog started (interval: 60)
2016-01-08 10:08:57.256634: INFO: 6LBR: Starting 6LBR version 1.3.3 (Contiki-6lbr-1.3.2-34-g3715b49)
2016-01-08 10:08:57.256682: INFO: NVM: Opening nvm file '/etc/6lbr/nvm.dat'
2016-01-08 10:08:57.263219: INFO: NVM: NVM Magic : 2009
2016-01-08 10:08:57.263263: INFO: NVM: NVM Version : 1
2016-01-08 10:08:57.263276: INFO: SCMD: Started br-cmd process
2016-01-08 10:08:57.263287: INFO: NODECFG: No node_config.conf file specified
2016-01-08 10:08:57.263299: INFO: ETH: RAW/TAP init
2016-01-08 10:08:57.269060: INFO: SLIP: SLIP started on /dev/ttyUSB1
2016-01-08 10:08:57.430517: INFO: TAP: opened device /dev/tap0
2016-01-08 10:08:57.430963: INFO: TAP: Running 6lbr-ifup script '/usr/lib/6lbr/6lbr-ifup'
6lbr-ifup: Attach device eth0 to bridge br0
br0       Link encap:Ethernet  HWaddr 6c:ec:eb:ad:a0:37  
          inet addr:10.0.0.30  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6eec:ebff:fead:a037/64 Scope:Link
          inet6 addr: bbbb::101/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:966 (966.0 B)  TX bytes:2302 (2.2 KiB)

tap0      Link encap:Ethernet  HWaddr 02:0a:0b:0c:0d:0e  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

2016-01-08 10:08:58.895169: INFO: BR-RDC: Reset SLIP Radio
2016-01-08 10:08:58.895524: INFO: BR-RDC: Fetching MAC address
2016-01-08 10:08:58.896038: WARN: PF: No input function set
2016-01-08 10:08:58.896687: WARN: PF: No input function set
2016-01-08 10:08:58.896867: WARN: PF: No input function set
2016-01-08 10:08:58.897155: WARN: PF: No input function set
2016-01-08 10:08:58.929386: ERROR: SLIP: Unknown command
2016-01-08 10:08:58.959414: INFO: BR-RDC: Got MAC: 00:12:4b:00:08:fb:04:d3
2016-01-08 10:08:59.192068: WARN: PF: No input function set
2016-01-08 10:08:59.895521: INFO: ETH: Eth MAC address : 02:00:08:fb:04:d3
2016-01-08 10:08:59.896387: INFO: 6LBR: Tentative local IPv6 address fe80::212:4b00:8fb:4d3
2016-01-08 10:08:59.896772: INFO: 6LBR: Tentative global IPv6 address (WSN) aaaa::212:4b00:8fb:4d3
2016-01-08 10:08:59.897094: INFO: 6LBR: Tentative global IPv6 address (ETH) bbbb::100
2016-01-08 10:08:59.897280: INFO: 6LBR: RA Daemon enabled
2016-01-08 10:08:59.897527: INFO: NVM: Opening nvm file '/etc/6lbr/nvm.dat'
2016-01-08 10:08:59.898940: INFO: 6LBR: Configured as DODAG Root
2016-01-08 10:08:59.899236: INFO: 6LBR: Starting as RPL ROUTER
2016-01-08 10:08:59.902637: INFO: UDPS: UDP server started
2016-01-08 10:08:59.904258: INFO: 6LBR: CETIC 6LBR Started
2016-01-08 10:08:59.904645: ERROR: SLIP: Unknown command
2016-01-08 10:12:09.776693: INFO: HTTP: Script : /sensors.html
2016-01-08 10:12:09.799112: INFO: HTTP: Script : /6lbr_layout.css
2016-01-08 10:12:14.184974: INFO: HTTP: Script : /admin.html
2016-01-08 10:12:14.226540: INFO: HTTP: Script : /6lbr_layout.css
2016-01-08 10:12:16.466448: INFO: HTTP: Script : /log

  • Thanks for your reply YiKai.


    I'll give it a try as soon as I get a chance.

    It looks like the instructions are pretty much the same, except that the XDS UART is not used. Have you found the XDS UART to be unreliable?

  • Yes, I find it sometimes unreliable so I always use external serial-to-USB dongle when I test 6lbr on CC13xx/CC26xxDK.
  • Hi again,

    Sorry for the long delay.

    I was not able to get the CC1310 slip radio to work reliably with 6LBR, even with the XDS UART bypassed and with an external serial-to-USB connection.

    We ended up trying the Weptech Gateway, which has support for both 2.4GHz and sub-1GHz. Their instructions for setting it up with for sub-1GHz were rather lacking, and I had a lot of trouble configuring project-conf.h for the code they supplied to get it to work with the CC1310 mesh network. But eventually I found out that some of the MAC/RDC/FRAMER settings did not match the default setup for the CC1310 platform, and I was able to make some configuration changes and got it to work reliably.

    So we've used the Weptech gateway for a while now, but I wanted to give 6LBR/BBB another try. So I pulled the latest contiki commit (3.x-2232-g3b9fa19) and compiled the slip radio again, and now it appears to be working very well. I've rebooted the BBB several times and it comes up all the time. I've been using the XDS UART this time btw, because the dedicated USB-to-serial connection didn't seem to make any difference to me.

    I am reluctant to say to "it works now" though, because of my past experiences. 2-3 months ago I thought it was working reliably, when suddenly I started having all kinds of issues. I would have the setup powered up on my desk, and nothing was working, then after a few hours suddenly the mesh network comes up and everything is in working order again. I tried different versions of Contiki, tried a variety of configuration settings, with no luck, I was never able to draw any conclusions.

    I wish someone who maintains the TI wikis could provide .hex/.bin files for the CC1310 SLIP radio, so I know I can always flash the CC1310 with something that is tested and guaranteed to work, as is done for the CC2531 slip radio here: processors.wiki.ti.com/.../Cc26xx_sw_examples

    And I wish the wiki would specify git commit IDs for Contiki that was used when the wiki was written, which therefore is known to work, instead of just instructing the reader to clone the latest version.

    That would make it easier for people to rule out mistakes on their own part, if there was a known-to-work setup that one could always return to.