Re: PROBLEM: USB device registered on OHCI instead of EHCI at boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 14, 2013 at 06:50:44PM +0800, Huang Rui wrote:
> On Tue, Mar 12, 2013 at 11:48:49PM +0800, Alan Stern wrote:
> > On Tue, 12 Mar 2013, Huang Rui wrote:
> > 
> > > Hi Alan,
> > > 
> > > The same problem is encountered in my side. Bruce's log doesn't
> > > demonstrate the break point. I attached a new one.
> > > 
> > > [   14.359603] hub 1-0:1.0: state 7 ports 4 chg 0004 evt 0000
> > > [   14.359613] hub 1-0:1.0: port 2, status 0101, change 0000, 12 Mb/s
> > > [   14.385538] ohci_hcd 0000:00:12.0: port[1] reset timeout, stat 00000111
> > > [   14.431601] hub 3-0:1.0: port 2: status 0101 change 0001
> > > [   14.435601] hub 4-0:1.0: port 2: status 0203 change 0001
> > > [   14.439596] ohci_hcd 0000:00:12.0: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS
> > > [   14.495599] usb 1-2: new full-speed USB device number 2 using ohci_hcd
> > > [   14.521546] ohci_hcd 0000:00:12.0: port[1] reset timeout, stat 00000113
> > > [   14.575610] ohci_hcd 0000:00:12.0: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS
> > > [   14.656656] usb 1-2: Parent hub missing LPM exit latency info.  Power management will be impacted.
> > > [   14.658656] usb 1-2: not running at top speed; connect to a high speed hub
> > > [   14.664658] usb 1-2: default language 0x0409
> > > [   14.670658] usb 1-2: udev 2, busnum 1, minor = 1
> > > [   14.670660] usb 1-2: New USB device found, idVendor=05e3, idProduct=0732
> > > [   14.670662] usb 1-2: New USB device strings: Mfr=3, Product=4, SerialNumber=5
> > > [   14.670664] usb 1-2: Product: USB Reader
> > > [   14.670666] usb 1-2: Manufacturer: Genesys
> > > [   14.670668] usb 1-2: SerialNumber: 000000000038
> > 
> > That is not the relevant part of the log.  Here's the important part:
> > 
> > [   28.924735] ehci-pci 0000:00:12.2: GetStatus port:2 status 001803 0  ACK POWER sig=j CSC CONNECT
> > [   28.924739] hub 5-0:1.0: port 2: status 0501 change 0001
> > ...
> > [   30.352837] ehci-pci 0000:00:12.2: port 2 full speed --> companion
> > 
> 
> Thanks a lot to correct me and point that.
> 
> > This shows that the card reader did attach to the EHCI controller, but
> > then failed to indicate that it was capable of high-speed operation.  
> > I have no idea why not.
> > 
> > Can you use git bisect to find the commit responsible for this?
> 
> I used git bisect to locate the break commit between 3.0 and 3.9, but
> when the kernel is from 3.7 to 3.8, this issue does not reproduce
> stablely. During 3.8-rc3, I boot many times with the same kernel,
> sometimes are good and sometimes are bad(attached log). So I can not
> find break commit exactly... sorry :(
> 

Hi Alan,

Thank you to take a look at this issue. Sorry to disturb you again.
The PORT ENABLE(PORT_PE) bit in PORTSC register is not set when the
port reset, in other words, host controller and device might not do
alternating sequence of Chirp Ks and Chirp Js or not be detected. Am I
right? I found why the boot issue is not alway reproduced. Because
sometimes ehci_hcd is not loaded before ohci_hcd.

[   25.068090] Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after

If ehci_hcd is loaded firstly, the USB Reader(in my side) is always
detected as high speed device. Then I do below change and boot issue
isn't encountered again. 

diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 180a2b0..30fc91c 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -1325,7 +1325,7 @@ static int __init ohci_hcd_mod_init(void)
        clear_bit(USB_OHCI_LOADED, &usb_hcds_loaded);
        return retval;
 }
-module_init(ohci_hcd_mod_init);
+late_initcall(ohci_hcd_mod_init);

 static void __exit ohci_hcd_mod_exit(void)
 {

But I think it's not a good solution. Have you any idea to have an
appropriate way to make ehci_hcd loaded firstly?

Thanks & Best Regards,
Rui


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux