On Fri, 6 Aug 2004, Kyle Harris wrote: > Alan, > > Finally got a chance to look at this some more. I basically used only the > first portion of your patch. For full_speed devices (I'm assuming this is the > only ones that need this), I call usb_get_descriptor() before > usb_set_address() in order to get the length of the descriptor and max packet > size. It looks like both are needed. Then I use these for the > usb_get_descriptor() after usb_set_address(). This sequence appears to work > with the devices I have been testing with. > > I also had to change usb_submit_urb to not check for dev->devnum == 0. > > Below is the patch for my version of usb.c. > > Let me know if there is something else you want me to try. Thanks for your > help. > > Kyle.
It's interesting that you also need to know the length of the device descriptor. Are there devices that don't use the standard length? It would be great if you could trace what happens when Windows connects to a low-speed and a high-speed device. (Maybe you could borrow such a device from somebody, or use your bus analyzer on someone else's machine.) It might turn out that Windows sends its initial 64-byte descriptor fetch for connections running at those speeds as well, not just for full-speed. After all, if it needs to know the descriptor size as well as the maxpacket size, this would be the way to find out. Also, if you really want to match exactly the sequence that Windows uses, you should issue a port reset after the 64-byte read. Alan Stern P.S.: Is there any chance of you getting hold of Konica-Minolta DiMAGE A2 digital camera and tracing what happens when Windows connects to it in USB storage-device mode? There have been reports from several people that the device initialization under Linux works very unreliably, if at all. I would love to know how Windows manages to cope with such a badly-behaved device. ------------------------------------------------------- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
