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.

CC1310: [Contiki]CC1310 CANNOT transmit data to air, but tx return status is right

Part Number: CC1310
Other Parts Discussed in Thread: CC1350,

Problem 1: rf-core transmit fails
The Radio Layer Interface have transmitted data to the M0 and received the rf-core state is
0x3400, which means data was already transmitted successfully. And the return from rdc
showed the count of successful transmitted was increased(when transmitting continuously). But we didn't find any data in the air (Air interface) during the process.

Problem 2: rf-core receive fails
(https://github.com/contiki-os/contiki
prop-mode.c https://github.com/contiki-os/contiki/blob/master/cpu/cc26xx-cc13xx/rf-core/prop-mode.c
rf-core.c https://github.com/contiki-os/contiki/blob/master/cpu/cc26xx-cc13xx/rf-core/rf-core.c)

  1. When rx state is working properly, rf_core_is_accessible() should return 1
    (PRCMrfReady, register address 0x4008200 offset 01), the value in
    smartrf_ssettings_cmd_prop_rx_adc.status is 2;
  2. When rx state is abnormal, the rf-core couldn't receive the data, and rf_core_is_accessible
    () will return 0, the value of smartrf_settings_cmd_prop_rx_adv.status is 0. In that
    case, should use NETSTACK_RAIO.set_value(RADIO_PARAM_POWER_MOADIO_POWER_MODE_ON)
    (set_value in prop-mode.c) to restore, use rf_core_power_up to electrified rf-core.
    Problem analysis:
    After the data transmitted, call the rf_cmd_prop_rx to switch to rx state, but there is
    not any judge that the function is executed successfully. If the switching core state fails
    will cause this problem.
    Plus, we found a post on github showing that 1310 will crash under heavy traffic(#1878). The
    solution that TI given is process 6lowpan with MSP430+1310, and 1310 only
    process data under the MAC layer. Other Sub1G chip that TI released like cc1350
    use the M4 core. So I wonder cc1310 can process the 6lowpan expectably.

  • Part Number: CC1310

    Problem 1: rf-core transmit fails
    The Radio Layer Interface have transmitted data to the M0 and received the rf-core state is
    0x3400, which means data was already transmitted successfully. And the return from rdc
    showed the count of successful transmitted was increased(when transmitting continuously). But we didn't find any data in the air (Air interface) during the process.

  • Hi Xuanpu,

    You will have to raise this issue with the Contiki-OS community. We don't develop Contiki-OS.

    Regarding Problem 1, how are you detecting data on the air? Sniffer?

    Regarding Problem 2, this is out of scope of the E2E forum. Again, raise this issue with the Contiki-OS community.
  • Thank you for reply me:
    Problem1: We find <smartrf_settings_cmd_prop_tx_adv.status> is 0x3400 after transmitting one frame, but it doesnt exist in the air. I think this is a chip problem because what M0 returns is not relevant to OS Contiki. And I use sniffer with hardware-cc1310 launchpad software-example/sniffer
  • If the status is 0x3400, then the packet was transmitted. I suspect you haven't configured either your sniffer or your device correctly.