On my iPhone 16 Pro and iPhone 16 Pro Max devices, running iOS 26.0, 26.0.1, and 26.1, Wi-Fi raw socket communication works flawlessly. Even after keeping the connection active for over 40 minutes, there are no disconnections during data transmission.
However, on the iPhone 17 and iPhone 17 Pro, the raw socket connection drops within 20 seconds. Once it disconnects, the socket cannot reconnect unless the Wi-Fi module itself is reset.
I believe this issue is caused by a bug in the iPhone 17 series’ communication module. I have looked into many cases, and it appears to be related to a bug in the N1 chipset.
Are there any possible solutions or workarounds for this issue?
Thanks for the clarifications.
Just FYI, in networking, raw socket usually refers to raw IP sockets, hence my confusion.
So, lemme summarise the issue:
- You have an iOS app.
- It talks to a Wi-Fi based accessory over TCP.
- With iPhone 16, this all works as expected.
- With iPhone 17, things go wrong, such that your TCP socket disconnects after 20 seconds.
- After that, your app is unable to reconnect.
- And the only way to resolve the issue is to restart the Wi-Fi subsystem on your accessory.
Is that right?
If so, this sounds eminently bugworthy. While there are lots of ways that local networking can go wrong, the fact that this fails when the only variable you change is moving from iPhone 16 to 17 suggests that it’s caused by a Wi-Fi level issue on iPhone 17.
DevForums focuses on Apple APIs and tools, and isn’t really set up to help with Wi-Fi level issues. Given your description of the problem, I think it makes sense for you to file a bug so that our Wi-Fi engineering team can investigate.
In your bug, make it clear as to whether you’re the accessory developer or you’re using an accessory built by someone else.
When you file your bug, make sure to install the Wi-Fi for iOS/iPadOS debug profile so that your sysdiagnose log captures extra debugging information. I also think it’d be helpful for you to include a packet trace. You should definitely include an [RVI packet trace][packet], but if you have the ability to take a packet trace from the perspective of your accessory then include that as well.
Once you’re done, please post your bug number, just for the record.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"