Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

CC3135: Ethernet Packets: is there any method for sending/receiving Ethernet packets while the NWP is associated ?

Part Number: CC3135

I wish to add to an existing product the CC3135 for it's dual band functionality, but I must port interface to the (ThreadX) "NetX Duo" stack .

Numerous other chips (available to us, but lacking 5GHz operation) allow "IP over Serial" sort of functionality, to make it easy to port to any third party stack.

Am I missing something, or am I right in thinking  sl_Socket() only supports TCP and UDP packets?

In regards to "transceiver mode", it looks as if I would have to rewrite the entire WiFi networking stack to regain full WiFi functionality.

Any advice would be much appreciated. Thanks.

Karel

  • Hi Karel,

    In general you have right. All sported modes you find at www.ti.com/.../swru455 chapter 6.5.3. Supported modes:
    - TCP/UDP socket mode
    - Layer 4: Transport
    - Layer 3: Network
    - Layer 2: Data Link (Transceiver Mode, Not Connected)

    Jan
  • OK I have got Ethernet Packet I/O functionality now.

    1. Get your MAC address, (you'll need it to send out packets)
    retVal = sl_NetCfgGet(SL_NETCFG_MAC_ADDRESS_GET, &ConfigOpt, &macAddressLen, macAddressVal); //SL_MAC_ADDRESS_GET

    2. Connect to an AP ( i.e. Not "transceiver Mode") in the normal way
    ret = sl_WlanConnect( (const signed char *)ssid, strlen((const char *)(ssid)), 0, &_secparam, 0);
    this may go and run an internal DHCP client, but anyway ...

    3. Open a socket like this. (The RxChannel is the channel opened to the AP (Have not tried 5GHz channels yet!!)
    sdEtherCon = sl_Socket(SL_AF_PACKET, SL_SOCK_RAW, RxChannel); // e2e.ti.com/.../2010994

    4. Make up an Ethernet packet and send it thus
    status = sl_Send(sdEtherCon, p_buf, (int16_t)length, (int16_t)0);
    5. Recv Ethernet packets thus.
    ret = sl_Recv(sdEtherCon, &Rx_frame, RX_BUFFER_SIZE, 0);


    I am porting this for use with ThreadX Netx DUO, but should be do-able with any other IP stack out there.

    Cheers.
    Karel
  • Hi Karel,

    Thank you for sharing your approach.

    Regards,

    Jan