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.

How to get rssi

Other Parts Discussed in Thread: CC3200, CC3200SDK

Hi

I'm testing CC3200 Launchpad with SDK 0.5.2.

How can I get rssi of last received packet?

It's not exact when i get rssi using sl_WlanRxStatGet( ).

I collected signal in 500ms and print AvarageMgMntRssi, AvarageDataCtrlRssi but it's not exact.

Thanks,

Park

  • Hi Jung,

    Are you working in WiFi Connect mode?

    We are providing RSSI for each packet in Rx Transceiver (disconnect mode only) - this mode can be used to sniff specific packets if combined with the the Embedded filters.

    The RSSI is not provided in connection mode and average RSSI can be read using the sl_WlanRxStatGet() as you mentioned in your query.

    BR,

    Nir

  • Hi Nir,

    Do you have any plan to support RSSI in connection mode?

    Thanks,

    Park,

  • Hi Park,

    The RSSI is not part of a normal IP packet and in order to support BSD Socket functions you must provide only the data buffer without overhead.

    This is why we have the transceiver mode. on our roadmap we would like to support transceiver in connect mode but this is not something I can commit for a schedule.

  • Hi Nir,

    User want to check signal strength, that's why i need to know rssi in STA connection mode.
    As far as i know, other wifi chipset can display rssi in STA connection mode.

    Thanks,
    Park

  • Hi Park,

    I guess your question is regarding signal strength of the the Access Points to which CC31xx/CC32xx STA is connected to.

    I guess in general, you can get rssi of upto 20 visible APs .See below

    =======================================================================================

    sl_WlanPolicySet(SL_POLICY_SCAN , policyOpt,(unsigned char *)(IntervalVal), sizeof(IntervalVal)); 

    // delay 1 second to verify scan is started
    osi_Sleep(1000);

    sl_WlanGetNetworkList(0, SCAN_TABLE_SIZE, netEntries);

    =======================================================================================

    Now you have rssi of all the visible APs. From the netEntries array, you can get rssi of the AP you are connected to.

    Regards,

    Kaushal

  • Hi Park,

    Your first query was how to get RSSI of the last packet which is not part of the packet.

     However getting the connected signal strength (RSSI) with the AP is possible in a simple way by using the Rx Statistics. Management RSSI can indicate the Beacons frame coming from the AP.

    Please follow the Programmer’s guide for more info.

     

    Below is a short exmaple:

     

    sl_WlanRxStatStart();// start collecting Rx Statistics data

    sl_WlanRxStatGet(&gRxStatResp,0);// Read statistics

           printf("\n\n*********************************Rx Statistics**********************************\n\n");

    printf("Received Packets - %d\n",rxStatResp->ReceivedValidPacketsNumber);

           printf("Average Rssi for management: %d\nAverage Rssi for other packets: %d\n",rxStatResp->AvarageMgMntRssi,rxStatResp->AvarageDataCtrlRssi);

     

    You can also print the RSSI Histogram of the last received packets.

    I hope it answers your question.

    Best Regards,

    Nir Nitzani

  • Hi Nir,

    According to your guide i can get rssi value in connection state. 
    but both avgMgmt and avgDataCtrl rssi values are fluctuated as below.
    Can i get stable rssi of rx packet from connected AP?
    Should i use rx filter to get stable rssi?

    count=10 Mgmt=-43 DataCtrl=-66
    count=17 Mgmt=-65 DataCtrl=-38
    count=23 Mgmt=-66 DataCtrl=-70


    Thanks,
    Park

  • Hi Nir,

    I solved my problem (reporting stable rssi).

    Many Thanks,
    Park

  • Hi Park,

    can you describe a bit how you have solved it?

    Best regards,

    Martin

  • Hello Nir,

    From your last post it seems you are saying that Rx Statistics can be gathered while connected to an AP? This wiki page: "http://processors.wiki.ti.com/index.php/CC32xx_Transceiver_Mode" says that Rx Statistics can only be used in transceiver/disconnected mode however section 17.4 of document SWRU368 seems to say otherwise.  

    I'm trying to understand whether I can gather RSSI data from a particular AP using Rx Statistics in a low power state i.e. LPDS mode with the network processor only waking up for beacons?

    Regards

  • Hi Martin,

    1. Please refer to chapter 17.3 of SWRU368 doc.

        When calling only sl_WlanRxStatGet, without the start command, only the RSSI is available.

    2. In order to receive packet, you may need to use SL_ALWAYS_ON_POLICY.

    Thanks,
    Park

  • Hi Park - you are correct - as written in the programmer's guide - Rx Statistics is supported in connection mode as well. 

    While the STA is connected Beacons are continue to be received and RSSI is collected - no need to change the Power Management mode. when Data packets will be received the device will switch to Active state automatically and again RSSI data will be collected.

    Lotus I think you have identified a mistake in our WiKi documentation which will be fixed. in this case the programmer's guide is the correct one to use.

    thank you both.

    Nir Nitzani

  • Hello Kaushal,

    I implemented your idea.

    After executing  the function sl_WlanGetNetworkList(0, SCAN_TABLE_SIZE, netEntries);

    i am getting the information of all AP's.

    In the netEntries structure, the netEntries.rssi shows the values 0xBB, 0xBC etc...

    My question is, how do i know what the signal strength is from the RSSI value of the AP ??

    I want to indicate when the signal strength falls below 20%.

    Please reply.

    Warm regards,

    Abhishek.

  • Hello All,

    I got the RxStatistics as mentioned in this post, by using sl_WlanRxStatStart().

    I am checking the AvarageDataCtrlRssi parameter to monitor the signal strength between the AP and CC3200(station).

    Do i need to monitor the AvarageMgMntRssi parameter also ??

    And, can you please suggest any method to convert AvarageDataCtrlRssi/AvarageMgMntRssi into Signal Strength(0% to 100%) ??

    Please reply.

    Thank you in advance.

    Warm regards,

    Abhishek.
  • Hello all,
    Can someone please comment or suggest anything on my query ??
    That would be much helpful.

    Warm regards,
    Abhishek.
  • Is there any way to get the MAC address from the packets?
  • Hi Nir,

    If I want to look at the RSSI of each packet when a CC3200 works in sniffer mode, should I use the transceiver_mode example provided by the SDK? Thanks.

    C:\TI\CC3200SDK_1.1.0\cc3200-sdk\example\transceiver_mode

    Pengyu
  • Hi Kaushal,

    I could see some time duplicate networks in the list of entries. In that case which network RSSI value we should consider it as valid one.

    Thanks,

    Ashok

  • Hi,

    Those are probably different Access Points with the same SSID (note that they have different BSSID).

    Br,
    Kobi