Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows not recognizing devices in WebUSB #143

Closed
BonelessPig opened this issue Jul 30, 2018 · 8 comments
Closed

Windows not recognizing devices in WebUSB #143

BonelessPig opened this issue Jul 30, 2018 · 8 comments

Comments

@BonelessPig
Copy link

My computer just received a windows update and now cannot recognize the microcontroller i have programmed via Arduino IDE. It is a Sparkfun Breakout ATmega32u4 programmed as a Arduino Micro. I works fine on a Mac but is not recognized on Windows. I am using chrome for testing through localhost:8000. My microcontroller is also not recognized following the instructions on the demo anymore. Is anyone else having this problem and is their a solution. I was thinking maybe thee was a problem with the serial drivers.

@karelbilek
Copy link

This is not related to the spec probably, but - what Windows do you use?

We found out that there is an issue with Windows 7 and WinUSB/WCID (which you need for driverless use and the Arduino example is using), particularly if the Windows 7 have disabled automatic updates (usually when cracked, but some other reasons too).

Try to install WinUSB drivers manually with Zadig - https://zadig.akeo.ie/ . If you want to automate this, for example in the installer, you will need to build this tool

https://github.com/pbatard/libwdi/blob/master/examples/wdi-simple.c

@philshem
Copy link

I also have issues connecting to Windows (10) for a GPS tracker (MTK 3329 chipset). Zadig works when installing the libusbK driver - something determined by trial and error.

What's interesting is that libusbK is an older protocol (from Windows 8), and the default driver that Windows installs for my device (usbser.inf) is preferred by windows (discussion).

I've posted to the SuperUser forum - here's the thread, in case it's relevant


FYI - here's our webusb code for this GPS chipset. Works fine on Mac OS X. Windows is hit or miss with drivers. https://github.com/skunksports/webusb-mtk

@reillyeon
Copy link
Collaborator

@philshem The Windows driver stack does not allow any application to connect to a device at the USB level if the WinUSB or libusbk driver is not bound to the device. The usbser driver is a USB serial driver and takes over the device in order to provide a virtual COM port, blocking access to the device at a USB level. For devices you don't have control over you will constantly be fighting the OS for control of the device. We are working on the Serial API as a way to connect to devices that the OS is exposing as a COM port.

@deviousasti
Copy link

Any workarounds for this? Is WebUSB unusable as of now?

@reillyeon
Copy link
Collaborator

@deviousasti, it really depends on the device you are trying to use the API to connect to. As mentioned above, devices implementing the USB serial protocol have always been difficult to use, which is why webusb/arduino provides a library to modify the interface into one that isn't claimed by the operating system's USB serial class drivers. The Serial API will help alleviate this problem by providing an API that works for USB (and other types of) serial devices.

@anotherglitchinthematrix

Enabling new usb backend for Windows on Chrome flag solved the problem for us, chrome://flags/#new-usb-backend

danimoh added a commit to nimiq/ledger-api that referenced this issue Jun 26, 2020
HID has better compatibility on Windows due to driver issues for WebUSB
for the Nano X (see LedgerHQ/ledgerjs#456 and
WICG/webusb#143).
@TamtamHero
Copy link

Disabling instead of enabling new usb backend for Windows on Chrome flag solved the problem for me, chrome://flags/#new-usb-backend

@7ombie
Copy link

7ombie commented Jan 7, 2022

Disabling the new backend made my device show up on macOS 12.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants