WebUSB enables access to USB hardware devices from web pages and is supported by W3C. WebUSB works cross-platform and is already available on Linux, such as Google Chrome.
This specification is published under the W3C Community Contributor Agreement, specifically allowing implementation of the specification without royalties.
This patch adds optional support for Linux-based USB gadgets that wish to publish such landing pages.
During device enumeration, the host sees that the announced USB version is at least 2.01. This means that there are BOS descriptors available. This device announces WebUSB support using platform device capabilities. It contains vendor code that can retrieve landing page URLs using vendor-specific requests.
Please see the kernel mailing list for details on WebUSB support patches for this USB gadget code. Those interested in the WebUSB API can find the current specification on GitHub.