Linux USB
 help / color / mirror / Atom feed
* [RFC] usb: gadget: proposal for Microsoft OS 2.0 descriptor support
@ 2025-09-02  7:33 Maxime Vincent
  2025-09-02  9:04 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Maxime Vincent @ 2025-09-02  7:33 UTC (permalink / raw)
  To: linux-usb@vger.kernel.org

Hi all,

This is a request for comments, not a patchset.

The Linux USB gadget framework already supports Microsoft OS 1.0
descriptors in usb_composite, which makes it possible for Windows
hosts to bind WinUSB or other class drivers without requiring a custom
.inf file. This has been very useful for devices that want to provide
driverless support on Windows.

Recent versions of Windows (8.1 and later) extend this mechanism with
the "Microsoft OS 2.0 descriptor set." This supersedes OS 1.0 and
provides:

  - A more structured way to declare WinUSB interface bindings
  - Registry property descriptors (string values, device properties)
  - Support across multiple configurations and interfaces
  - Forward compatibility for future extensions

At the moment, Linux gadget drivers cannot expose these descriptors
generically. Developers either hardcode them in out-of-tree patches or
skip MS OS 2.0 support entirely, limiting interoperability with modern
Windows hosts.

I would like to propose adding *generic* MS OS 2.0 descriptor support
to the gadget framework, in a way analogous to the existing OS 1.0
support - and similar to how WebUSB support has been implemented:

  - New configfs attributes to define the OS 2.0 descriptor set
  - Helpers in usb_composite for handling the vendor-specific requests
  - Backward compatibility with existing OS 1.0 support

Before submitting any code, I wanted to ask maintainers:

  - Is this considered broadly useful enough to merge upstream?
  - Is it okay to support this fully through configfs?

I currently have a PoC running, but it's nowhere near ready to submit.
Feedback would be greatly appreciated before starting work on an
proper implementation. 

Thanks,
Maxime Vincent


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-09-02  9:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-02  7:33 [RFC] usb: gadget: proposal for Microsoft OS 2.0 descriptor support Maxime Vincent
2025-09-02  9:04 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox