UPDATE: This seems related to the Wahoo KICKR v6 5.6.13 firmware update pushed out on June 1st. I’ve seen a few other reports of this behavior, all on the 5.6.13 firmware. I’ve submitted a ticket to Wahoo - if you’ve had the same issue, you should report it to Wahoo as well.
Had a super frustrating moment during a race yesterday that I’ve been trying to diagnose, but with no luck - trainer disconnected, power/cadence dropped to 0 for about 20 seconds, came back for 20 seconds, then dropped again for another 20 seconds before reconnecting for the remainder of the race.
Both disconnects started with:
[15:38:43] [WARN] LAN Exercise Device: Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. connection timed out owing to inactivity
[15:38:43] [INFO] LAN Exercise Device: Connection aborted with Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. [995] The I/O operation has been aborted because of either a thread exit or an application request.
I’m using a direct wired connection, but I’ve found a few reports since January from users on ANT+/BT connections reporting the following error, which also popped up in the middle of both drops yesterday:
[10054] An existing connection was forcibly closed by the remote host.
This is the first time I’ve run into this, but it’s something I’d really like to try to pin down before my next race as it did effectively end my chances at being competitive, which was pretty lame.
I’ve run the logs through trainerdx / zwiftalizer and AI - while they can see that the drops were network-related, the logs don’t indicate the issue or shows a pattern. I’ve pasted some more info and the applicable log portions below, happy to share more around what happened before each of these started if helpful.
I have assigned a static IP to the KICKR since yesterday just in case that helps anything.
Any ideas would be amazing. More information below.
Thanks much!
Jason
Situation notes:
- Downtown Dolphin course
- Disconnect #1 occurred about 30 seconds after the prime arch and 23 seconds after video capture was completed
- Disconnect #2 occurred just after the lap arch, 4 seconds after video capture was completed
Environment notes:
- Windows 11, no VPN running
- Zwift (current version)
- Wahoo KICKR v6 (current firmware) + Direct Connect dongle
- Zwift Play controllers (current firmware)
- Garmin HRM+ Pro, 85% battery
- Very overbuilt gaming machine for Zwift
- No indications of upstream issue with router/network/ISP
First drop:
[15:38:43] [WARN] LAN Exercise Device: Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. connection timed out owing to inactivity
[15:38:43] [INFO] LAN Exercise Device: Connection aborted with Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. [995] The I/O operation has been aborted because of either a thread exit or an application request.
[15:38:43] WARNING LEVEL: [BLE] WFTNPDeviceManager: error 35 for handle 1 (status: 3, name: ‘Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local.’)
[15:38:43] INFO LEVEL: [BLE] WFTNPDeviceManager: device at handle 1 disconnected
[15:38:43] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 3 to 0
[15:38:43] INFO LEVEL: [BLE] WFTNPDeviceManager: selected device lost (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:38:43] [INFO] LAN Exercise Device: Start scanning
[15:38:43] INFO LEVEL: [BLE] WFTNPDeviceManager: retrying connection for lost device (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:38:43] [INFO] LAN Exercise Device: Connecting to device Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. 192.168.XXX.XXX:36866
[15:38:43] INFO LEVEL: [BLE] WFTNPDeviceManager: device at handle 1 connected
[15:38:43] [BLE] Sending DEVICE - BLE RECONNECT [ UUID: 252200041 ] Wahoo KICKR 5619
[15:38:43] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 0 to 1
[15:38:43] DEBUG LEVEL: [ZwiftHardware] Device Recovered ID: 305718596
[15:38:43] INFO LEVEL: [BLE] WFTNPDeviceManager: reconnected to previously selected device (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:38:43] [INFO] LAN Exercise Device: Stop scanning
[15:38:43] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 1 to 2
[15:38:43] “Wahoo KICKR 5619” hardware revision number: 7
[15:38:43] [BLE] “Wahoo KICKR 5619” firmware version: 5.6.13
[15:38:45] [INFO] UDP host 34.217.127.50:3024 (secure)
[15:38:45] [INFO] Connecting to UDP server with relay id 608416410…
[15:38:47] [Route] Hit checkpoint 9 out of 12 on route: " Downtown Dolphin"
[15:38:48] FPS 60.00, -1408, 21444, -1173
[15:38:49] [ERROR] LAN Exercise Device: Error receiving from Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. [10054] An existing connection was forcibly closed by the remote host.
[15:38:49] [INFO] LAN Exercise Device: Connecting to device Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. 192.168.XXX.XXX:36866
[15:38:49] WARNING LEVEL: [BLE] WFTNPDeviceManager: error 35 for handle 1 (status: 3, name: ‘Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local.’)
[15:38:49] INFO LEVEL: [BLE] WFTNPDeviceManager: device at handle 1 disconnected
[15:38:49] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 2 to 0
[15:38:49] INFO LEVEL: [BLE] WFTNPDeviceManager: selected device lost (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:38:49] [INFO] LAN Exercise Device: Start scanning
[15:38:49] INFO LEVEL: [BLE] WFTNPDeviceManager: device at handle 1 connected
[15:38:49] [BLE] Sending DEVICE - BLE RECONNECT [ UUID: 252200041 ] Wahoo KICKR 5619
[15:38:49] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 0 to 1
[15:38:49] DEBUG LEVEL: [ZwiftHardware] Device Recovered ID: 305718596
[15:38:49] INFO LEVEL: [BLE] WFTNPDeviceManager: reconnected to previously selected device (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:38:49] [INFO] LAN Exercise Device: Stop scanning
[15:38:49] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 1 to 2
[15:38:49] WARNING LEVEL: [BLE] WFTNPDeviceManager: error 34 for handle 1 (status: 2, name: ‘Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local.’)
[15:38:50] “Wahoo KICKR 5619” hardware revision number: 7
[15:38:50] [BLE] “Wahoo KICKR 5619” firmware version: 5.6.13
[15:38:52] TimingArch: (Crit City) passed checkpoint 4
[15:38:55] Donuting: l1 and l2 are almost identical, lenSq: 0.0009654
[15:38:56] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 2 to 3
[15:38:56] Failed to get autoselect pref key for component type 8
[15:38:56] INFO LEVEL: [Connectivity] Last Selected Device List:
[15:38:56] INFO LEVEL: [Connectivity] prefsId=346809668 id=0x1238E544 roles=[Power & Cadence & Controllable Trainer] status=ready
[15:38:56] INFO LEVEL: [Connectivity] prefsId=8133385 id=0x00000000 roles=[Run Speed & Run Cadence] status=not ready
[15:38:56] INFO LEVEL: [Connectivity] prefsId=277432835 id=0x18224A03 roles=[HR] status=ready
[15:38:56] INFO LEVEL: [Connectivity] prefsId=305801258 id=0x119B282A roles=[ZP User Input] status=ready
[15:38:56] INFO LEVEL: [ZwiftProtocol] Requesting Client Server Config
[15:38:56] INFO LEVEL: [ZwiftProtocol] Comms established with Wahoo KICKR 5619.
[15:38:56] [Route] Hit checkpoint 10 out of 12 on route: " Downtown Dolphin"
[15:38:56] [ZwiftProtocol] System Version: 5.6.13
[15:38:56] [ZwiftProtocol] Device name: Wahoo KICKR
[15:38:56] [ZwiftProtocol] Device serial number: 01252200041
[15:38:56] INFO LEVEL: [ZwiftProtocol] System HW Version: 7
[15:38:56] [ZwiftProtocol] Manufacturer ID: 2
[15:38:56] [ZwiftProtocol] Device ID: 1
[15:38:56] [ZwiftProtocol] Device UID: D71EA8239EBB
Second Drop:
[15:39:27] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5619 Timeout for SET [message ID: 24] after 1 attempts
[15:39:27] DEBUG LEVEL: [StructuredEvents] Sending batch request. {sequenceNumber: 31, size: 1, batchDuration: 1015ms, timeNow: 1780443567491ms}
[15:39:27] INFO LEVEL: [Route] RouteProgressInfo() Bike road ID 0 bike road time 0.6236297 bike direction FORWARD
[15:39:27] INFO LEVEL: [Route] RouteProgressInfo() Found hit checkpoint 7 while moving, road ID 0 road time 0.6236054 direction FORWARD
[15:39:27] INFO LEVEL: [Route] RouteProgressInfo() Found Start Position on Route: Downtown Dolphin, 7
[15:39:27] [Route] Hit checkpoint 1 out of 12 on route: " Downtown Dolphin"
[15:39:27] DEBUG LEVEL: [StructuredEvents] Batch request confirmed. {sequenceNumber: 31}
[15:39:28] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5619 Timeout for SET [message ID: 24] after 2 attempts
[15:39:28] FPS 60.00, 9291, 21149, -94
[15:39:28] [WARN] LAN Exercise Device: Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. connection timed out owing to inactivity
[15:39:28] [INFO] LAN Exercise Device: Connection aborted with Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. [995] The I/O operation has been aborted because of either a thread exit or an application request.
[15:39:28] Ride on received
[15:39:28] HUD_Notify: N.Ludwig [CC] says Ride On!
[15:39:28] Got Notable Moment: RIDE ON!
[15:39:28] WARNING LEVEL: [BLE] WFTNPDeviceManager: error 35 for handle 1 (status: 3, name: ‘Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local.’)
[15:39:28] INFO LEVEL: [BLE] WFTNPDeviceManager: device at handle 1 disconnected
[15:39:28] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 3 to 0
[15:39:28] INFO LEVEL: [BLE] WFTNPDeviceManager: selected device lost (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:39:28] [INFO] LAN Exercise Device: Start scanning
[15:39:28] INFO LEVEL: [BLE] WFTNPDeviceManager: retrying connection for lost device (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:39:28] [INFO] LAN Exercise Device: Connecting to device Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. 192.168.XXX.XXX:36866
[15:39:28] INFO LEVEL: [BLE] WFTNPDeviceManager: device at handle 1 connected
[15:39:28] [BLE] Sending DEVICE - BLE RECONNECT [ UUID: 252200041 ] Wahoo KICKR 5619
[15:39:28] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 0 to 1
[15:39:28] DEBUG LEVEL: [ZwiftHardware] Device Recovered ID: 305718596
[15:39:28] INFO LEVEL: [BLE] WFTNPDeviceManager: reconnected to previously selected device (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:39:28] [INFO] LAN Exercise Device: Stop scanning
[15:39:29] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 1 to 2
[15:39:29] “Wahoo KICKR 5619” hardware revision number: 7
[15:39:29] [BLE] “Wahoo KICKR 5619” firmware version: 5.6.13
[15:39:31] Donuting: l1 and l2 are almost identical, lenSq: 0.0004116
[15:39:31] Donuting: l1 and l2 are almost identical, lenSq: 0.0001971
[15:39:32] Donuting: l1 and l2 are almost identical, lenSq: 0.0003407
[15:39:32] Attempting to start a paused GameProcess that isn’t paused
[15:39:33] [ActionBarV2] ZCActionBar: UserAction has changed: media:movie (enabled=true)
[15:39:33] Attempting to start a paused GameProcess that isn’t paused
[15:39:35] [ERROR] LAN Exercise Device: Error receiving from Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. [10054] An existing connection was forcibly closed by the remote host.
[15:39:35] [INFO] LAN Exercise Device: Connecting to device Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local. 192.168.XXX.XXX:36866
[15:39:35] WARNING LEVEL: [BLE] WFTNPDeviceManager: error 35 for handle 1 (status: 3, name: ‘Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local.’)
[15:39:35] INFO LEVEL: [BLE] WFTNPDeviceManager: device at handle 1 disconnected
[15:39:35] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 2 to 0
[15:39:35] INFO LEVEL: [BLE] WFTNPDeviceManager: selected device lost (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:39:35] [INFO] LAN Exercise Device: Start scanning
[15:39:35] INFO LEVEL: [BLE] WFTNPDeviceManager: device at handle 1 connected
[15:39:35] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 0 to 1
[15:39:35] DEBUG LEVEL: [ZwiftHardware] Device Recovered ID: 305718596
[15:39:35] INFO LEVEL: [BLE] WFTNPDeviceManager: reconnected to previously selected device (handle = 1, name = ‘Wahoo KICKR 5619’)
[15:39:35] [INFO] LAN Exercise Device: Stop scanning
[15:39:35] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 1 to 2
[15:39:35] WARNING LEVEL: [BLE] WFTNPDeviceManager: error 34 for handle 1 (status: 2, name: ‘Wahoo KICKR 5619._wahoo-fitness-tnp._tcp.local.’)
[15:39:35] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:pacers (children=false)
[15:39:35] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:friends (children=false)
[15:39:35] “Wahoo KICKR 5619” hardware revision number: 7
[15:39:35] [BLE] “Wahoo KICKR 5619” firmware version: 5.6.13
[15:39:36] [INFO] UDP host 44.249.148.6:3024 (secure)
[15:39:36] [INFO] Connecting to UDP server with relay id 608416410…
[15:39:36] FPS 60.00, 15867, 21152, 1823
[15:39:41] [XP] Granting XP: 20, XP Type: XP_DISTANCE
[15:39:41] INFO LEVEL: [ZwiftProtocol] Component on “Wahoo KICKR 5619” changed state from 2 to 3
[15:39:41] Failed to get autoselect pref key for component type 8
[15:39:41] INFO LEVEL: [Connectivity] Last Selected Device List:
[15:39:41] INFO LEVEL: [Connectivity] prefsId=346809668 id=0x1238E544 roles=[Power & Cadence & Controllable Trainer] status=ready
[15:39:41] INFO LEVEL: [Connectivity] prefsId=8133385 id=0x00000000 roles=[Run Speed & Run Cadence] status=not ready
[15:39:41] INFO LEVEL: [Connectivity] prefsId=277432835 id=0x18224A03 roles=[HR] status=ready
[15:39:41] INFO LEVEL: [Connectivity] prefsId=305801258 id=0x119B282A roles=[ZP User Input] status=ready
[15:39:41] INFO LEVEL: [ZwiftProtocol] Requesting Client Server Config
[15:39:41] INFO LEVEL: [ZwiftProtocol] Comms established with Wahoo KICKR 5619.
[15:39:41] [ZwiftProtocol] System Version: 5.6.13
[15:39:41] [ZwiftProtocol] Device name: Wahoo KICKR
[15:39:41] [ZwiftProtocol] Device serial number: 01252200041
[15:39:41] INFO LEVEL: [ZwiftProtocol] System HW Version: 7
[15:39:41] [ZwiftProtocol] Manufacturer ID: 2
[15:39:41] [ZwiftProtocol] Device ID: 1
[15:39:41] [ZwiftProtocol] Device UID: D71EA8239EBB