On Sat, 24 Jul 2004, Martin Pohlack wrote: > The patch applies flawlessly, however does not seem to have any positive > effect regarding the "dimage a2". > > The kernel's log-output is as follows: > > Jul 24 23:30:13 monat usb 2-2: new full speed USB device using address 2 > Jul 24 23:30:18 monat usb 2-2: control timeout on ep0in > Jul 24 23:30:18 monat usb 2-2: device not accepting address 2, error -71 > Jul 24 23:30:18 monat usb 2-2: new full speed USB device using address 3 > Jul 24 23:30:23 monat usb 2-2: control timeout on ep0in
On Sat, 24 Jul 2004, Gerhard Jaeger wrote: > here's the requested log, according to the last one, something changed > but it wasn't fully succesful... On Sun, 25 Jul 2004, Sven-Olof Klasson wrote: > Below are the debug messages I got when I connected my KonicaMinolta DiMAGE A2 > digital camera. Linux did not recognize the camera. Thanks to all of you for your testing. Although the patch seems to have worked as intended, the DiMAGE A2 still doesn't respond. Take heart though; from the logs it's clear that the patch did help a tiny little bit. The first time through the initialization loop, using address 2 and the unpatched part of the code, the cameras failed to respond to the very first packet. The second time through the loop, using address 3 and the newly patched code, the cameras _did_ respond to that packet -- but then failed to respond to the second packet! I get a definite impression that the camera wants some time to "warm up" before it will respond properly. Although that's just a guess, it won't hurt to try and test it. Below is a patch that adds two 5000ms delays to the hub driver, one in hub_port_reset() and one in hub_port_connect_change(). This patch is meant to apply on top of the previous one. I'm not sure where the delay needs to be (assuming it's needed at all!) so I put it in the two most likely spots. Also I'm not sure how long the delay needs to be; I figured that if five seconds wasn't enough then probably nothing would work. If your cameras work with this patch, you could try removing one delay or the other to see which one is really necessary. You can also try reducing the length of the delay to see how long it really should be. Alan Stern P.S.: Martin, either you didn't have USB debugging configured on, or else your syslog.conf wasn't set up to capture debug-level kernel messages. --- 2.6.7/drivers/usb/core/hub.c1 Sun Jul 25 11:53:21 2004 +++ 2.6.7/drivers/usb/core/hub.c Sun Jul 25 11:56:32 2004 @@ -944,6 +944,7 @@ udev->state = status ? USB_STATE_NOTATTACHED : USB_STATE_DEFAULT; + msleep(5000); return status; } @@ -1360,6 +1361,7 @@ port+1); goto done; } + msleep(5000); for (i = 0; i < SET_CONFIG_TRIES; i++) { struct usb_device *udev; ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel