On Mon, Oct 15, 2012 at 5:05 PM, g...@novadsp.com <g...@novadsp.com> wrote:
>> It may not be as difficult as you think to make your firmware a
>> USB composite device. In you case, you need to add a second
>> interface (say Interface 1) without any endpoint associated
>> (basically just using the control endpoint).
>>
>> In this case, you can use winusb/libusbx with this Interface 1
>> and USB Mass Storage with Interface 0. In that case, you
>> use interface 1 for your intended configuration data communication
>> through the control endpoint.
>>
>> Reference:
>> http://www.osronline.com/showthread.cfm?link=191818
>>
>> What you need to change in your firmware are like the following.
>> 1) descriptor change to add Interface 1
>> 2) in your firmware sections which deals with set-interface standard
>> request, you need to take care of both interface 0 and 1.
>> 3) For the vendor specific request (through control transfer), you
>> can deal it just like there is no interface 1.
>>
>> This is not a full-blown composite device framework but you
>> do not need that anyway.
>
> Ah - now that sounds very promising. What I still do not get is how the
> WinUSB driver co-exists with the in-box mass storage stack? Can you load the
> WinUSB driver for the same VID/PID but use the 2nd interface while mass
> storage is loaded too?

Yes. The USB Composite Generic Parent driver will load usb mass storage
driver for interface 0 and the winusb driver for the interfac 1.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff537109(v=vs.85).aspx

-- 
Xiaofan

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to