Coder Social home page Coder Social logo

Comments (13)

reillyeon avatar reillyeon commented on May 15, 2024

From the exclamation point on the "SparkFun Pro Micro" entry in Device Manager screenshot it looks like Windows is not recognizing the descriptors that this library adds and automatically loading the right driver. The device's other interface, the USB serial device, is properly recognized and has the right driver loaded. Can you look at the properties for the broken device and show us what error Windows reports?

from arduino.

leanofis-iot avatar leanofis-iot commented on May 15, 2024

hi @reillyeon

Now the issue is, SecurityError: Access Denied

Showing by Zadig software, for Sparkfun Pro Micro board, 2 different device drivers;

interface 0 ( usbser )

interface0

interface 2 ( no driver )
Should install winusb driver here ?

interface2

events for the broken device;

Device USB\VID_1B4F&PID_9204&MI_02\7&28d8bbf4&0&0002 was configured.
Driver Name: null
Class Guid: {00000000-0000-0000-0000-000000000000}
Driver Date:
Driver Version:
Driver Provider:
Driver Section:
Driver Rank: 0x0
Matching Device Id:
Outranked Drivers:
Device Updated: false
Parent Device: USB\VID_1B4F&PID_9204\WUART

chrome errors;

  1. error when page loaded,
  2. error when clicked the connect button

chrome console

from arduino.

reillyeon avatar reillyeon commented on May 15, 2024

Using the Zadig tool to force the WinUSB driver to load will work around the problem I described in my last comment. The Microsoft OS 2.0 descriptors that this library adds to the device should be telling Windows to load that driver by default.

Recent builds of Chrome have a tool for debugging these issues but you will need to run it on a platform other than Windows, or use the Zadig tool first so that you can overcome the "access denied" error. This tool mimics the steps that Windows and Chrome perform when enumerating a new USB device but display the results in a way that can help to debug issues.

  1. Visit chrome://usb-internals.
  2. Click on the "Devices" tab.
  3. Find your device in the list and click its "Inspect" button.
  4. Click the "Show WebUSB & Microsoft OS 2.0 Descriptors" button.
  5. Expand the "Microsoft OS 2.0 Descriptor" and "Microsoft OS 2.0 Descriptor Set Information" nodes and click the "GET" button next to the vendor code.
  6. Expand the "Microsoft OS 2.0 Compatible ID Descriptor" node.
  7. The "Compatible ID string" should be equal to "WINUSB". If any of these descriptors fail to load (the tool is reading them directly from the USB device as you click the "get" buttons) that means that there is a bug in the library and your device isn't responding correctly. This would explain why Windows is not behaving as expected.

Screenshot:
image

from arduino.

leanofis-iot avatar leanofis-iot commented on May 15, 2024

I tried zadig winusb install, but the issue still remains.
Now, reserved windows.

I tested on Android OK, a successful communication between arduino and chrome.

Do webusb support readline parser with newline delimiters ?

from arduino.

reillyeon avatar reillyeon commented on May 15, 2024

I tried zadig winusb install, but the issue still remains.

Have you tried the debugging steps I suggested?

Do webusb support readline parser with newline delimiters ?

WebUSB provides the ability to read data from the device using USB transfers. Parsing that data is the responsibility of your application.

from arduino.

leanofis-iot avatar leanofis-iot commented on May 15, 2024

There is a problem with get descriptors;

devices

error

from arduino.

reillyeon avatar reillyeon commented on May 15, 2024

As a sanity check can you make sure that the device or configuration descriptors can be read correctly. If they can then there is a bug in this library which needs to be investigated.

from arduino.

leanofis-iot avatar leanofis-iot commented on May 15, 2024

Really sorry but I am not good at programming. There must be a sequential error in my code when calling; request/get/open of device and port. Do you think so ?

Here I would ask if WCID driver is useful.

wcid driver

from arduino.

reillyeon avatar reillyeon commented on May 15, 2024

If you think there is an error in your code please post it here.

The normal "install driver" option is fine. Please confirm that when you've installed the driver you no longer get an "access denied" error. Please post a screenshot of the chrome://usb-internals tool where you have clicked the "Get Device Descriptor" button after installing the WinUSB driver.

from arduino.

leanofis-iot avatar leanofis-iot commented on May 15, 2024

Firstly please excuse for I keep you busy.

Winusb driver installed by Zadig.

And this flow:

When opened page;
SecurityError: Access Denied

After clicked "Connect" button to force reconnect;
Pop-up appears
select device and done paired
SecurityError: Access Denied

Here usb internals for all the get are clicked:

tool

from arduino.

leanofis-iot avatar leanofis-iot commented on May 15, 2024

Need setting in chrome flags ?

from arduino.

reillyeon avatar reillyeon commented on May 15, 2024

No Chrome flags are necessary. Since this device is working for you on Android please try these steps in chrome://usb-internals on your Android device to compare.

from arduino.

leanofis-iot avatar leanofis-iot commented on May 15, 2024

@reillyeon

Earlier I played with chrome flags.
Now, restored to DEFAULT.

And then IT WORKS !!

Github page on Windows Chrome and my Sparkfun Arduino board;
Connect, send, receive, data communication is OK.

Thank you very much.

from arduino.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.