Forwarded with minor changes for my reply. ---------- Forwarded message ---------- From: Xiaofan Chen <[EMAIL PROTECTED]> Date: Dec 24, 2007 9:18 AM Subject: Re: [linux-usb-devel] FW: gadget composite IAD problem To: Jeremy Greene <[EMAIL PROTECTED]> Cc: [EMAIL PROTECTED]
On Dec 24, 2007 9:21 AM, Jeremy Greene <[EMAIL PROTECTED]> wrote: > Hi, > > I'm working on getting a composite driver working by modifying existing > gadget drivers (and the underlying device driver). > > As a first, and what I thought would be simple step, I modified both g_ether > and g_serial in the following ways: > 1) Changed the device descriptor to have class/subclass/protocol to > be 0xef, 2, 1 respectively > 2) Added an "interface association descriptor" to the configuration > a. In both cases, two interfaces, first one = 0 > b. Made the class ID USB_CLASS_COM in both cases. Tried various > subclass and protocol values with no visible change in behavior. > 3) For g_ether, changed it to have only one configuration (RNDIS) > 4) For testing purposes, changed vendor id to aaaa and product id to bbbb > > I then modified the XP INF file to have the identifier be: > usb\pid_aaaa&pid_bbbb&mi_00. Running XP w/ SP2 (does have IAD support). > Clearly do see usbccgp loaded, and work to the extent of loading the proper > inf file based on the MI_00 value. > > The results: > 1) For g_ether, it gets pretty far in XP driver installation, then ends with > "cannot start device, error code 10". > a. On the device, gets up to the set-config request from host > 2) For g_serial, it installs, but no data transfers > > I connected a usb analyzer on the ubs link and found that at the end of > the setup exchange, there were no IN/NAKs occurring every 2s -- just > getting SOFs every 2s. > So, in the case of g_serial, the data posted on the IN endpoint just sits in > the FIFO since there are no IN tokens to send it out on. > > Any help on this would be greatly appreciated!! > > Jeremy > I do not know anything about Linux Gadget driver. But anything involving usbser.sys as one of the interface driver for a USB composite device will be difficult under Windows XP. Windows does support CDC-ACM but Microsoft driver usbser.sys is is said to be buggy and problematic A bit different but kind of related. You might want to try it to see if it works. http://support.microsoft.com/kb/918365 Detailed discussion in usb.org: http://www.usb.org/phpbb/viewtopic.php?t=13308 The conclusion is option 2 does not work under XP. Option 3 may or may not work if you apply the hotfixes. http://www.usb.org/phpbb/viewtopic.php?t=13610 By the way, I think the inf example in the following document will not work under Windows Vista but I have neither a Linux gadget device nor Vista OS to test. http://www.mjmwired.net/kernel/Documentation/usb/gadget_serial.txt Proper inf files: (to work under XP and Vista): http://www.obddiag.net/adapter/vcomhcp.inf http://www.nabble.com/%7BPIC--Re:-USB-driver---VISTA-td14238126.html The document also mentions Hyperteminal which is not that good. Xiaofan http://mcuee.blogspot.com - To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html