WiFi download rate abnormal

Hello, we are in the process of app development and we came across a question we would like to ask you.

Our app: The App we developed has an application scenario, which is the function of data communication with wifi devices, mainly including http data request and download, socket data two-way communication. These wifi devices are our own camera devices with WiFi modules. App through the wifi device can only access the device's local data, can not access the data of the external network.

Our problem: The wifi device's wifi is on channel 36, when the app downloads the corresponding device's data through wifi, the download rate decreases significantly, and the download rate is half of the normal rate.

Some of the attempts we have made and whether they are effective:

  1. Using the current iPhone, connect to any wifi device of the same model, and the wifi device is in 36 channels, download through our app, the download rate is only half of the normal rate. ——Invalid
  2. Using the current iPhone, connect to any wifi device of the same model, and the wifi device is in 36 channels, download through Safari, the download rate is only half of the normal rate. ——Invalid
  3. Using the current iPhone, connect to the current wifi device, and the wifi device is on channel 149, download through our app, the download rate is the normal rate. —— Valid
  4. Using another iPhone of the same model, connect to the current wifi device, and the wifi device is on channel 36, download through our app, the download rate is the normal rate. —— Valid
  5. Using the current iPhone, first do these operations (switch on/off flight mode, switch on/off wifi, turn off private WLAN address), connect to any wifi device of the same model, and the wifi device is on channel 36, download through Safari, the download rate is only half of the normal rate-valid. ——Invalid
  6. Using the current iPhone, first do these operations (restore network settings or restart the iPhone), connect to the current wifi device, and the wifi device is in 36 channels, download through our app, the download rate is the normal rate. —— Valid

We tried to grab wifi TCP packets via sniffer and found that the iPhone kept going to sleep (sta will go to sleep), resulting in a decrease in download rate.

We would like to ask if this problem occurs because the wifi driver of iPhone is designed like this, or is it a bug of iPhone? If this is the design, what are the triggering conditions, and what is a more cost effective way to recover from this problem when it occurs? If this is a bug, is it a known bug, and what is the next version to fix it?

STEPS TO REPRODUCE First use iPhone to connect to our wifi device's wifi, then install our app and access the data in the wifi device through the app, and after some time, this issue may occur.

The models and system versions that are currently experiencing problems are listed below: iPhone 14 Pro iOS 16.5.1 iPhone 14 Pro iOS 16.3

My understanding is you’re able to reproduce this using Safari. If so, that puts it somewhat outside of the scope for DevForums, in that our primary focus is on APIs. If you see this problem with Safari, none of your code [1] is involved, which means that you can’t be doing anything wrong. Given that, the best path forward here is to file a bug report.

At a minimum, your bug report should include a sysdiagnose log shortly after reproducing the problem with the Wi-Fi for iOS debug profile install. For more on that, see our Bug Reporting > Profiles and Logs page.

It’d also be good if you included a Wi-Fi packet trace. The last time I tried this, which was several years ago, I was able to do this on the Mac using the instructions in Recording a Wi-Fi Packet Trace.

And also include any other info that you feel is relevant.

If you do file a bug, please post your bug number, just for the record.


We tried to grab wifi TCP packets via sniffer and found that the iPhone kept going to sleep (sta will go to sleep)

The last time I looked into things at this level I found that the iOS STA goes to sleep frequently so that it can switch channels to manage peer-to-peer Wi-Fi.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] Well, you none of your code is running on iOS.

WiFi download rate abnormal
 
 
Q