-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Contiki devices communicate to other wireless network devices running RIOT OS #1345
Comments
I only could found some relevant Q&A regarding the inter-operability. http://stackoverflow.com/questions/12255291/are-6lowpan-stacks-in-tinyos-and-contiki-compatible |
Looks like RIOT folks are trying to close the gap between Contiki |
see also discussion in RIOT-OS/RIOT#4220 |
We did some work on getting Contiki and Tiny OS to communicate with 6LoWPAN and RPL. That worked quite ok! Not sure if we have the same ND as RIOT and some of the other things might also differ - but it seems like there have been some initial tests that indicates that it should work in the above RIOT-OS issues/discusssion. I do think it is a good thing to set up both OS:es for interop - we found lots of bugs while doing the Tiny OS and Contiki interops. |
I would also appreciate a Contiki-RIOT interop very much. Maybe we can do so on the IoT-LAB testbed which should be supported by both platforms? |
When Contiki automatically configures its global IP address from Prefix Information option, it does not send DAO, so that router (RIOT) cannot build its routing table. I'm not sure this is standard compliant, but following patch works well between RIOT root-router and Contiki leaf. |
It should send a DAO when it first selects the node as preferred parent, doesn't it? Or are you talking about a runtime change of prefix? Do not hesitate to open a PR with your patch so we consider it for inclusion. |
Btw, I should mention that we did test RIOT-Contiki interop at the last 6TiSCH plugtest, see more discussion at: RIOT-OS/RIOT#4220 |
Also, please be aware that I had to apply a patch similar to RIOT-OS/RIOT#4732 on the RIOT site, because Contiki is not sending unicast DIS messages AFAIK. |
RIOT sends DIO with Prefix Information only if:
So when Contiki is booted after RIOT is configured to be a root:
If Contiki is booted before RIOT is configured to be a root, RIOT sends DIO with Prefix Information and everything will be OK. I'm not sure this is a bug of RIOT or Contiki. What is the correct behaviour the standards expects? How should we fix this? |
I didn't read RIOT-OS/RIOT#4732 before sending. That's it. |
Contiki does send multicast DIS messages, by default every minute, until it joins any DAG. |
Never worked with PIO-less DIOs, but it seems Contiki will join the DAG with no prefix, but then not send a unicast DIS as it probably should, indeed. Not exactly sure what the standards mandate here but sounds like a missing useful feature on the Contiki side anyway :) |
I echo Simon. Not sure what the RFCs say either, but perhaps we should ignore DTSN until we actually do have our own prefix? In the scenario above "new" (so to speak) DTSN would trigger DAO. |
It sends multicast DIS before joining DAG (handle_periodic_timer in rpl-timers.c). After joining DAG, Contiki sends unicast DIS with random interval (handle_probing_timer in rpl-timers.c) |
yes @Yonezawa-T2 I noticed my mistake straight after posting and edited. See next message ;) |
I should have reload browser before submitting. Sending unicast DIS for DIO without PIO seems nice. |
…ogging TCSH: improve TSCH and Orchestra logging
Since contiki devices support 6lowpan and IP, is it possible to let Contiki devices talk with RIOT devices via IP network which is the same way your android smart phone talks to ios mobile devcies?
I understand this requires contiki and RIOT implement the same 6lowpan and IP protocol but I am NOT clear that if this is happening or happened?
There are 3 reasons the cross-OS communications over 6LowPan will fail:
Just want to hear more thoughts about this cross-OS communication for IoT devices.
The text was updated successfully, but these errors were encountered: