From: Greg KH <gregkh@linuxfoundation.org>
To: Maxime Vincent <maxime@veemax.be>
Cc: "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: Re: [RFC] usb: gadget: proposal for Microsoft OS 2.0 descriptor support
Date: Tue, 2 Sep 2025 11:04:10 +0200 [thread overview]
Message-ID: <2025090225-tarnish-recliner-4b21@gregkh> (raw)
In-Reply-To: <5aTfWPS8pWa0ctuEBVvtEEYLuw5fUBixSRpZG3klXdOHcLrPebGG3tZy4H6Y9tR895qh_pdPITpbH1R4Vws1QaWL26dRHmZUvqxBExpHEO4=@veemax.be>
On Tue, Sep 02, 2025 at 07:33:21AM +0000, Maxime Vincent wrote:
> 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.
We would like to see a real solution first to prove that it is something
that can actually be done, before we can really provide any sort of
review comments.
That's just how kernel development works,
thanks,
greg k-h
prev parent reply other threads:[~2025-09-02 9:04 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
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 message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2025090225-tarnish-recliner-4b21@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=linux-usb@vger.kernel.org \
--cc=maxime@veemax.be \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox