Virtual shifting stops mid-ride: Zwift Ride, KICKR v6

I’m using Direct Connect over Ethernet. The trainer pairs up OK and so do the Zwift Ride Bluetooth controllers. Everything works fine until it doesn’t. I was doing the ZRL race on Tuesday and everything worked fine for over an hour until the shifting stopped working. This has happened once or twice before 30-60 minutes into a ride and I was hoping it would not happen during a race!

  • The KICKR still transmits power, cadence data so I can still pedal forward
  • Resistance still works … increases when going uphill
  • Zwift app receives the shift commands: I can see the virtual gear number changing on the screen, and I get the haptic feedback for the shift
  • But the gearing doesn’t change at all: I can go from gear 1 to gear 24 on a flat and the resistance doesn’t change. It’s just stuck in one gear.

Needless to say it’s a real bummer to happen during a race. After finishing the race I power cycled the KICKR and when it connected back up the virtual shifting started working again.

Details:

  • KICKR v6 (refurbished): firmware and wifi versions are updated to latest (5.4.29, 1.3.26)
  • Direct connect ethernet adapter; trainer and laptop both connected via hardwired ethernet
  • Laptop is HP Omen 15-en0xxx
    • Ryzen 7 4800H, 8GB RAM, nVidia geforce GTX
    • Windows 11 24H2
  • Zwift latest: 1.105.3, launcher 1.1.14

Device entries from log:

[18:29:00] Device List:
[18:29:00] ===========================================================================
[18:29:00]             ZP User Input: Zwift Ride 9FE3 (0x1C558A5C) [BLE]
[18:29:00]              Non-Selected: Zwift Ride 4D94 (0x121C74D5) [BLE]
[18:29:00]                        HR: HRMPro+:852223 (0x1392B228) [BLE]
[18:29:00]              Non-Selected: Wahoo KICKR 5377 (0x1337858E) [BLE]
[18:29:00]                     Power: Wahoo KICKR 5377 (0x177AE71D) [BLE (LAN)]
[18:29:00]                   Cadence: Wahoo KICKR 5377 (0x177AE71D) [BLE (LAN)]
[18:29:00]      Controllable Trainer: Wahoo KICKR 5377 (0x177AE71D) [BLE (LAN)]
[18:29:00] ===========================================================================

Everything runs fine for over an hour, plenty of shifting during the race which starts at 18:48. Then,

[19:49:03] [Route] Hit checkpoint 48 out of 107 on route: "  Countryside Tour"
[19:49:06] FPS 35.38, -4604, 23751, 38722
[19:49:07] INFO LEVEL: [ZwiftHardware] Play Haptic SHIFT_EASIER
[19:49:07] Attempting to start a paused GameProcess that isn't paused
[19:49:08] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5377 Timeout for SET [message ID: 55] after 1 attempts
[19:49:09] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:pacers (children=true)
[19:49:09] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:friends (children=false)
[19:49:09] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5377 Timeout for SET [message ID: 55] after 2 attempts
[19:49:10] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5377 ZP Sync queue didn't receive response. {description: SET [message ID: 55], sendCount: 3}

And from that point on the log is full of Timeout for SET and ZP Sync queue didn’t receive response every time I try to shift.

This happened again during Tuesday’s ZRL race; fourth time I recall it overall so it’s definitely a pattern. Shifting stopped working about an hour into the ride (35 min or so after the race started). Pretty much the same experience as last time. Zwift on the PC seems to be getting all the shift signals; the gear number changes on the screen, the haptics buzz, but no response from the trainer – it stays in the same gear. I had to power cycle the trainer to recover shifting.

[19:24:34] FPS 54.55, -205540,  9952, 166996
[19:24:35] INFO LEVEL: [ZwiftHardware] Play Haptic SHIFT_HARDER
[19:24:36] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5377 Timeout for SET [message ID: 210] after 1 attempts
[19:24:37] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5377 Timeout for SET [message ID: 210] after 2 attempts
[19:24:37] INFO LEVEL: [ZwiftHardware] Play Haptic SHIFT_HARDER
[19:24:38] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5377 ZP Sync queue didn't receive response. {description: SET [message ID: 210], sendCount: 3}
[19:24:39] INFO LEVEL: [ZwiftHardware] Play Haptic SHIFT_HARDER
[19:24:39] Attempting to start a paused GameProcess that isn't paused
[19:24:39] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5377 Timeout for SET [message ID: 215] after 1 attempts
[19:24:39] INFO LEVEL: [ZwiftHardware] Play Haptic SHIFT_HARDER
[19:24:39] Attempting to start a paused GameProcess that isn't paused
[19:24:40] INFO LEVEL: [ZwiftHardware] Play Haptic SHIFT_HARDER
[19:24:40] Attempting to start a paused GameProcess that isn't paused
[19:24:40] [Route] Hit checkpoint 48 out of 86 on route: "  Cobbled Climbs"
[19:24:40] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5377 Timeout for SET [message ID: 215] after 2 attempts
[19:24:41] ERROR LEVEL: [ZwiftProtocol] Wahoo KICKR 5377 ZP Sync queue didn't receive response. {description: SET [message ID: 215], sendCount: 3}

Have you tried uploading your logfile to trainerdx.com?

Does it work differently if you pair the trainer via Bluetooth?

I tried trainerDX. It didn’t notice the shifting failures or anything interesting until a BLE disconnect when I power cycled the trainer. That did restore the shifting, though I was already out of the race at that point.

I will try switching to Wifi or Bluetooth I guess and see if that’s any better.