Page 1 of 1

How can I get CSI (channel state information) from my own ESP32 Chip?

Posted: Sun Mar 17, 2019 11:01 am
by areguy
As I known, esp-idf has supported (CSI) channel state information.

I just follow the WiFi documentation wifi.rst in esp-idf directory to modify the given example "station" to get channel state information.
It works well, but it could not receive any CSI from my another chip, to which I upload another example "softAP".

In the example "softAP", I have tried hard to do something to make it better(maybe,i dont konw)
For example, select Wi-Fi CSI enble in menuconfig or add 'esp_wifi_set_csi(true)', even 'esp_wifi_set_promiscuous(true)'
However, these methods make on sense

Also, I search related questions in the Internet and read the ESP-IDF Programming Guide over and ever again, but can't find the solution.

I'm really a newbie on this field,and it's my first time to post question here.
HOPE SOMEONE CAN HELP ME! THANKS

Re: How can I get CSI (channel state information) from my own ESP32 Chip?

Posted: Mon Mar 18, 2019 3:07 am
by littlesky
areguy wrote:
Sun Mar 17, 2019 11:01 am
As I known, esp-idf has supported (CSI) channel state information.

I just follow the WiFi documentation wifi.rst in esp-idf directory to modify the given example "station" to get channel state information.
It works well, but it could not receive any CSI from my another chip, to which I upload another example "softAP".

In the example "softAP", I have tried hard to do something to make it better(maybe,i dont konw)
For example, select Wi-Fi CSI enble in menuconfig or add 'esp_wifi_set_csi(true)', even 'esp_wifi_set_promiscuous(true)'
However, these methods make on sense

Also, I search related questions in the Internet and read the ESP-IDF Programming Guide over and ever again, but can't find the solution.

I'm really a newbie on this field,and it's my first time to post question here.
HOPE SOMEONE CAN HELP ME! THANKS
The CSI is extracted from received packet. Does the softAP send 11g/n packet to the station? For example, you can send UDP data from softAP to station. Note that the example "softAP" does not do this except recepting connection from station.

Re: How can I get CSI (channel state information) from my own ESP32 Chip?

Posted: Mon Mar 18, 2019 8:17 am
by areguy
The CSI is extracted from received packet.
First,thank you for your reply!

I think that's exactly the key of my question.
Now, I think i'd better receive CSI in the softAP, and use another chip as station to connect to this AP.
In this way, I can send UDP data from my station to my softAP, which may let me able to contral the speed of CSI update.

BUT, I dont know the default ip address of the softAP(maybe 192.168.4.1? I've tried,not work), or which port i should should send to.
By the way, whether the function

Code: Select all

esp_err_tesp_wifi_80211_tx(wifi_interface_tifx, const void *buffer, int len, bool en_sys_seq)
can also satisfy my need?If so, I'm supposed to learn the format of raw ieee80211 data.SAD!

Re: How can I get CSI (channel state information) from my own ESP32 Chip?

Posted: Mon Mar 18, 2019 8:32 am
by littlesky
areguy wrote:
Mon Mar 18, 2019 8:17 am
The CSI is extracted from received packet.
First,thank you for your reply!

I think that's exactly the key of my question.
Now, I think i'd better receive CSI in the softAP, and use another chip as station to connect to this AP.
In this way, I can send UDP data from my station to my softAP, which may let me able to contral the speed of CSI update.

BUT, I dont know the default ip address of the softAP(maybe 192.168.4.1? I've tried,not work), or which port i should should send to.
By the way, whether the function

Code: Select all

esp_err_tesp_wifi_80211_tx(wifi_interface_tifx, const void *buffer, int len, bool en_sys_seq)
can also satisfy my need?If so, I'm supposed to learn the format of raw ieee80211 data.SAD!
The default IP of softAP is 192.168.4.1. You need to bind a UDP socket to a port which you'd like. esp_err_tesp_wifi_80211_tx also works.

Re: How can I get CSI (channel state information) from my own ESP32 Chip?

Posted: Wed Mar 27, 2019 6:13 am
by areguy
Any one can give a example using the function esp_wifi_80211_tx to broadcast a kind of frames in one esp32 chip ?

I know there is a examplehttps://github.com/Jeija/esp32-80211-tx on it.
But after trying, it seemed just broadcasting beacon frames didn't work.

OR,
anybody can tell me what kinds of frames AP should send or broadcast to let STA get the CSI