Wahoo Direct connect - BLE disconnection

Hello,
I can’t understand why I have some disconnections on my setup.
I use RJ45 to connect the PC (Win11) and the Wahoo Kickr Bike v2 + Direct connect to my router.
After some analysis with ZwiftAnalyser, the disconnections happen when there is a BLE issue.
The weird thing is that I’m not using BT devices (my HR is in Ant+), and my PC has no BT!

Is Zwift using a simulation of BLE when we use a network connection?
Is this issue on the Zwift side or the Wahoo side?

Before 1.33, I had no disconnection over six months (or more). And I’m riding 15h per week with a long time on the saddle during the weekend.

@zwiftalizer may be able to answer your question about zwiftalizer’s report

If it’s a problem with the trainer then I would expect you could replicate it using the Wahoo Fitness app and then seek support from Wahoo

1 Like

I opened a support ticket on the Wahoo side, but it seems much more related on how Zwift is converting the network connection into a fake BLE.

Hey guys, what’s up? Zwiftalizer maintainer here.

I don’t see any trainer disconnects. I see resends, which is good, and one reset, which typically happens when the resends weren’t acknowledge within a certain timeframe. I don’t understand the difference between a reset and disconnect/reconnect event. All I know is that actual BLE disconnects are reported separately in the log and you don’t have any. Did it feel like your trainer lost resistance or power?

I don’t see anything to worry about in that report. The UDP connections are unrelated to the Kickr communications. I’ve just removed the word ‘Attempts’ from that ‘UDP Network Connection Attempts’ because it is misleading. They are not disconnects. There’s no such thing as a persistent connection with UDP. It just means your game client start sending to a different UDP server than it did previously - which I assume is to spread the load on the backend servers. I don’t know for sure. Zwift doesn’t talk about how they build their software, and I wouldn’t expect them to. It’s interesting that those UDP connection messages show up just before the top of the hour. Just sayin’ , this might mean that demand on the servers went up when a lot of people joined for an event, and you bounced around. I can only guess, and it doesn’t really matter because they don’t interrupt the gameplay anyway.

Is Zwift using a simulation of BLE when we use a network connection?
Yes, but simulation isn’t quite the right word. The messages use the exact BLE FTMS (FiTness Machine Service) profile format (which is why you still need BLE drivers on a PC), but the transport is done over TCP/IP. DC Rainmaker did a post all about it.

Is this issue on the Zwift side or the Wahoo side?
Difficult to say, and I don’t want to make any assumptions.

I have a genuine question: in the spirit of helping me and you understand what’s going on here, and make zwiftalizer better, and I do not mean to be confrontational or an a hole, but… did you actually experience a drop out in power or lose sight of riders around you, or is your question about log entries and zwiftalizer?

4 Likes

Hey @zwiftalizer,
First, thanks a lot for your very detailed answer; I’ll go point by point to avoid missing any elements :slight_smile:

  • Did it feel like your trainer lost resistance or power?

No, just losing the numbers on Zwift (no more watts or cadence), HR OK, and other riders visible.

  • The messages use the exact BLE FTMS (FiTness Machine Service) profile format (which is why you still need BLE drivers on a PC)

Is there a better driver to install on Win11?

  • Is this issue on the Zwift side or the Wahoo side?

I have 2 cases, and in both, my setup remains the same; I’ll keep the ZwiftAlizer of the 2nd case next time
The second case is the “disconnected” message where the behavior is other riders disappear, but I keep my data showing on the screen.

  • did you actually experience a drop out in power or lose sight of riders around you, or is your question about log entries and zwiftalizer?

As mentioned in 2 cases, 1 is no more data, but riders stay, and the other is other riders disappeared, and my data keeps going.
So my question has nothing related directly to ZwifAlizer, I’m "just” a long time user of it, and it helps most of the time to understand the underlying patterns :smile:

In addition, this is a report of a session I had a couple of cases "riders disappear” with a network disconnect message. As you can see, it looks perfect and not showing anything specific :slightly_frowning_face:

It happened again today at 7h41, with disconnection and no more power/cadence on the screen.
Looking at log, it seems to be related to BLE.

Hey @Antoine_GOUGEON, sorry for the late join, but I stumbled upon this thread today.

@zwiftalizer Did a great job explaining how the trainer creates a Bluetooth data packet and sends it over the network to Zwift which then processes like it would any other Bluetooth data packet.

I just wanted to add that (as Mike hinted at) an FTMS resend is not necessarily a drop out. In the current Zwift FTMS trainer implementation, if Zwift has not heard a request acknowledgement from the trainer within 2 seconds, Zwift will resend the last request. So this behavior is totally time-based. In your case this just means there was a slight network hiccup that may have delayed the packet reaching Zwift, so Zwift resent it. Probably the data packet arrived right afterward.

Obviously, this resend logic is made for BLE where dropouts can occur, and its great to hear that this is a rare event for you, but unfortunately there is no way for the FTMS trainer implementation logic to know you are connected over a wire and skip this behavior. We might consider increasing the timeout to 2.5 seconds which might still be responsive for BLE while possibly sparing you these events.

Hopefully this explanation helps to convince you that your connection is indeed stable.

2 Likes

Thanks Mike

Sorry for bringing up an old topic but this may be of interest - slightly different issue but it’s been affecting me on and off for nearly a year now. I have even had a replacement kickr bike v2 which still has the same issue so it must be on my setup somewhere…

See zwiftalizer log file - Zwiftalizer 2.0

I get lots of Bluetooth ftms message resend and Bluetooth trainer resets - this happens fairly randomly - sometimes happens a couple times in a week and then doesnt happen for a week or two. When this happens i do not get any resistance or tilt changes.

My bike is connected via Ethernet direct connect.

When the BT reset and resends stop in the log file - this is when I have unplugged the bike and back in again (only way i can seem to get it to start working again).

Firmware up to date etc.

Does it happen in the same fashion when you pair via Bluetooth instead of direct connect? Was that the reason why the bike was replaced?

I haven’t fully tested with Bluetooth, I’d prefer to keep direct connect Ethernet but as it happens randomly it’s a bit difficult to test.
I am going to see what happens if I change to WiFi next though.
It was part of the issue with the previous bike but the main one was a crank/bottom bracket noise/vibration.