lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 14 Aug 2010 16:57:53 +0800
From:	Xiaofan Chen <xiaofanc@...il.com>
To:	Michal Nazarewicz <mina86@...a86.com>
Cc:	Dries Van Puymbroeck <dries.van.puymbroeck@...il.com>,
	linux-usb@...r.kernel.org, Greg KH <greg@...ah.com>,
	Michał Nazarewicz <m.nazarewicz@...sung.com>,
	Dries Van Puymbroeck <dries.vanpuymbroeck@...imo.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] USB: Gadget: g_multi: added INF file for gadget with
 multiple configurations

On Sat, Aug 14, 2010 at 4:39 PM, Michal Nazarewicz <mina86@...a86.com> wrote:
> <http://msdn.microsoft.com/en-us/library/ff537109(v=VS.85).aspx>
> specifies that for a device to be identified as composite it (among
> other things) "must have a single configuration".  The page has also
> a passage which seems to indicate that the INF is needed:
>
>" If you want the generic parent driver to manage your device, but your
> device does not have the characteristics necessary to ensure that the
> system will generate a compatible ID of USB\COMPOSITE, you will have
> to provide an INF file that loads the generic parent driver."
>
> Selecting of the configuration is also mentioned as a requirement, and
> the next paragraph points to a web page you've cited:
>
>" If your composite device has multiple configurations, the INF file you
> provide must specify which configuration the generic parent should use
> in the registry. The necessary registry keys are described in
> Selecting the Configuration for a Composite USB Device."

Thanks. Now it is clear. The patch is correct after all.

Somehow I forgot the following blog entry again. This blog entry
seems to be more clear than the MSDN entries.
http://blogs.msdn.com/b/usbcoreblog/archive/2010/05/19/multi-config-usb-devices-and-windows.aspx

+++++++++++++++++
The USBCCGP composite device driver has support for multiple device
configurations, with a few caveats.
http://msdn.microsoft.com/en-us/library/ff539242(VS.85).aspx

   1. USBCCGP will not load on a multi-config device by default because
the hub driver doesn't create a "USB\COMPOSITE" PNP ID for a composite
device if it has multiple configurations. However, you can write your own INF
that matches a device-specific PNP ID to get USBCCGP to load as your
device's function driver.

   2. To select a configuration other than index 0, you must set registry
settings as specified in "Selecting the Configuration for a Composite
USB Device".
http://msdn.microsoft.com/en-us/library/ff538059(VS.85).aspx

During enumeration, USBCCGP will first attempt to select the
configuration whose descriptor is found at the specified "original" index. If
the attempt fails, normally due to the configuration requiring more than
100mA while the device's upstream hub has only bus power, then
USBCCGP attempts to select the configuration found at the specified
"alternate" index instead.

   3. Drivers that are clients of USBCCGP cannot change the device's
configuration value.
+++++++++++++++++



-- 
Xiaofan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ