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.

CC3120: "len" argument to sl_Send in transceiver mode different for CC3100 versus CC3120

Part Number: CC3120
Other Parts Discussed in Thread: CC3100

Hi,

We discovered today that when using transceiver mode, the "len" argument in the call to sl_Send() needs to include the extra 4 bytes for the FCS when using the CC3100, but should not include the extra 4 bytes when using the CC3120. In other words, if we are sending a packet with length "packetLen", the calls to sl_Send() need to be:

CC3100: Status = sl_Send(SockID, pPacket, packenLen + 4, 0 );

CC3120: Status = sl_Send(SockID, pPacket, packenLen, 0 );

I didn't see this distinction in the API documentation, but perhaps it should be added so users know the difference between the 2 parts.

Thanks,

-Ed

  • HI Ed,

    I'm not aware of this sort of behavior for this API. What are you seeing that leads you to this conclusion? Have you verified the FCS for correctness?

    -Aaron
  • Hi Aaron,

    I stumbled on this when testing our application with a CC3120 based platform. Our application basically broadcasts packets that are picked up by a Cisco MSE. I noticed that the MSE was not picking up the CC3120 based platform packets, but it was with our CC3100 based platform. I then captured the packets via Wireshark and an AirPcap dongle, and noticed there were 4 extra bytes of data between the end of the packet data and the FCS. Our application code that builds the packets has been adding 4 bytes to the packet length when calling sl_Send() to account for the FCS. When I removed the adding of the 4 bytes to the length, everything worked as expected.

    I then captured packets via Wireshark/AirPcap with our CC3100 based platform. With no changes to the application code, the Wireshark log did not have the extra 4 bytes of data before the FCS, and the MSE picked up the packets. Just to be sure, I made a build that removed the adding of the 4 bytes to the packet length for the CC3100 based platform, and the Wireshark captured packets were missing the FCS at the end (and the MSE was not able to pick up the packets).

    Thanks,
    -Ed
  • What is the service pack version used with the CC3100?

    _Aaron