wifi_send_pkt_freedom / wifi_set_promiscuous_rx_cb - Seeing Multiple Frames

Inquisitor
Posts: 6
Joined: Thu Dec 14, 2017 10:53 am

wifi_send_pkt_freedom / wifi_set_promiscuous_rx_cb - Seeing Multiple Frames

Postby Inquisitor » Thu Oct 03, 2019 11:32 pm

Device 1 - I have been experimenting with using the wifi_send_pkt_freedom() method on a ESP8266. I'm creating my own data frames using the ESP8266 Technical Reference section 14 as my main guidance. For the MAC header, I have set up the two Frame Control octets for Type = Data and SubType = Data. The other bits...
Protocol = 0
ToDS = 1
FromDS = 1
More Frags = 0
Retry = 0
Pwr Mgmt = 0
More Data = 0
Protected Frame = 0
Order = 1
I also set DurationId = 0. The other portions of the MAC Header I use various things in fields from Address 1 up to the Frame body.

Device 2 - I have a second ESP8266 setup using wifi_set_promiscuous_rx_cb to track my progress.

I'm calling wifi_send_pkt_freedom 3 times. However for each of those 3 frames, I receive 10 calls to the wifi_set_promiscuous_rx_cb(callbackReceiver) method on the other device. When I check the data being received, all the data that I set is as I sent it and is the same for all ten calls. Note - callbackReceiver receives 60 bytes for "Data" frames and the bytes after the ones I've set seem to vary. I'm assuming that's just data that happens to be in the buffer when the Espressif level sends it to my callback.

Question 1 - I don't have another type of sniffer so I can't tell if the sender's Espressif level is sending ten frames for each call I make to wifi_send_pkt_freedom OR the Espressif lower level is calling my callback ten times for each frame it receives. Which is it?

Question 2 - Is this normal behavior all the time?
Question 3 - Is there something I can do to make it not send 10 to 1?
Question 4 Do I have something wrong in the MAC header that is causing this?

Thanks for any help you spare.

Who is online

Users browsing this forum: No registered users and 7 guests