ZwiftHub not connecting via BT on Windows 11

I’ve done all the normal investigations, but am now drawing blanks on how to connect my ZwiftHub to my Windows PC via BT. It was working this time yesterday, and now… it’s not. I don’t believe any of the Zwift apps did any updates, so I can’t fingerpoint.

My desktop PC is running Windows 11, and has the latest Zwift client installed. Checking that no other devices have bluetooth enabled, I observe that the ZwiftHub light is blinking blue (waiting for a connection). I fire up the Zwift App on my Windows machine, and get to the connection screen, where it “sees” my ZwiftHub… but then quickly turns to “No Connection”. The ZwiftHub light is showing solid blue (connected). When I spin the hub, it’s not showing any signs of life on the Zwift App. I shut the app down, and the ZwiftHub light returns to a blinking blue light (waiting for connection). The Hub is not paired with my PC directly (I let Zwift App do this). And my phone and all other BT enabled devices are turned off, or have BT disabled.

When I then turn on my phone, and fire up the Zwift App on there (not the companion), it finds and connects to the Hub perfectly… and I can complete a session (albeit in a sweaty mess at the end!). So why won’t it connect to my PC… was working 24h ago, and have done full power cycles on all equipment.

I do see the following in the Zwift App log file, which might be a breadcrumb:

[13:21:52] PROFILE SAVED

[13:21:52] Process Upcoming Workingout from 0, workout count: 0, outcome: 0

[13:21:52] m_bDraftLockFixEnabled: OFF (from retrieved feature-flag)

[13:21:52] m_bPackDynamics25CollisionPushBackRemoval: ON (from retrieved feature-flag)

[13:21:52] m_bDefaultRubberbanding: OFF (from retrieved feature-flag)

[13:21:52] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:21:52] [INFO] Auxiliary Controller started

[13:21:52] NETWORK:error (6) sending player state

[13:21:52] NETWORK:error (6) sending player state

[13:21:52] NETWORK:error (6) sending player state

[13:21:53] NETWORK:GroupEvents: Success: Queried active group events -- Count=200.

[13:21:53] NETWORK:error (6) sending player state

[13:21:53] NETWORK:error (6) sending player state

[13:21:53] path C:\Users\jonat\OneDrive\Documents\Zwift\Workouts\2350427\workouts.files size 73

[13:21:53] CloudSync ---UploadToCloud OK workouts.files

[13:21:54] NETWORK:error (6) sending player state

[13:21:54] FPS 59.88,  3101, 14640, -2099

[13:21:55] FB resize: 2560 x 1080


[13:21:55] resize: 2560 x 1080


[13:21:55] NETWORK:error (6) sending player state

[13:21:56] NETWORK:error (6) sending player state

[13:21:57] [ZWATCHDOG]: GameFlowState Pairing

[13:21:57] GPU DEPRECATION INCOMING VENDOR, RENDERER: NVIDIA CorporationNVIDIA GeForce RTX 3060 Ti/PCIe/SSE2

[13:21:57] INFO LEVEL: Queuing high volume analytics event: Deprecated GPU Message

[13:21:57] PairingScreen CTOR start

[13:21:57] BLE initialization

[13:21:57] BLE  : Loaded DLL BleWin10Lib_V2.dll

[13:21:57] USBDeviceManager initialization

[13:21:57] Pairing screen interface initialization

[13:21:57] BLE  : Native BLE - Bluetooth Radio Found.

[13:21:57] BLE  : Native BLE - Bluetooth Radio is On.

[13:21:57] Sport: Cycling

[13:21:57] PairingScreen CTOR end

[13:21:57] [INFO] LAN Exercise Device: Start scanning

[13:21:57] BLE  : Starting Native BLE search

[13:21:57] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:21:57] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:21:57] NETWORK:error (6) sending player state

[13:21:57] Starting critical power curve search job (71244511)  mTimeStamp = 10.00800  m_lastSearchTime = 0.00000   calculating=false

[13:21:58] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:21:58] NETWORK:error (6) sending player state

[13:21:59] NETWORK:error (6) sending player state

[13:22:00] NETWORK:error (6) sending player state

[13:22:01] NETWORK:error (6) sending player state

[13:22:02] NETWORK:error (6) sending player state

[13:22:02] FPS 59.88,  3101, 14640, -2099

[13:22:03] "Zwift Hub A235" adding component type: 6 (BLE)

[13:22:03] "Zwift Hub A235" adding component type: 1 (BLE)

[13:22:03] "Zwift Hub A235" adding component type: 4 (BLE)

[13:22:03] Zwift Hub A235 configured for new FTMS indoor bike trainer implementation (v3).

[13:22:03] "Zwift Hub A235" adding component type: 8 (BLE)

[13:22:03] "Zwift Hub A235" adding component type: 2 (BLE)

[13:22:03] "Zwift Hub A235" adding component type: 0 (BLE)

[13:22:03] "Zwift Hub A235" adding component type: 7 (BLE)

[13:22:03] BLE  : PairingDialogConfirm!  deviceID = 377620940, component 6

[13:22:03] Device List:

[13:22:03] ==========================================================

[13:22:03]               Cadence: Zwift Hub A235 (0x168209CC) [BLE]

[13:22:03]  Controllable Trainer: Zwift Hub A235 (0x168209CC) [BLE]

[13:22:03]                 Power: Zwift Hub A235 (0x168209CC) [BLE]

[13:22:03] ==========================================================

[13:22:03] NETWORK:error (6) sending player state

[13:22:03] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:03] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:04] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:04] NETWORK:error (6) sending player state

[13:22:05] NETWORK:error (6) sending player state

[13:22:06] NETWORK:error (6) sending player state

[13:22:07] NETWORK:error (6) sending player state

[13:22:07] Starting critical power curve search job (71254544)  mTimeStamp = 20.04101  m_lastSearchTime = 10.02400   calculating=false

[13:22:08] NETWORK:error (6) sending player state

[13:22:09] NETWORK:error (6) sending player state

[13:22:09] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:09] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:10] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:10] NETWORK:error (6) sending player state

[13:22:10] FPS 60.12,  3101, 14640, -2099

[13:22:11] NETWORK:error (6) sending player state

[13:22:12] NETWORK:error (6) sending player state

[13:22:13] NETWORK:error (6) sending player state

[13:22:14] NETWORK:error (6) sending player state

[13:22:15] NETWORK:error (6) sending player state

[13:22:15] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:15] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:16] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:16] NETWORK:error (6) sending player state

[13:22:17] NETWORK:error (6) sending player state

[13:22:17] Starting critical power curve search job (71264578)  mTimeStamp = 30.07507  m_lastSearchTime = 20.05701   calculating=false

[13:22:18] NETWORK:error (6) sending player state

[13:22:18] FPS 60.00,  3101, 14640, -2099

[13:22:19] NETWORK:error (6) sending player state

[13:22:20] NETWORK:error (6) sending player state

[13:22:21] NETWORK:error (6) sending player state

[13:22:21] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:21] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:22] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:22] NETWORK:error (6) sending player state

[13:22:23] NETWORK:error (6) sending player state

[13:22:24] NETWORK:error (6) sending player state

[13:22:25] NETWORK:error (6) sending player state

[13:22:26] NETWORK:error (6) sending player state

[13:22:26] FPS 59.88,  3101, 14640, -2099

[13:22:27] NETWORK:error (6) sending player state

[13:22:27] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:27] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:27] Starting critical power curve search job (71274614)  mTimeStamp = 40.10794  m_lastSearchTime = 30.09107   calculating=false

[13:22:28] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:28] NETWORK:error (6) sending player state

[13:22:29] NETWORK:error (6) sending player state

[13:22:30] NETWORK:error (6) sending player state

[13:22:30] FB resize: 0 x 0


[13:22:30] resize: 1 x 1


[13:22:31] NETWORK:error (6) sending player state

[13:22:32] NETWORK:error (6) sending player state

[13:22:33] NETWORK:error (6) sending player state

[13:22:33] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:33] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:34] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:34] NETWORK:error (6) sending player state

[13:22:34] FPS 60.12,  3101, 14640, -2099

[13:22:35] NETWORK:error (6) sending player state

[13:22:36] NETWORK:error (6) sending player state

[13:22:37] NETWORK:error (6) sending player state

[13:22:37] Starting critical power curve search job (71284638)  mTimeStamp = 50.13330  m_lastSearchTime = 40.12494   calculating=false

[13:22:38] NETWORK:error (6) sending player state

[13:22:39] NETWORK:error (6) sending player state

[13:22:39] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:39] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:40] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:40] NETWORK:error (6) sending player state

[13:22:41] NETWORK:error (6) sending player state

[13:22:42] NETWORK:error (6) sending player state

[13:22:42] FPS 59.88,  3101, 14640, -2099

[13:22:43] NETWORK:error (6) sending player state

[13:22:44] BLE  : Set notify failed

[13:22:44] NETWORK:error (6) sending player state

[13:22:44] BLE  : Sending DEVICE - BLE DISCONNECT ERROR [ UUID: 211284804739637 ]

[13:22:45] NETWORK:error (6) sending player state

[13:22:45] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:45] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:46] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:46] NETWORK:error (6) sending player state

[13:22:47] NETWORK:error (6) sending player state

[13:22:47] [INFO] UDP metrics {StC Rx: 0, Rx error: 0, CtS Tx: 0, Tx error: 0}

[13:22:48] Starting critical power curve search job (71294671)  mTimeStamp = 60.16753  m_lastSearchTime = 50.15030   calculating=false

[13:22:48] NETWORK:error (6) sending player state

[13:22:49] NETWORK:error (6) sending player state

[13:22:50] NETWORK:error (6) sending player state

[13:22:50] FPS 60.00,  3101, 14640, -2099

[13:22:51] NETWORK:error (6) sending player state

[13:22:51] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:51] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:52] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:52] NETWORK:error (6) sending player state

[13:22:53] NETWORK:error (6) sending player state

[13:22:54] NETWORK:error (6) sending player state

[13:22:55] NETWORK:error (6) sending player state

[13:22:56] NETWORK:error (6) sending player state

[13:22:57] NETWORK:error (6) sending player state

[13:22:57] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:22:57] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:22:58] Starting critical power curve search job (71304705)  mTimeStamp = 70.19868  m_lastSearchTime = 60.18253   calculating=false

[13:22:58] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:22:58] NETWORK:error (6) sending player state

[13:22:58] FPS 60.00,  3101, 14640, -2099

[13:22:59] NETWORK:error (6) sending player state

[13:23:00] NETWORK:error (6) sending player state

[13:23:01] NETWORK:error (6) sending player state

[13:23:02] NETWORK:error (6) sending player state

[13:23:03] NETWORK:error (6) sending player state

[13:23:03] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:23:03] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:23:04] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:23:04] NETWORK:error (6) sending player state

[13:23:05] NETWORK:error (6) sending player state

[13:23:06] NETWORK:error (6) sending player state

[13:23:06] FPS 60.00,  3101, 14640, -2099

[13:23:07] NETWORK:error (6) sending player state

[13:23:08] Starting critical power curve search job (71314739)  mTimeStamp = 80.23077  m_lastSearchTime = 70.21568   calculating=false

[13:23:08] NETWORK:error (6) sending player state

[13:23:09] NETWORK:error (6) sending player state

[13:23:09] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:23:09] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:23:10] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:23:10] NETWORK:error (6) sending player state

[13:23:11] NETWORK:error (6) sending player state

[13:23:12] NETWORK:error (6) sending player state

[13:23:13] NETWORK:error (6) sending player state

[13:23:14] NETWORK:error (6) sending player state

[13:23:14] FPS 60.00,  3101, 14640, -2099

[13:23:15] NETWORK:error (6) sending player state

[13:23:15] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:23:15] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:23:16] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:23:16] NETWORK:error (6) sending player state

[13:23:17] NETWORK:error (6) sending player state

[13:23:18] Starting critical power curve search job (71324772)  mTimeStamp = 90.26385  m_lastSearchTime = 80.24876   calculating=false

[13:23:18] NETWORK:error (6) sending player state

[13:23:19] NETWORK:error (6) sending player state

[13:23:20] NETWORK:error (6) sending player state

[13:23:21] NETWORK:error (6) sending player state

[13:23:21] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:23:21] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:23:22] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:23:22] NETWORK:error (6) sending player state

[13:23:22] FPS 60.00,  3101, 14640, -2099

[13:23:23] NETWORK:error (6) sending player state

[13:23:24] NETWORK:error (6) sending player state

[13:23:25] NETWORK:error (6) sending player state

[13:23:26] NETWORK:error (6) sending player state

[13:23:27] NETWORK:error (6) sending player state

[13:23:27] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:23:27] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:23:28] Starting critical power curve search job (71334805)  mTimeStamp = 100.29693  m_lastSearchTime = 90.28085   calculating=false

[13:23:28] NETWORK:error (6) sending player state

[13:23:29] NETWORK:error (6) sending player state

[13:23:30] NETWORK:error (6) sending player state

[13:23:30] FPS 60.12,  3101, 14640, -2099

[13:23:31] NETWORK:error (6) sending player state

[13:23:32] NETWORK:error (6) sending player state

[13:23:33] NETWORK:error (6) sending player state

[13:23:34] NETWORK:error (6) sending player state

[13:23:35] NETWORK:error (6) sending player state

[13:23:36] NETWORK:error (6) sending player state

[13:23:37] NETWORK:error (6) sending player state

[13:23:38] Starting critical power curve search job (71344839)  mTimeStamp = 110.32901  m_lastSearchTime = 100.31293   calculating=false

[13:23:38] NETWORK:error (6) sending player state

[13:23:38] FPS 60.12,  3101, 14640, -2099

[13:23:39] NETWORK:error (6) sending player state

[13:23:40] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:23:40] NETWORK:error (6) sending player state

[13:23:41] NETWORK:error (6) sending player state

[13:23:42] NETWORK:error (6) sending player state

[13:23:43] NETWORK:error (6) sending player state

[13:23:44] NETWORK:error (6) sending player state

[13:23:45] NETWORK:error (6) sending player state

[13:23:45] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:23:45] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:23:46] NETWORK:error (6) sending player state

[13:23:46] FPS 60.00,  3101, 14640, -2099

[13:23:47] NETWORK:error (6) sending player state

[13:23:47] [INFO] UDP metrics {StC Rx: 0, Rx error: 0, CtS Tx: 0, Tx error: 0}

[13:23:48] Starting critical power curve search job (71354856)  mTimeStamp = 120.34609  m_lastSearchTime = 110.34601   calculating=false

[13:23:48] [INFO] Sending telemetry...

[13:23:48] NETWORK:error (6) sending player state

[13:23:49] NETWORK:error (6) sending player state

[13:23:50] NETWORK:error (6) sending player state

[13:23:51] NETWORK:error (6) sending player state

[13:23:52] NETWORK:error (6) sending player state

[13:23:53] NETWORK:error (6) sending player state

[13:23:54] NETWORK:error (6) sending player state

[13:23:54] FPS 60.12,  3101, 14640, -2099

[13:23:55] NETWORK:error (6) sending player state

[13:23:56] [INFO] Auxiliary Controller attempting to connect to phone at: 192.168.1.158:21588 (secure)

[13:23:56] NETWORK:error (6) sending player state

[13:23:57] NETWORK:error (6) sending player state

[13:23:58] Starting critical power curve search job (71364889)  mTimeStamp = 130.37766  m_lastSearchTime = 120.36209   calculating=false

[13:23:58] NETWORK:error (6) sending player state

[13:23:59] NETWORK:error (6) sending player state

[13:24:00] NETWORK:error (6) sending player state

[13:24:01] NETWORK:error (6) sending player state

[13:24:01] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)

[13:24:01] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)

[13:24:02] NETWORK:error (6) sending player state

[13:24:02] FPS 60.00,  3101, 14640, -2099

[13:24:03] NETWORK:error (6) sending player state

[13:24:04] NETWORK:error (6) sending player state

[13:24:05] NETWORK:error (6) sending player state

[13:24:06] NETWORK:error (6) sending player state

[13:24:07] NETWORK:error (6) sending player state

[13:24:08] Starting critical power curve search job (71374906)  mTimeStamp = 140.39568  m_lastSearchTime = 130.39465   calculating=false

[13:24:08] NETWORK:error (6) sending player state

[13:24:09] NETWORK:error (6) sending player state

[13:24:10] NETWORK:error (6) sending player state

[13:24:10] FPS 60.00,  3101, 14640, -2099

[13:24:11] NETWORK:error (6) sending player state

Perhaps an actual bug? Looks like the app is trying to write to a socket before it’s connected.

Google: “A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.”

https://stackoverflow.com/questions/14940553/a-request-to-send-or-receive-data-was-disallowed-because-the-socket-is-not-conne

Nothing has changed on the Zwift side in 24 hours. However, Microsoft pushed a Win 11 update in the past 24 hours. By any chance, did your machine auto-install it? Maybe try rolling it back in System Restore to see what happens?

That does sound likely. I’ll see if i can roll back. Hold the line caller…

I’m curious to know if rolling back reverts to the last known working state.

Another possibility: check your motherboard manufacturer’s support site for a Win11-specific driver update for the Bluetooth radio, as well as updates for its chipset.

The pc is only 8 days old. Dell. Basically got ms office and zwift installed… like i said, it was working famously for the last 7days. Will check the win11 update first, as that is likely yhr main culprit. Just surprised im the only reportee.

You might be the first in a giant wave of reports, which is why I’m eager to hear what you learn. It might be a broad issue at the Zwift app layer on all Windows 11 machines, or it might be an issue at the OS layer and narrowly specific to a motherboard model + BLE driver combination. We appreciate your tech savvy in helping sort this out.

1 Like

So I got 2 Updates installed yesterday automagically:

  • Update for Microsoft Windows (KB5020880)
  • Security Update for Microsoft Windows (KB5021255)

The first of these appears to be an update for .NET, which, because of the verbose error message in the Zwift logs about the failed socket, is my suspect number 1. I’ll uninstall that update, and return here with news.

1 Like

I did as I said above, and uninstalled the KB5020880 update, but I had the same experience. I then uninstalled KB5021255, and again no change.

I have however found that I can connect successfully via the Companion App, which I will use now in preference.

Happy to help apply further debugging steps to further diagnose and resolve though.

Thanks for the triage efforts.

The next steps I’d recommend are updating Win11 drivers for your Bluetooth radio, chipset, etc. It’s possible the driver was corrupted during the Win11 update.

I’d also check that the Zwift Hub firmware is updated. See this page for latest version number and a link to the how-to page.

1 Like

I’ve uninstalled the BT drivers, reinstalled them via Windows, and also gone to the Intel website to download the latest version that they have there (a good 10 minor versions ahead), and still no change in situation.

ZH firmware is at v3.9 which aligns to your October 2022 release (latest at time of writing).

I’m now using ANT+ to connect my ZH, although to do this I have to disable my BT device before firing up Zwift, which is kinda frustrating. I really do want to fix this issue so that I can use BT rather than ANT+. I’m also suffering with an issue that resistance is not enabling properly when I use ANT+ and need to do a couple of restarts to get that working (unplugging ANT+, unplugging ZH, then plugging it all back in again and firing up Zwift again)… it’d be funny if it wasn’t me doing this every time in my cycling shorts!

I’ve run wireshark to capture the BT packets flying through the air as Zwift connects, and can see some indicators of something failing to respond to a command, followed by dead air… (Can’t share links here, but happy to share with anyone here via DM to help diagnose and solve the issue).

I’ve also written a python script to attempt to connect to and enumerate the ZH over BLE, and I have a similar “stuck” connection issue with that. Honestly, as much as I want to point the finger at my BT dongle, I’m starting to be suspicious of the ZH. This never happened with my Elite trainer!