On Thu, 15 Feb 2007, Raphael Assenat wrote: > > Okay. This says that RHSC works correctly while the controller is > > running, but it doesn't work when the controller is suspended. > hmm. So that's a bug in the chip? Would preventing this specific > controller from being suspended be an acceptable solution? What are > the implication of not suspending the controller when all the ports > are free? > > lspci entry for this controller: > 0000:00:01.4 0c03: 1283:8152 (rev 07) > > > > Post a copy of the contents of /sys/class/usb_host/usb_host2/registers > > while no devices are plugged in, and then again after you plug in a device > > and nothing happens. > Here. Apparently nothing changes... > > ** no devices plugged in: > bus pci, device 0000:00:01.4 > OHCI Host Controller > ohci_hcd version 2006 August 04 > OHCI 1.0, NO legacy support registers > control 0x0c3 HCFS=suspend CBSR=3 > cmdstatus 0x00000 SOC=0 > intrstatus 0x00000024 FNO SF > intrenable 0x8000004a MIE RHSC RD WDH > ed_controlhead a3df30c0 > ed_bulkhead a3df3080 > hcca frame 0x9b0b > fmintvl 0xa7782edf FIT FSMPS=0xa778 FI=0x2edf > fmremaining 0x80001ea0 FRT FR=0x1ea0 > periodicstart 0x2a2f > lsthresh 0x0628 > hub poll timer off > roothub.a 01000202 POTPGT=1 NPS NDP=2(2) > roothub.b 00000000 PPCM=0000 DR=0000 > roothub.status 00008000 DRWE > roothub.portstatus [0] 0x00000100 PPS > roothub.portstatus [1] 0x00000100 PPS > > ** with 1 device plugged in: > bus pci, device 0000:00:01.4 > OHCI Host Controller > ohci_hcd version 2006 August 04 > OHCI 1.0, NO legacy support registers > control 0x0c3 HCFS=suspend CBSR=3 > cmdstatus 0x00000 SOC=0 > intrstatus 0x00000024 FNO SF > intrenable 0x8000004a MIE RHSC RD WDH > ed_controlhead a3df30c0 > ed_bulkhead a3df3080 > hcca frame 0x9b0b > fmintvl 0xa7782edf FIT FSMPS=0xa778 FI=0x2edf > fmremaining 0x80001ea0 FRT FR=0x1ea0 > periodicstart 0x2a2f > lsthresh 0x0628 > hub poll timer off > roothub.a 01000202 POTPGT=1 NPS NDP=2(2) > roothub.b 00000000 PPCM=0000 DR=0000 > roothub.status 00008000 DRWE > roothub.portstatus [0] 0x00000100 PPS > roothub.portstatus [1] 0x00000100 PPS
Wow, that's really buggy! Not only is there no interrupt request, the port status shows that the chip doesn't even know you plugged in the device. Clearly the chip's wakeup function is completely broken. The only way you can get it to work is to prevent the controller from ever being suspended. You can do that putting these lines in a system startup file: echo disabled >/sys/bus/usb/devices/usb2/power/wakeup echo -n 0 >/sys/bus/usb/devices/usb2/power/state Note that you will need to keep the CONFIG_PM_SYSFS_DEPRECATED option for that second line to work properly. Alan Stern ------------------------------------------------------------------------- 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