Skip to content

[Windows] iOS 26.3 WiFi tunnel stalls at "Tunnel server started" or crashes with wsasend EOF upon unplugging USB #779

Description

@wenhao-123

Tested on the latest release v1.2.0 and the issue still persists on Windows.

Environment

  • PC OS: Windows 10/11 (x64)
  • iOS Version: iOS 26.3
  • Tool Version: go-ios (Latest Windows binary)
  • Network Setup: Windows Mobile Hotspot is enabled. The iPhone is connected directly to the PC's hotspot (Assigned IP: 192.168.137.254). A local ping test is perfectly stable with 35ms~71ms latency and 0% packet loss.

Expected Behavior

The wireless network tunnel should initialize successfully over the Wi-Fi/Hotspot connection when specifying the --address parameter, or seamlessly sustain/handshake the connection when the USB cable is unplugged after a successful ios pair.


Actual Behavior & Symptoms

Symptom 1: Pure Wireless Connection Stalls

When attempting a direct wireless connection over the hotspot without any USB cables attached (both user and kernel agents have been tested):

cd /d D:\go-ios-win
set ENABLE_GO_IOS_AGENT=user
ios tunnel start --address=192.168.137.254 --udid=00008101-001E18840132001E

The process hangs indefinitely right after the following log line, never initializing the network adapter or tunneling data:
{"time":"2026-06-23T15:44:33.9293434+08:00","level":"INFO","msg":"Go-iOS Agent not running...","port":60105}
{"time":"2026-06-23T15:44:33.9796304+08:00","level":"INFO","msg":"Waiting for go-ios agent to be ready..."}
{"time":"2026-06-23T15:44:33.9837606+08:00","level":"INFO","msg":"restricting tunnel agent to a single device","udid":"00008101-001E18840132001E"}
{"time":"2026-06-23T15:44:33.9842719+08:00","level":"INFO","msg":"Tunnel server started"}   <-- Hard freeze here, no further logs

Symptom 2: Crash on Unplugging USB ("USB Bait" Method)
To diagnose further, I attempted to start the tunnel with the USB cable attached (which succeeds instantly) and then unplug it to force a transition to Wi-Fi. The moment the cable is pulled, the connection is forcefully aborted by the host machine socket layer:

D:\go-ios-win>ios tunnel start
... [ 有线隧道顺利初始化 ] ...
{"time":"2026-06-23T22:12:39.3465588+08:00","level":"INFO","msg":"tun wrapper initialized","module":"go-ios/tunnel"}

[!! Unplugged the USB data cable here !!]
{"time":"2026-06-23T22:12:52.6032098+08:00","level":"ERROR","msg":"failed to forward data to tunnel interface","error":"failed to read IPv6 header: EOF"}
{"time":"2026-06-23T22:12:53.2519266+08:00","level":"ERROR","msg":"failed to forward data to the device","error":"could not write packet. write tcp 127.0.0.1:4798->127.0.0.1:27015: wsasend: An established connection was aborted by the software in your host machine."}
{"time":"2026-06-23T22:12:53.3066315+08:00","level":"INFO","msg":"stopping tunnel"}

Troubleshooting Done So Far
1.Verified that ios pair was successfully executed over USB beforehand; pairing records are intact.

2.Ensured the iPhone's screen is set to "Never Lock" and the battery is not in Low Power Mode.

3.Completely terminated all dangling processes using taskkill /f /im ios.exe before retrying.

4.Toggled Windows Defender Firewall off completely for testing, yet the wsasend connection abortion still occurs instantly upon USB disconnection.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions