2

Have oT-cli up and running on 2 different RF platforms (CC2358 and Atmel AT86RTxx controlled via SPI from an Arm7TDMI host). No real compile, link or load issues. Everything seems fine. I can scan and see all devices on the air.

However, when the "start" command is issued, for what ever reason, each of the devices state becomes "leader" -- None are Routers. Each are sending MLE Messages and I have discovered that when a device receives the MLE it does not enter it into the router list. It fails the mRouters[i].mState == Neighbor::kStateValid test at line 2015 of mle_router.cpp.

Update on my Situation. First of all has anyone had any experience with Monitoring the air traffic via Wireshark? I have noticed that the MLE UPD packets dissected by wireshark indicate that the UPD check sum is incorrect. This condition exist with both Targets, TI as well as Atmel. Any case this is the reason why the router table is not being populated / udated. The Inbound checksum check Fails.

Any ideas anyone?

R. Barker
  • 21
  • 2
  • _Atmel AT86RTxx controlled via SPI from an Arm7TDMI host_ How did you do this? – urman Sep 14 '16 at 00:05
  • Hi "urman", not sure what you mean? Just implemented the SPI Control as per the data sheet. No Magic. Of Course the interfacing to the otxxx call backs was a bit tedious, but mass not class. Or did you have a specific. BTW the host is an Dresden elektroniks deRF7arm Gateway. Any case, What I now have determined is the devices are not responding to the mle command Link Request because the TLV value is 0x15, and if I read rfc correctly it ought to be 0x00 == source address, the length seems to be correct -- it is 41 and I have 43 Bytes in Frame . – R. Barker Sep 14 '16 at 08:26

2 Answers2

0

I have seen at least one compiler (Visual Studio) treat the mState variable as signed, causing that check to fail. Making the following change fixes it:

State           mState : 3;

to

unsigned int    mState : 3;
Nick Banks
  • 4,298
  • 5
  • 39
  • 65
0

Similar issue I have faced on another platform where switching CCA (Clear Channel Assessment) mode in radio configuration to 2 (carrier sense) was helpful.

CCA has 3 modes:
1 - Energy Detection
2 - Carrier Sense
3 - 1 and 2 combined