On 1/10/07, Alan Stern <[EMAIL PROTECTED]> wrote: > There is no way to prevent a USB device without a driver from being > suspended. Perhaps we need one. On the other hand, USB devices _are_ > supposed to be able to suspend and resume with no ill effects -- it's part > of the spec. > > I still would like to figure out exactly what goes wrong when the device > gets resumed just before snd-usb-audio is bound to it. One way to attack > this is to rename snd-usb-audio.ko so that it can't be loaded > automatically. Then after the device is plugged in and suspended, you can > insmod the driver by hand and see what happens.
This doesn't help but it is complicated because the PSC805 also includes a USBHID component. I can't skip binding the HID without losing my keyboard. > If nothing else, the driver could try to reset the device. You can try > testing that approach by hand as well. I posted a program to reset a USB > device here: > > http://marc.theaimsgroup.com/?l=linux-usb-users&m=116827193506484&w=2 > > You could run that program immediately prior to insmod-ing the driver (in > a shell script or separated by a ';') -- as long as the gap between the > two commands is less than 2 seconds the device won't get suspended again. This works and recovers the device. from boot... Jan 10 11:53:18 jonsmirl kernel: usb 2-1: new full speed USB device using uhci_hcd and address 2 Jan 10 11:53:18 jonsmirl kernel: usb 2-1: ep0 maxpacket = 8 Jan 10 11:53:18 jonsmirl kernel: usb 2-1: skipped 8 descriptors after interface Jan 10 11:53:18 jonsmirl kernel: usb 2-1: skipped 2 descriptors after interface Jan 10 11:53:18 jonsmirl kernel: usb 2-1: skipped 1 descriptor after endpoint Jan 10 11:53:18 jonsmirl kernel: usb 2-1: skipped 2 descriptors after interface Jan 10 11:53:18 jonsmirl kernel: usb 2-1: skipped 1 descriptor after endpoint Jan 10 11:53:18 jonsmirl kernel: usb 2-1: skipped 1 descriptor after interface Jan 10 11:53:18 jonsmirl kernel: usb 2-1: default language 0x0409 Jan 10 11:53:18 jonsmirl kernel: usb 2-1: new device strings: Mfr=1, Product=2, SerialNumber=0 Jan 10 11:53:18 jonsmirl kernel: usb 2-1: Product: Philips PSC805 Jan 10 11:53:18 jonsmirl kernel: usb 2-1: Manufacturer: Philips Electronics Jan 10 11:53:18 jonsmirl kernel: usb 2-1: uevent Jan 10 11:53:18 jonsmirl kernel: usb 2-1: usb_probe_device Jan 10 11:53:18 jonsmirl kernel: usb 2-1: configuration #1 chosen from 1 choice Jan 10 11:53:18 jonsmirl kernel: usb 2-1: adding 2-1:1.0 (config #1, interface 0) Jan 10 11:53:18 jonsmirl kernel: usb 2-1:1.0: uevent Jan 10 11:53:18 jonsmirl kernel: usb 2-1: adding 2-1:1.1 (config #1, interface 1) Jan 10 11:53:18 jonsmirl kernel: usb 2-1:1.1: uevent Jan 10 11:53:18 jonsmirl kernel: usb 2-1: adding 2-1:1.2 (config #1, interface 2) Jan 10 11:53:18 jonsmirl kernel: usb 2-1:1.2: uevent Jan 10 11:53:18 jonsmirl kernel: usb 2-1: adding 2-1:1.3 (config #1, interface 3) Jan 10 11:53:18 jonsmirl kernel: usb 2-1:1.3: uevent Jan 10 11:53:18 jonsmirl kernel: usb 2-1: usb auto-suspend Jan 10 11:53:18 jonsmirl kernel: usb 2-1: uevent Jan 10 11:53:18 jonsmirl kernel: usb 2-1:1.0: uevent Jan 10 11:53:18 jonsmirl kernel: usb 2-1:1.1: uevent Jan 10 11:53:18 jonsmirl kernel: usb 2-1:1.2: uevent Jan 10 11:53:18 jonsmirl kernel: usb 2-1:1.3: uevent hid binds Jan 10 11:53:18 jonsmirl kernel: usbhid 2-1:1.3: usb_probe_interface Jan 10 11:53:18 jonsmirl kernel: usbhid 2-1:1.3: usb_probe_interface - got id Jan 10 11:53:18 jonsmirl kernel: usb 2-1: usb auto-resume Jan 10 11:53:18 jonsmirl kernel: usb 2-1: finish resume this resume did not work I reset the device, insmod snd-usb-audio and everything works Jan 10 12:00:44 jonsmirl kernel: usbhid 2-1:1.3: suspend Jan 10 12:00:44 jonsmirl kernel: usb 2-1: reset full speed USB device using uhci_hcd and address 2 Jan 10 12:00:44 jonsmirl kernel: usb 2-1: ep0 maxpacket = 8 Jan 10 12:00:44 jonsmirl kernel: usbhid 2-1:1.3: resume status 0 Jan 10 12:00:44 jonsmirl kernel: snd-usb-audio 2-1:1.0: usb_probe_interface Jan 10 12:00:44 jonsmirl kernel: snd-usb-audio 2-1:1.0: usb_probe_interface - got id I'll do another reboot and load the snd driver automatically. I bet that I just need a reset to get things going. I am also working on the zd1211rw driver. There have been a bunch of reports about that driver not initializing at boot. The main developer has now added a USB reset to the driver when it first comes up to fix things. This may be a related problem. -- Jon Smirl [EMAIL PROTECTED] ------------------------------------------------------------------------- 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