WebANT icon indicating copy to clipboard operation
WebANT copied to clipboard

Windows 10 support

Open dvmarinoff opened this issue 3 years ago • 4 comments
trafficstars

On Windows 10 WebUSB and WebSerial are available, but with the default driver WebSerial does not recognize the device and WebUSB can't open it. WebUSB throws the error: 'Uncaught DOMException: Access denied' WebUSB issue.

This means that the default driver needs to be replaced with another one. The Zadig utillity tool (download, docs) can do that.

Did some experiments with the available drivers:

libusb-win32 (default) driver:

  • navigator.serial.requestPort() gets no compatible device found
  • navigator.usb.getDevice() gets error access denied
  • Zwift works

WinUSB driver:

  • navigator.serial.requestPort() gets no compatible device found
  • navigator.usb.getDevice() works
  • Zwift does not find the device

USB Serial (CDC) driver:

  • navigator.serial.requestPort() finds the port, but port.open({baudRate: 57600}) throws an error
  • navigator.usb.getDevice() does not list the device
  • Zwift does not find the device

dvmarinoff avatar Feb 03 '22 18:02 dvmarinoff

How to use zadig to switch drivers.

Download and install Zadig.

  1. Select List all devices from Options Select All devices from Options

  2. Select the ANT+ usb stick Select the ANT+ usb stick

  3. Select driver and click reinstall (WinUSB.sys) Select driver and click reinstall

  4. Expected result in web-ant.vercel.app Result

NOTE: to restore compatibility with Zwift do the same, but select the libusb-win32 driver

UPDATE: adding Wahoo instructions on installing an ANT+ USB driver for Windows.

dvmarinoff avatar Feb 04 '22 15:02 dvmarinoff

I tried to connect to your app with a Windows 11 computer, Chrome browser. I can confirm your experience above. I was able to connect Wahoo Kickr 2016 and Garmin HRM to your app using WinUSB driver, but then could not connect to Zwift. I tried the other drivers with same result as you.

GCuser99 avatar Feb 07 '22 00:02 GCuser99

Thanks for verifying that on Win 11. I will need to take some time and study the whole Windows USB driver situation, but until then will try to put the code into Electron or something similar that will produce a desktop app. Maybe this will work with the default driver.

dvmarinoff avatar Feb 07 '22 21:02 dvmarinoff

Ok. In the meantime, I don't mind helping to test as you develop this further. I can use a Windows PC with the WinUSB driver installed that I am not using to run Zwift so that I don't have to keep switching drivers back and forth.

GCuser99 avatar Feb 07 '22 22:02 GCuser99