Fix for Windows 10 "It looks like your Bluetooth receiver is turned off" problem (BleWin10Lib.dll error 126)

Symptoms: In Windows 10, you cannot connect you trainer or other BTLE devices with Zwift. You have a Bluetooth adapter that works in Windows 10 but that damn Zwift squirrel keeps telling you “It looks like your Bluetooth receiver is turned off” even though it is most definitely on. You have no issues using Trainerroad, The Sufferfest, etc through Bluetooth.

Check your latest Zwift log. You might have the follow error in it:

Could not load the Windows BLE DLL BleWin10Lib.dll due to the following error 126

If this happens to you it’s likely that your system is missing VC runtime DLLs, or you got caught with a buggy version of the installer that caused these dependencies to be broken.

The simplest fix for this problem is to uninstall and reinstall the VC libraries, both 32-bit and 64-bit. The forum won’t let me include links, but if you Google “microsoft visual c++ runtime installer” the first result from Microsoft titled “The latest supported Visual C++ downloads” will get you going. Make sure to install both 32-bit and 64-bit versions.

If you want to be sure this is your problem you can try opening BleWin10Lib.dll (it is in the Zwift installation directory) in Dependency Walker or another similar tool. If the dependencies are broken or missing you’ll see it complain about these missing:

  • VCCORLIB140.DLL
  • MSVCP140.DLL
  • VCRUNTIME140.DLL

In any case, reinstalling those dependencies shouldn’t be harmful, and will most likely fix your troubles if you’re seeing the error 126 message in your Zwift logs. On my particular system those were not installed, and installing them and relaunching Zwift immediately fixed the problem.

This has been driving me batty for the past several months. I thought I would post how I fixed this problem in case I need it later or it helps someone else.

x86: vc_redist.x86.exe
x64: vc_redist.x64.exe

There’s also this: https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/

Just an anecdotal debug on this that may be useful for someone, or Zwift HQ.

Asking around for examples of USB Bluetooth dongles that worked fine with Zwift out of the box, all appear to be either Qualcomm or Broadcom chipsets. The two I’ve had issues with have both been Realtek chipsets. All were different brands of dongle.

Whether the above is relevant or just a coincidence I’m unsure, but the all-in-one package installer I linked to above (extract all, run the installer as Administrator, reboot afterwards) has worked perfectly to bring my new Realtek-based dongle to life in Zwift and allow pairing as normal.

Wow thanks for the fix, I got it working after installing the VC libraries as suggested.
For the record I’m using a Dell computer with no build in bluetooth, and a USB tp-link UB400 Bluetooth 4.0, I’m actually not sure if this one is Realtek-based.
I can’t believe there is not much information about this issue out there, thanks for sharing.

An update - since installing the VC libraries the Bluetooth receiver has been working very, very well. This solved some annoying dropout issues I was getting with ANT+ (10% rx fail even with the dongle right next to the trainer, led to a dropout every hour or two which was driving me batty).

My chipset is a Qualcomm QCA9377 if that helps.

I think in my case the VC redist libraries weren’t installed because I had done a clean installation of Windows 10 on that PC and have only a few things on it. Also, I’m not sure you need both the 32-bit and 64-bit versions, but installing both definitely doesn’t hurt.

I still think Zwift should show some kind of error message in cases where it can’t actually load the BleWin10Lib.dll Bluetooth DLL because I only discovered/fixed the issue almost by accident.