Direct Connect / Trainer Disconnect During Race [KICKR v6]

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

I had the exact same issue during my ride yesterday. For the first time ever I experienced a connection loss with my kickrv6 with direct connect lan module. It did not come back until I navigated to the devices screen, when I did it reconnected instantly.

Interesting! How long did you wait before going into the device pairing screen?

I guess maybe somewhat related, a few times over the past couple of months I’ll go in and get everything setup for a race/event like 5 - 10 minutes early - signed in, trainer, controller, and HRM paired, enter the pen for the race, and everything is working great - I walk away to get some water, whatever, come back and don’t notice that the trainer has disconnected until the event starts and I go to pedal. I have to go back in and re-pair to get it going again.

This is new behavior, nothing else about me signing in/prepping early has changed. (Though now I triple check my trainer is connected before the race starts.) Wonder what’s going on? I went with the Direct Connect specifically for a rock-solid connection, which has been the case for years until now.

For what it’s worth, someone else just reported a similar issue in the Zwift Racers FB group. Common denominator so far seems to be KICKR v6 5.6.13.

Just to keep this going, it seems like a firmware issue with the KICKR v6.

Wahoo rolled out 5.6.13 on June 1st, seeing reports that both wifi and direct connections are randomly dropping out since then.

I experienced this today 3 times in a robopacer ride. Thought it couldn’t possibly be a Kickr firmware update, because I never update mine. Except it seems to have been quietly updating itself, and I’m on 5.6.13. Unfortunate.

I have a Kickr Core, so seems like more than just a v6 issue.

Hi all
Shuji at Zwift HQ here. We’ve been looking into these reports popping up in our forums and elsewhere. We appreciate the triage you all are doing and a common thread is indeed the latest firmware v 5.6.13 for Wahoo KICKR Core v6. If you’re unsure which is installed, you can verify which KICKR model you have then the firmware version installed on it using the Wahoo app.

@Dave_Aitchison If your trainer is on FW v5.6.13 - that number indicates you have a KICKR v6. Wahoo’s numbering scheme is specific to each generation of KICKR.

For those in this thread: have you tried pairing over Bluetooth instead of Direct Connect, and do you have the same issue using a different pairing method?

I haven’t tried Bluetooth yet, that’s my next step when I ride today.

One of the reports in the Zwift Racers group said they were on a Wifi connection, so seems like both Wifi/Direct are affected.

I haven’t been able to pin down a trigger or event that causes the disconnect based on the logs. The disconnect happened again three times during a race I did yesterday: about 11 minutes in it disconnected and came back and was stable for a while, then several minutes later it did what I saw the first time where it disconnected for 20s, reconnected for 20s, disconnected again, then reconnected again and was okay the rest of the ride.

Today I tried with bluetooth connection and unfortunately still had some signal dropouts. Yesterday I was riding with wifi and today bluetooth and nothing changes. It is pretty annoying as it has started right after updating to 5.6.13. Hope we can get a new update very soon!

I had a dropout again today (kickr v6, direct connect module lan). This time the connection did not come back immediately when I went to the pairing screen, it took frustratingly long in fact.

Add me to the list :man_raising_hand: I had DirCon wired connection failures on Tuesday 02-JUN and today, 04-JUN. I happened to catch one on Wireshark, and sent the capture to Wahoo. Hopefully this gets patched asap.

@shooj do you guys want the Wireshark capture?

Same here. Got it working on WiFi for now but dircon (can’t tell if it’s Ethernet or BT because the icon issue) but my ip shows up on router Ethernet connection. Either way dropouts to 0 watts. Everything recent versions and firmwares.

For whatever it’s worth, I was able to ride today for about an hour uninterrupted via Bluetooth.

I don’t think it’s related, but just in case: the two times I ran into issues were during points races. I was able to successfully ride a TT race immediately after the points race where I first experienced the disconnects and today’s ride was with a pacer bot (over BT).

Just want to chime in.

I have had disconnects in my last two events (races) on June 2nd and 4th after about 30 minutes. I am using a Kickr v6 on wifi windows 1 PC and never seen this before. It matches with to your observations on fw 5.6.13. Super annoying, have made a ticket to wahoo support.

I think I may try BT or ant+ today, can’t stand loosing the group in a race, impossible to get back.

Is there a method of FW roll back on v6?

My disconnects were both during erg mode workouts. So it’s not related to racing.

Dropouts were more frequent using wifi but as I mentioned earlier, I had several same dropouts on bluetooth as well so unfortunately it doesn’t change.

Well ant+ I can’t use as I can’t control the virtual gears on my zwift ride.

Guess we need to wait for wahoo, anyone got some useful info yet?

I had a dropout with firmware 5.6.13 over WiFi yesterday during a workout. It came back after 20s or so without going to the pair screen and did not disconnect again during the workout (thankfully).

Just did another race (had to quit) two disconnects in 15 minutes.

Got this feedback from support team

Rest assured, you’re not alone in this happening and we’re investigating whether our firmware update unintentionally caused some bugs with DIRCON units as well as WiFi connection in Zwift.

We ran an overnight update, but I have yet to hear back from the software team about its results.