RSSI in monitor mode

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Level 1
Level 1


I am using CYW43907 in monitor mode. I am able to get all the management frames. I am getting all data I want, expect RSSI.

Can you please help me to get RSSI of the packet in monitor mode?


Sapan Shah

3 Replies
500 replies posted 250 replies posted 100 replies posted

Hi Sapan,

I assume you are talking about parsing the radiotap or equivalent header which usually prepends the 802.11 frame (around 32 bytes before the header). Since this is not a part of 802.11 frame, WICED does not have the ability to detect the metadata (Read radiotap like header) and parse the same.

If you additionally want to get the rssi without entering the monitor mode, you can check the snip.scan example for possible understanding on how to do this. Also there are a couple of APIs as well to do the same. Please check if that serves your purpose.

wwd_wifi_get_rssi( int32_t* rssi );

wwd_wifi_get_ap_client_rssi( int32_t* rssi, const wiced_mac_t* client_mac_addr );

The declaration and how-to-use of the mentioned APIs can be found in 43xxx_Wi-Fi/WICED/WWD/include/wwd_wifi.h


Thank you for your response.

The scan will not give me all management frame which i can parse.

I want to get RSSI of each probe requests, probe responses and beacon frames received by module.

How can I get that?


I am sorry but there is no easy way for you to capture the RSSI of each probe requests, responses and beacon frames received by the module. Since radiotap-header is prepended to an 802.11 hdr, WICED won't be able to parse it.

The only other option that you have is to use the wwd_wifi_get_rssi API (this utilizes a PHY layer feature) for beacon frames and for probe request/response frames after you exit the monitor mode.