Bug in Zwift Companion or Wahoo Kickr, could use some help getting someone on a fix?

My preferred Zwift setup has my computer running Zwift connected to my Wahoo Kickr via Bluetooth through the Zwift Companion on my Android phone. Sometime around mid February (for me), this setup stopped working, and I fell back to using the Zwift app directly on my phone.

The bug presents as follows:

  1. I get everything started up, Zwift on my computer connects to the Companion app, and I get to the Paired Devices screen
  2. The “Power Source” and “Controllable” connections appear to be made, but the “Cadence” sensor is never found
  3. On the companion app, the Game screen is showing, and notably the bluetooth icon in the upper right cycles several times between orange (no connections), blue (connection made), and blue with an orange exclamation triangle badge on the bottom right of the icon (connection lost). After 4-5 seconds of this cycling behavior, it stays orange.
  4. On my computer, it indicates that the power source and controllable are still connected, which is not the case. Trying to start a Zwift session sometimes will end up allowing data to move through, but within 20-60 seconds it will disconnect.

I finally got annoyed and tracked it down to a firmware update that Wahoo released, Kickr v5 Firmware v4.2.1, released on 27 January 2021. I extracted the bluetooth HCI snoop log from my phone, and looked at what was going on.

It looks like the packets coming from the Kickr specifically when requesting data from the Cycling Power Feature are malformed (see screenshot from Wireshark, since I can’t actually post my btsnoop log here). Every time one of these packets came through, handshake started over from scratch, and after an inconsistent number of repetitions, the handshake requests stopped.

I’m not an expert in the Bluetooth protocol, nor in FTMS, so all I really could do was compare against what I was seeing for the regular Zwift on android app, and those Cycling Power Feature responses are well-formed when it’s the Zwift app requesting. So this very well might be an issue with the Kickr’s firmware, but since I am only seeing it with the Companion app I figured it made more sense to contact Zwift about it.

For any other users reading this, there is a workaround:

  1. Open up your Wahoo app, and let it connect to your Kickr
  2. Click the blue button into your linked sensor
  3. In the upper left, there is a little icon with the name of your kickr next to it. Tap on that 10 times in a row
  4. Click “Firmware Upgrade”
  5. Scroll to “older releases” and install v.4.1.2, which is the version prior to the FTMS switch.

Please let me know if there is somewhere I could send the bluetooth snoop log if it’d help!


Owen, I am just curious, what is the benefit of connecting Zwift via BT through the companion app on a phone, as opposed to the standard connection, when trainer connects directly to the computer via BT or better yet ANT+, and computer connects to companion app via local Wi-Fi?

1 Like

So my computer is a desktop machine and is on a different floor of my house than my trainer. I use the companion to be able to turn and message and such, I have a phone mount on my bike for it. I also don’t have a bluetooth dongle on the desktop, and tested with my phone that the bluetooth connection to the trainer at that distance is spotty anyways. I project the screen on my TV downstairs via HDMI. And yep, the computer is connecting to the companion app via my wireless.

I realize it’s a pretty funny setup, but it works for me without requiring any new hardware. Well, worked, up until the Companion app started not connecting.

Oh, I see. You use Zwift Companion app as a bridge to your desktop computer. I am in a somewhat similar situation, but my office PC and trainer are on the same floor, so I was able to use an HDMI and USB extenders to reach the trainer.

I am sure you already thought about it, but just in case, some ideas (nothing new, they were discussed in this forum, too).

  1. I doubt it is a KICKR problem. Wahoo Kickr is such a common trainer that if there was a bug which renders BT connection useless, the community would be screaming about it. Wahoo has a quite good customer support, way better than Zwift, and they respond quickly.

  2. What seems to be more likely (in my humble opinion) are two scenarios.

One, is that perhaps your companion app is not the latest version (perhaps something changed in how data are transmitted to Zwift, and both Zwift and Wahoo made updates, but the app on your phone did not get updated). Did you try to uninstall the companion app and install it back?

Second possibility which happens more often than one thinks is that you may have (perhaps by mistake) connected to your trainer from more than a single device, or from more than a single application from your phone, and they are still running and competing for BT connection. It is common that a device may support only a single BT connection (not sure how it is with Kickr though). If you tap your BT icon on the phone a couple of times, you will see what is connected by default. Have you tried disconnecting Kickr and connecting it again?

A workaround which is a little ugly (because of the visible wires) but which perhaps might work depending on layout of your home is USB extender via Ethernet cable. I use this particular model to bring ANT+ and BT closer to my Kickr Bike.

Obviously, it is hard to hide the Ethernet cable (and you need to buy one, in addition to the transmitter and receiver, and ANT+ dongle as well), but this is not too expensive and works well.

P.S. Someone was reporting on this forum that if one taps on the cog icon in Wahoo app 10 times in a row, one will get an option to pick an old firmware, and can downgrade this way. If you still think it is the new firmware which broke your connection, try if this works!

It was here. It was a post about Wahoo Kickr Core. Test at your own risk :slight_smile: