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

Add instructions for setting bcdUSB to 0x0210 on SAMD boards #41

Open
tylercrumpton opened this issue Dec 7, 2017 · 8 comments
Open

Comments

@tylercrumpton
Copy link

After loading either Arduino example to my board, I do not get a notification message with the link to the landing-page. The rest of WebUSB seems to work, because I can use the console example to send messages back and forth to the board.

If I add a new "fake" device in Chrome, via chrome://usb-internals/, the landing-page notification is displayed properly.

Board: Adafruit Feather M0
OS: Mac OS X 10.13.1
Arduino version: 1.8.5
Output from chrome://device-log/ :

USB device added: vendor=9114 "Adafruit", product=32779 "Feather M0", serial="WUART", guid=193354a7-57da-49bd-b887-6ebc6054c58e
@reillyeon
Copy link
Collaborator

The instructions in README.md only update the USB version for AVR boards. Without the board reporting a USB version of 0x0210 Chrome will not attempt to read the landing page descriptor from the device because it assumes it is not supported. The M0 is an SAMD board.

@reillyeon reillyeon changed the title Landing-page notification does not appear. Add instructions for setting bcdUSB to 0x0210 on SAMD boards Dec 7, 2017
@tylercrumpton
Copy link
Author

Ah! Thanks, that makes sense. I'll look into trying to update the USB version for the SAMD.

@basevers
Copy link
Contributor

@tylercrumpton

Did you make progress?

This is the change I made in USBCore.h :
#define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs)
{ 18, 1, USB_VERSION, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs }

However, it caused Windows 10 no longer to recognize the board. It also caused the IDE no longer to find the COM port for programming. Forcing the board in the bootloader (pressing the reset button twice fast) allowed me to upload new firmware again.
Not sure what the behaviour would be on your Mac.

@tylercrumpton
Copy link
Author

@basevers I have not made progress, no. I'll give that change a shot and see how it works on the Mac this afternoon.

@tylercrumpton
Copy link
Author

tylercrumpton commented Feb 2, 2018

@basevers So it looks like I may have already had that change in my USBCore.h file, or it's already in there for me. It's also possible I misunderstood your change, so here is what my line looks like:

#define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs) \
	{ 18, 1, USB_VERSION, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs }

I believe that is only for the AVR cores though, so I don't think that affects the Cortex M0-based boards anyway.

@Sherek690
Copy link

Any solution to change the USB_VERSION to 0x210 on SAMD boards ?

@flety-emmanuel
Copy link

Hello, After a solution as well, tried changing the USB version with no success, CDC doesn't mount. Tried on a metro M0 express for a project at work, no dice. Anything to alter in the core ?

@gpelizzo
Copy link

Hello, I've also tried with an Arduino 33 IOT, changing the USB version as mention, but no chance to run WebUsb. Does someone already succeeded ?

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

6 participants