usb soundcard not found on boot

Hi,

More than 90% of the cases my Terratec Phase 26 usb soundcard is not recognised during bootup. Sometimes, however, it does work (and for several weeks it keeps finding the thing each time I boot), but most of the cases it refuses. The solution is rather simple, is I just need to unplug and re-plug the device to get it working.

Although I don’t really consider it a lifethreatening issue, it’s been troubling me for some years now, first when I runned gentoo, and now running opensuse11.1. Still, I had enough, it should work.

Some output:

# dmesg|grep usb
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
usb usb1: configuration #1 chosen from 1 choice
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.27.25-0.1-default ehci_hcd
usb usb1: SerialNumber: 0000:00:02.1
usb usb2: configuration #1 chosen from 1 choice
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: OHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.27.25-0.1-default ohci_hcd
usb usb2: SerialNumber: 0000:00:02.0
usb 2-2: new full speed USB device using ohci_hcd and address 2
usb 2-2: device descriptor read/64, error -62
usb 2-2: device descriptor read/64, error -62
usb 2-2: new full speed USB device using ohci_hcd and address 3
usb 2-2: device descriptor read/64, error -62
usb 2-2: device descriptor read/64, error -62
usb 2-2: new full speed USB device using ohci_hcd and address 4
usb 2-2: device not accepting address 4, error -62
usb 2-2: new full speed USB device using ohci_hcd and address 5
usb 2-2: device not accepting address 5, error -62
usb 2-4: new low speed USB device using ohci_hcd and address 6
usb 2-4: configuration #1 chosen from 1 choice
usb 2-4: New USB device found, idVendor=046d, idProduct=c512
usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-4: Product: USB Receiver
usb 2-4: Manufacturer: Logitech
usbcore: registered new interface driver hiddev
input: Logitech USB Receiver as /devices/pci0000:00/0000:00:02.0/usb2/2-4/2-4:1.0/input/input3
input,hidraw0: USB HID v1.10 Keyboard [Logitech USB Receiver] on usb-0000:00:02.0-4
input: Logitech USB Receiver as /devices/pci0000:00/0000:00:02.0/usb2/2-4/2-4:1.1/input/input4
input,hidraw1: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:02.0-4
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
usbcore: registered new interface driver snd-usb-audio

This shows the error “device descriptor read/64, error -XX”, which is found a zillion of times on the internet, but most of the time without (real) answers.

  • Some of the hints are unloading the ehci_hcd module, but this would make my usb2.0 devices work very slowly. Moreover, to do this at startup, I should mess around in modprobe.conf (in which is defined that ehci_hcd is automatically loaded whenever/before ohci_hcd gets inserted…).
  • Other hints include passing module options to usbcore (in /etc/modprobe.d/usbcore: options usbcore old_scheme_first=Y use_both_schemes=Y), but whatever variant I try (replacing Y by 1,…), after reboot /sys/module/usbcore/parameters/old_scheme_first is still set to “N”. Very fustrating.
  • I tried resetting the usb-device with this little program (‘Re: re-enumerating the device’ - MARC](http://marc.info/?l=linux-usb&m=121459435621262&w=2)), but it doesn’t work. (actually, I tried resetting the whole ohci-device itself (/proc/bus/usb/002/001) since my soundcard has’t got enumerated at all).

To conclude, this is what I get when I unplug/replug the device:

# dmesg|grep usb
...]
usb 2-2: new full speed USB device using ohci_hcd and address 7
usb 2-2: configuration #1 chosen from 1 choice
usb 2-2: New USB device found, idVendor=0ccd, idProduct=0013
usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=4
usb 2-2: Product: PHASE 26 USB(16/48)
usb 2-2: Manufacturer: TerraTec
usb 2-2: SerialNumber: 11001

# cat /proc/bus/usb/devices

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh=10
B:  Alloc= 28/900 us ( 3%), #Int=  2, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0001 Rev= 2.06
S:  Manufacturer=Linux 2.6.27.25-0.1-default ohci_hcd
S:  Product=OHCI Host Controller
S:  SerialNumber=0000:00:02.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  7 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0ccd ProdID=0013 Rev= 1.10
S:  Manufacturer=TerraTec
S:  Product=PHASE 26 USB(16/48)
S:  SerialNumber=11001
C:* #Ifs= 4 Cfg#= 1 Atr=c0 MxPwr=300mA
I:* If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:* If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E:  Ad=01(O) Atr=0d(Isoc) MxPS= 600 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E:  Ad=82(I) Atr=0d(Isoc) MxPS= 200 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=03 Prot=00 Driver=snd-usb-audio
E:  Ad=05(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=86(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

T:  Bus=02 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#=  6 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c512 Rev=30.07
S:  Manufacturer=Logitech
S:  Product=USB Receiver
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 98mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh=10
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 2.06
S:  Manufacturer=Linux 2.6.27.25-0.1-default ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=0000:00:02.1
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

Any ideas how to solve this?
Or does someone know to virtually unplug/replug a non-recognised usb-device?

Thanks.

Have you tried unloading that sound module and loading again with /etc/init.d/boot.local ?

You could also try unloading then unloading ehci_hcd in /etc/init.d/boot.local

un- and reloading of ehci_hcd and snd_usb_audio don’t work: I tried several sequences without success. Reloading ehci_hcd results again in the same “device descriptor read/64, error -62”
errors.

I also tried the supplied (much shorter) usb cable instead of the 4m cable I usualy use, again without success. I thought the errors might be due to power loss or time-out issues associated with this longer cable. Clearly not.

Have you tried newer kernel? I guess if that won’t work then you should file a BUG.

P.S.To be honest, i also have sometimes (very rarely) that BUG when i have my USB stick connected.

During the 2 years I use this soundcard, I had a lot of different kernels running. (I had a regularly updated gentoo, until the beginning of this year) I had this issue with all kernels :frowning: