On Fri, Oct 12, 2012 at 7:05 PM, g...@novadsp.com <g...@novadsp.com> wrote: > Blackfin based firmware gets closer to release. I'm out of time to add > composite device support to the ADI driver stack, so by default it is a > mass storage device. >
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. -- 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