On Thu, Apr 24, 2014 at 11:17:11AM +0200, Andrzej Pietrasiewicz wrote: > There is a custom (non-USB IF) extension to the USB standard: > > http://msdn.microsoft.com/library/windows/hardware/gg463182 > > The said extension is maintained by Microsoft for Microsoft. > > Yet it is fairly common for various devices to use it, and a > popular proprietary operating system expects devices to provide > "OS descriptors", so Linux-based USB gadgets whishing to be able > to talk to a variety of operating systems should be able to provide > the "OS descriptors". > > This patch series adds (optional) support for gadgets whishing to expose > the so-called "OS Descriptors". > > The sequence of operations when a gadget is enumerated by an OS which expects > the said descriptors is as following: > > 1) the host issues a standard "GET_DESCRIPTOR" request of type 0x03 (string) > for a string at index 0xEE in language 0, named "OS String" > 2) if the device responds, the hosts interprets the response, and if it is > of expected form the host assumes the device supports "OS Descriptors" > 3) the host issues requests to get "Feature Descriptors" it expects > > There are two kinds of "Feature Descriptors": "Extended Compatibility" > descriptors and "Extended Properties" descriptors. > They are specified per USB interface or per USB interface group described > by an IAD. > > Legacy gadgets (compiled as separate modules, like g_ether, g_serial etc) > can stay as they are and not use this extension; however PATCH 9/9 > shows an example of converting g_ether to use "OS Descriptors" with RNDIS. > The intended use of the extension is with configfs interface, though. > > This series contains an extension to the f_rndis function; if a function > whishes to support "OS Descriptors" it needs to be patched with a fairly > simple change: PATCH 4/9 contains code for supporting the extension proper, > while PATCH 7/9 contains code for using it with configfs. > > Rebased onto Felipe's master as of 23rd April. are you sure there isn't some crappy patent from MS which would prevent us from implementing this ? -- balbi
Attachment:
signature.asc
Description: Digital signature