Ask Your Question
0

USB 3.0 problem: xhci refused to change power state (VL800)

asked 2012-01-22 14:11:27 -0500

Bert Roelse gravatar image

updated 2014-04-07 15:14:41 -0500

mether gravatar image

Hi, I recently bought a 3.5' bay with 4x USB 3.0 and card reader (http://image.dhgate.com/albu19837755000/1.0x0.jpg). Works fine in Win7/64. However, in Fedora 16/64 (and Ubuntu (11.10/64) it does not. Here is the output of my dmesg:

[ 0.972996] pci 0000:01:00.0: xHCI HW not ready after 5 sec (HC bug?) status = 0xffffffff

[ 1.374871] xhci_hcd 0000:01:00.0: Refused to change power state, currently in D3

[ 1.374887] xhci_hcd 0000:01:00.0: PCI INT A -> GSI 28 (level, low) -> IRQ 28

[ 1.374901] xhci_hcd 0000:01:00.0: xHCI Host Controller

[ 1.374953] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 9

[ 1.374960] xhci_hcd 0000:01:00.0: can't setup

[ 1.374999] xhci_hcd 0000:01:00.0: USB bus 9 deregistered

[ 1.375048] xhci_hcd 0000:01:00.0: PCI INT A disabled

[ 1.375050] xhci_hcd 0000:01:00.0: init 0000:01:00.0 fail, -19

lspci: 01:00.0 USB Controller: VIA Technologies, Inc. Device 3432 (rev ff)

uname -a: Linux BlackBird 3.1.9-1.fc16.x8664 #1 SMP Fri Jan 13 16:37:42 UTC 2012 x8664 x8664 x8664 GNU/Linux

system: Intel® Core™ i7 CPU 930 @ 2.80GHz × 8 / Asus P6T SE / ATI HD5850 / 6Gb

I have searched the internet for days now, but found no answer. I did find a .c file called pci-quirks.c which is about changing the power state, but I don't know how to use this. Any help would be appreciated.

Grtz

Bert

The Netherlands

edit:

Chipset is VIA Technologies VL800

Update 1/28/2012:

I updated the kernel to 3.2.2-1.fc16.x86_64, no improvement.

more from 'dmesg':

[ 0.921302] pci 0000:01:00.0: [1106:3432] type 0 class 0x000c03

[ 0.921313] pci 0000:01:00.0: reg 10: [mem 0xf8bff000-0xf8bfffff]

[ 0.921394] pci 0000:01:00.0: supports D1 D2

[ 0.921395] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold

[ 0.921399] pci 0000:01:00.0: PME# disabled

[ 0.977435] pci 0000:01:00.0: xHCI HW not ready after 5 sec (HC bug?) status = 0xffffffff

What I don't understand is the line 'supports D1 D2' although in windows 7 it says 'supports D0 D1 D2 D3hot D3cold'.

How the hell do I get this device to work??

Grtz Bert

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
0

answered 2012-01-30 00:54:18 -0500

FranciscoD_ gravatar image
edit flag offensive delete link more
0

answered 2014-04-07 09:47:46 -0500

I have: /sbin/lspci: 04:00.0 USB controller: Fresco Logic FL1000G USB 3.0 Host Controller (rev ff)

I have systemd enviroment, so I decided to implement my workaround as below. usb3.sh is run, everytime system suspends or restores. the workaround is not good for external disks as it disconnects them in unsafe way, just after sync. However, it works perfect for any other kind of devices, xhci restores in good condition.

create the file: /usr/lib/systemd/system-sleep/usb3.sh

usb3.sh find below

0000:04:00.0 is the number of my usb 3.0


case $1/$2 in

pre/*)

sync

echo -n "0000:04:00.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind

;;

post/*)

echo -n "0000:04:00.0" | tee /sys/bus/pci/drivers/xhci_hcd/bind

;;

esac

edit flag offensive delete link more

Question Tools

Stats

Asked: 2012-01-22 14:11:27 -0500

Seen: 2,810 times

Last updated: Apr 07 '14