You are not logged in.

#1 2012-12-03 21:42:50

codl
Member
From: France
Registered: 2009-09-19
Posts: 18

[Solved] USB 3 (uPD720200) only detects devices at boot time.

Hello. I have an HP Probook 4530s laptop with an onboard USB 3 port. A device that is plugged into it before boot shows up in lsusb and can be used normally, but hotplugging a device will not work.

Relevant outputs after booting with a drive plugged in, unplugging and plugging it back in:

$ lspci | grep "USB 3.0"
26:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)
$ lsusb | grep "3.0"
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
$ lsusb | grep "LaCie"
(a distinct lack of drive)
$ dmesg | egrep "xhci|usb 3"
[    0.735878] xhci_hcd 0000:26:00.0: xHCI Host Controller
[    0.735887] xhci_hcd 0000:26:00.0: new USB bus registered, assigned bus number 2
[    0.736076] xhci_hcd 0000:26:00.0: irq 19, io mem 0xd4500000
[    0.736149] xhci_hcd 0000:26:00.0: irq 46 for MSI/MSI-X
[    0.736156] xhci_hcd 0000:26:00.0: irq 47 for MSI/MSI-X
[    0.736162] xhci_hcd 0000:26:00.0: irq 48 for MSI/MSI-X
[    0.736460] xHCI xhci_add_endpoint called for root hub
[    0.736462] xHCI xhci_check_bandwidth called for root hub
[    0.736574] xhci_hcd 0000:26:00.0: xHCI Host Controller
[    0.736578] xhci_hcd 0000:26:00.0: new USB bus registered, assigned bus number 3
[    0.739804] xHCI xhci_add_endpoint called for root hub
[    0.739806] xHCI xhci_check_bandwidth called for root hub
[    1.443390] usb 3-1: new SuperSpeed USB device number 2 using xhci_hcd
[    1.459034] usb 3-1: Parent hub missing LPM exit latency info.  Power management will be impacted.
[  484.575852] usb 3-1: USB disconnect, device number 2

Any ideas?

Last edited by codl (2012-12-06 16:30:09)

Offline

#2 2012-12-06 13:07:24

teateawhy
Member
From: GER
Registered: 2012-03-05
Posts: 1,138
Website

Re: [Solved] USB 3 (uPD720200) only detects devices at boot time.

I have the exact same usb controller and it seems to be very buggy in linux. The output of lsusb sometimes shows 2 usb 3.0 hubs, sometimes 1 usb 3.0 hub and often no usb 3.0 at all. Also it shows a lot of usb 1.1 controllers, but my mainboard only has usb 3.0 and 2.0. Hotplugging usb 3.0 devices works, but they only run at usb 3.0 speeds and booting with plugged devices often makes them dissapear.
I recently searched for the issue and found out flashing the usb controller firmware could possibly help.
http://askubuntu.com/questions/161862/n … untu-12-04
However you have to download the driver from a third-party website and boot a dos operating system to do the firmware flash, which held me off from doing it.

Last edited by teateawhy (2012-12-06 13:08:02)

Offline

#3 2012-12-06 16:31:39

codl
Member
From: France
Registered: 2009-09-19
Posts: 18

Re: [Solved] USB 3 (uPD720200) only detects devices at boot time.

teateawhy wrote:

flashing the usb controller firmware

I did this, it works perfectly. Thank you!

Offline

#4 2012-12-08 14:39:49

teateawhy
Member
From: GER
Registered: 2012-03-05
Posts: 1,138
Website

Re: [Solved] USB 3 (uPD720200) only detects devices at boot time.

Today i also flashed the firmware and it is working now. The road towards a working flash utility was difficult, because it requires 64-Bit Windows. I ended up using Windows PE for it, its 64-bit version is called amd64. The newer firmware downloads do not contain the flash utility anymore, only the firmware files, so make sure you download the older version, too. Also if you have more than 1 controller of this type you need to add the "/address 0x-00-00" commandline switch, where x is a number. This blog post was very helpful, explaining the details of the flash utility:
http://pete.akeo.ie/2011/10/flashing-ne … sb-30.html

Last edited by teateawhy (2012-12-08 14:40:49)

Offline

Board footer

Powered by FluxBB