Dang it all!  It seems to be a cable problem.  I know that last week we
tried all three of the cables we have, with two phones, and on various
versions of the kernel, and they all behaved the same.  This morning in
my methodical tests (by myself), one cable is definitely broken, one
gives error -71 every time, and one works every time with two different
phones on kernel 2.6.19-rc6 (with David Brownell's patch) and
2.6.9-34-EL from RedHat.

I'm sorry to have bothered the group with this problem.  I'll bring it
up again if my impression of the behavior changes again.  For now I'm
considering this problem solved, but I'm still testing.

Thank you,
- Larry Fenske

-----Original Message-----
From: Felipe Balbi [mailto:[EMAIL PROTECTED] 
Sent: Thursday, November 30, 2006 10:36
To: Larry Fenske XX (BO/EUS)
Cc: David Brownell; Oliver Neukum; linux-usb-devel@lists.sourceforge.net
Subject: RE: [linux-usb-devel] Error -71 connecting IDEN phone

did you already try David Brownell's patch??

According to him, this could be an sleep time error!

Below, Dave's patch:

Tweak some early enumeration code paths:

 - After a set_address() error, reset the port.  Failures in that
particular
   protocol request leave the device's address indeterminate.

 - Let devices settle longer after successful SET_ADDRESS

EXPERIMENTAL ... 

Index: g26/drivers/usb/core/hub.c
===================================================================
--- g26.orig/drivers/usb/core/hub.c     2006-11-06 13:08:45.000000000
-0800
+++ g26/drivers/usb/core/hub.c  2006-11-06 14:13:55.000000000 -0800
@@ -2010,6 +2010,8 @@ static int hub_set_address(struct usb_de
        if (retval == 0) {
                usb_set_device_state(udev, USB_STATE_ADDRESS);
                ep0_reinit(udev);
+               /* allow HCD and peripheral time to settle */
+               msleep(40);
        }
        return retval;
 }
@@ -2195,24 +2197,27 @@ hub_port_init (struct usb_hub *hub, stru
 #undef GET_DESCRIPTOR_BUFSIZE
                }
 
+               /* after set_address faults it's not clear what the
device's
+                * address will be.  reset and be sure.
+                *
+                * REVISIT peripherals could trigger erroneous faults...
+                */
                for (j = 0; j < SET_ADDRESS_TRIES; ++j) {
                        retval = hub_set_address(udev);
                        if (retval >= 0)
                                break;
-                       msleep(200);
+                       (void) hub_port_reset(hub, port1, udev, delay);
                }
                if (retval < 0) {
                        dev_err(&udev->dev,
                                "device not accepting address %d, error
%d\n",
                                udev->devnum, retval);
-                       goto fail;
+                       continue;
                }
- 
+
                /* cope with hardware quirkiness:
-                *  - let SET_ADDRESS settle, some device hardware wants
it
                 *  - read ep0 maxpacket even for high and low speed,
-                */
-               msleep(10);
+                */
                if (USE_NEW_SCHEME(retry_counter))
                        break;

On Thu, 2006-11-30 at 11:05 -0600, ext Larry Fenske XX (BO/EUS) wrote:
> I turn on the options suggested by Felipe Balbi (CONFIG_PREEMPT and
> CONFIG_USB_DEBUG), along with applying David Brownell's patch and
didn't
> get much more in /var/log/messages:
> 
> Nov 30 09:57:12 usboc0203 kernel: [61382.237911] usb 5-1: new full
speed
> USB device using uhci_hcd and address 10
> Nov 30 09:57:13 usboc0203 kernel: [61382.357608] usb 5-1: device
> descriptor read/64, error -71
> Nov 30 09:57:13 usboc0203 kernel: [61382.581016] usb 5-1: device
> descriptor read/64, error -71
> Nov 30 09:57:13 usboc0203 kernel: [61382.796455] usb 5-1: new full
speed
> USB device using uhci_hcd and address 11
> Nov 30 09:57:13 usboc0203 kernel: [61382.916151] usb 5-1: device
> descriptor read/64, error -71
> Nov 30 09:57:13 usboc0203 kernel: [61383.139558] usb 5-1: device
> descriptor read/64, error -71
> Nov 30 09:57:14 usboc0203 kernel: [61383.355007] usb 5-1: new full
speed
> USB device using uhci_hcd and address 12
> Nov 30 09:57:14 usboc0203 kernel: [61383.578414] usb 5-1: device not
> accepting address 12, error -71
> Nov 30 09:57:14 usboc0203 kernel: [61383.905561] usb 5-1: device not
> accepting address 12, error -71
> Nov 30 09:57:14 usboc0203 kernel: [61384.121014] usb 5-1: new full
speed
> USB device using uhci_hcd and address 13
> Nov 30 09:57:15 usboc0203 kernel: [61384.344425] usb 5-1: device not
> accepting address 13, error -71
> Nov 30 09:57:15 usboc0203 kernel: [61384.671563] usb 5-1: device not
> accepting address 13, error -71 
> 
> If I leave the device plugged in after these errors, I can never
access
> it.  If I unplug and plug it in again, then sometimes it will connect.
> The successes and failures seem to come in runs, i.e. the chance of
> success or failure is influenced by a previous success or failure.
> 
> Is there any other debugging that I can turn on to get more
information
> from the driver?
> 
> Thanks,
> - Larry Fenske
> 
> -----Original Message-----
> From: Felipe Balbi [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, November 29, 2006 11:59
> To: Larry Fenske XX (BO/EUS)
> Cc: Oliver Neukum; linux-usb-devel@lists.sourceforge.net
> Subject: Re: [linux-usb-devel] Error -71 connecting IDEN phone
> 
> > Old Signed by an unknown key: 11/29/2006 at 07:58:59 PM
> 
> ext Larry Fenske XX (BO/EUS) wrote:
> > Yes, other devices work.  I tried a USB flash drive (a.k.a. thumb
> drive).  It works fine in both USB ports that I tried it in.  I can
read
> the filesystem on it.
> > 
> > - Larry
> > 
> > -----Original Message-----
> > From: Oliver Neukum [mailto:[EMAIL PROTECTED] 
> > Sent: Wednesday, November 29, 2006 2:49 AM
> > To: linux-usb-devel@lists.sourceforge.net
> > Cc: Larry Fenske XX (BO/EUS)
> > Subject: Re: [linux-usb-devel] Error -71 connecting IDEN phone
> > 
> > Am Dienstag, 28. November 2006 23:10 schrieb Larry Fenske XX
(BO/EUS):
> >> I am attempting to connect a Motorola IDEN phone to a Linux box.
> Most
> >> of the time I get an error -71 in /var/log/messages. Here are six
> failed
> >> attempts:
> > 
> As define in include/linux/asm-generic/errno.h the error -71 is a
> Protocol Error...
> As we can see from kernel messages:
> 
> > usb 5-1: new full speed USB device using address 2
> > usb 5-1: device not accepting address 2, error -71
> 
> The USB Host is not being able to set a device address...
> 
> Could you please set CONFIG_PREEMPT and CONFIG_USB_DEBUG on the HOST
> side... and send more verbose messages??
> 
> Another thing: Can you access the device anytime later?? If after some
> error messages you're able to access the device it could be some
> device-specific config...
> 
> 
> 
> > Do any other USB devices work?
> > 
> >     Regards
> >             Oliver
> > 
> >
>
------------------------------------------------------------------------
> -
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to
> share your
> > opinions on IT & business topics through brief surveys - and earn
cash
> >
>
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE
> V
> > _______________________________________________
> > linux-usb-devel@lists.sourceforge.net
> > To unsubscribe, use the last form field at:
> > https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
> 
> 
> --
> Best Regards,
> 
> Felipe Balbi
> [EMAIL PROTECTED]
> OSMRC - INdT
> 
> * Unknown Key
> * 0xABA10B64 (L)
> 
-- 
Best Regards, 

Felipe Balbi 
[EMAIL PROTECTED] 
OSMRC - INdT


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to