# USB soundcard problem

## Kronoph

Hello!

I have a Lexicon Alpha USB soundcard, gentoo-sources-3.0.7, alsa-lib-1.0.24.1, alsa-plugins-1.0.24 (ALSA itself is compiled in the kernel). There is sound on my system, dmix works and does its job, but i can't get either jackd or simply recording working. When i try to record something through the built-in TRS instrumental input using Audacity, it just hangs and i have to killall it. After system booting there are such lines in dmesg:

```

…

[16466.921452] 5:2:2: cannot get freq at ep 0x82

[16466.925450] 5:2:2: cannot get freq at ep 0x82

[16466.929326] 5:2:1: cannot get freq at ep 0x82

[16466.931951] 5:2:1: cannot get freq at ep 0x82

[16984.309377] 5:2:2: cannot get freq at ep 0x82

[16984.309689] ehci_hcd 0000:00:1d.0: iso resched full ffff88013038b400 (now 1940 max 10132)

[16984.309692] cannot submit datapipe for urb 0, error -28: not enough bandwidth

```

They also appear when i run any programs that use sound, although i can hear the sound. Runnig jackd in capture-only or duplex modes gives:

```

…

control device hw:0

configuring for 44100Hz, period = 1024 frames (23.2 ms), buffer = 2 periods

ALSA: final selected sample format for capture: 24bit little-endian

ALSA: use 2 periods for capture

ALSA: could not start capture (Broken pipe)

Cannot start driver

JackServer::Start() failed with -1

Failed to start server

```

As i understand, it's a USB subsystem problem, not an alsa's, right? I've seen that some people don't have any troubles using it, so i think i could have configured something wrong. Either way, i need your help.

Thanks!   :Embarassed: 

----------

## turtles

You could post

```
 grep CONFIG_USB_ /usr/src/linux/.config
```

However are you sure the device is working properly and can handle what you are giving it?

----------

## Kronoph

 *turtles wrote:*   

> You could post
> 
> ```
>  grep CONFIG_USB_ /usr/src/linux/.config
> ```
> ...

 

Sorry i didn't. Here it is:

```

# CONFIG_USB_CATC is not set

# CONFIG_USB_KAWETH is not set

# CONFIG_USB_PEGASUS is not set

# CONFIG_USB_RTL8150 is not set

# CONFIG_USB_USBNET is not set

# CONFIG_USB_IPHETH is not set

CONFIG_USB_HID=y

# CONFIG_USB_HIDDEV is not set

CONFIG_USB_SUPPORT=y

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB=y

CONFIG_USB_DEBUG=y

CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

# CONFIG_USB_DEVICEFS is not set

# CONFIG_USB_DEVICE_CLASS is not set

# CONFIG_USB_DYNAMIC_MINORS is not set

CONFIG_USB_MON=y

# CONFIG_USB_WUSB is not set

# CONFIG_USB_WUSB_CBAF is not set

# CONFIG_USB_C67X00_HCD is not set

CONFIG_USB_XHCI_HCD=m

# CONFIG_USB_XHCI_HCD_DEBUGGING is not set

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_EHCI_ROOT_HUB_TT=y

# CONFIG_USB_EHCI_TT_NEWSCHED is not set

# CONFIG_USB_OXU210HP_HCD is not set

# CONFIG_USB_ISP116X_HCD is not set

# CONFIG_USB_ISP1760_HCD is not set

# CONFIG_USB_ISP1362_HCD is not set

CONFIG_USB_OHCI_HCD=y

# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set

# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_UHCI_HCD=y

# CONFIG_USB_SL811_HCD is not set

# CONFIG_USB_R8A66597_HCD is not set

# CONFIG_USB_WHCI_HCD is not set

# CONFIG_USB_HWA_HCD is not set

# CONFIG_USB_ACM is not set

CONFIG_USB_PRINTER=m

# CONFIG_USB_WDM is not set

# CONFIG_USB_TMC is not set

CONFIG_USB_STORAGE=y

# CONFIG_USB_STORAGE_DEBUG is not set

# CONFIG_USB_STORAGE_REALTEK is not set

# CONFIG_USB_STORAGE_DATAFAB is not set

# CONFIG_USB_STORAGE_FREECOM is not set

# CONFIG_USB_STORAGE_ISD200 is not set

# CONFIG_USB_STORAGE_USBAT is not set

# CONFIG_USB_STORAGE_SDDR09 is not set

# CONFIG_USB_STORAGE_SDDR55 is not set

# CONFIG_USB_STORAGE_JUMPSHOT is not set

# CONFIG_USB_STORAGE_ALAUDA is not set

# CONFIG_USB_STORAGE_ONETOUCH is not set

# CONFIG_USB_STORAGE_KARMA is not set

# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set

# CONFIG_USB_STORAGE_ENE_UB6250 is not set

CONFIG_USB_UAS=y

# CONFIG_USB_LIBUSUAL is not set

# CONFIG_USB_MDC800 is not set

# CONFIG_USB_MICROTEK is not set

# CONFIG_USB_SERIAL is not set

# CONFIG_USB_EMI62 is not set

# CONFIG_USB_EMI26 is not set

# CONFIG_USB_ADUTUX is not set

# CONFIG_USB_SEVSEG is not set

# CONFIG_USB_RIO500 is not set

# CONFIG_USB_LEGOTOWER is not set

# CONFIG_USB_LCD is not set

# CONFIG_USB_LED is not set

# CONFIG_USB_CYPRESS_CY7C63 is not set

# CONFIG_USB_CYTHERM is not set

# CONFIG_USB_IDMOUSE is not set

# CONFIG_USB_FTDI_ELAN is not set

# CONFIG_USB_APPLEDISPLAY is not set

# CONFIG_USB_SISUSBVGA is not set

# CONFIG_USB_LD is not set

# CONFIG_USB_TRANCEVIBRATOR is not set

# CONFIG_USB_IOWARRIOR is not set

# CONFIG_USB_TEST is not set

# CONFIG_USB_ISIGHTFW is not set

# CONFIG_USB_YUREX is not set

# CONFIG_USB_GADGET is not set

```

I've just tried a Ubuntu livecd and got Audacity working, although i had "cannot get freq at ep..." too.

 *Quote:*   

> However are you sure the device is working properly and can handle what you are giving it?

 

Yes, it's been working for about 3 weeks (constant playback), i have never had troubles except using jackd and capture

----------

## turtles

Do you have other usb stuff on the same bus using bandwith?

Just a shot in the dark but try unplugging all other USB stuff.

Drives, mouse keyboard etc. ?

----------

## NeddySeagoon

Kronoph,

```
CONFIG_USB_DEBUG=y
```

 needs to be off.  It generates so much logspam that it prevents USB from working properly.

Every transaction is logged.

Sughy of yor /proc/bus/usb/devices file ould be useful too, you will need to turn on # CONFIG_USB_DEVICEFS is not set to get it.

----------

## Kronoph

turtles, NeddySeagoon,

Thanks for the replies, but i've found the solution -> http://forum.soft32.com/linux/NSLU2-USB-Sound-error-28-CONFIG_USB_EHCI_TT_NEWSCHED-ftopict312399.html

CONFIG_USB_EHCI_TT_NEWSCHED must be enabled. Although i've got rid of 

```
[16984.309689] ehci_hcd 0000:00:1d.0: iso resched full ffff88013038b400 (now 1940 max 10132)

[16984.309692] cannot submit datapipe for urb 0, error -28: not enough bandwidth
```

 i still get 

```
[16466.921452] 5:2:2: cannot get freq at ep 0x82 
```

However, it doesn't seem to affect anything. Audacity capturing now works and jackd starts in capture mode too (still not in duplex, but i think it's a matter of jack's configuration).

----------

## Kronoph

I was wrong. After a day of proper working i see the bandwidth errors again

----------

## NeddySeagoon

Kronoph,

Post the information I asked for.

If USB Tranaction Translation works for you (its hardware dependent) turn off OHCI_HCD and UHCI_HCD.  

USB Tranaction Translation allows USB2 drivers and hardware to work with USB1 devices if your hardware supports Tranaction Translation.

IF it doesn't none of your USB1 devices will work when OHCI_HCD and UHCI_HCD are removed - that includes USB keyboards and Mice.

Be sure you can ssh into th box before you run this experiment ... the alternative is to power off to regain control.

----------

## Kronoph

NeddySeagoon,

I've already made OHCI_HCD and UHCI_HCD disabled and mice and keyboards work. Here's the usb info:

```

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 2

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1

P:  Vendor=1d6b ProdID=0003 Rev= 3.00

S:  Manufacturer=Linux 3.0.7-gentoo xhci_hcd

S:  Product=xHCI Host Controller

S:  SerialNumber=0000:02:00.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=   4 Ivl=256ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1

P:  Vendor=1d6b ProdID=0002 Rev= 3.00

S:  Manufacturer=Linux 3.0.7-gentoo xhci_hcd

S:  Product=xHCI Host Controller

S:  SerialNumber=0000:02:00.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=   4 Ivl=256ms

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5  MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=05af ProdID=0802 Rev= 1.92

S:  Manufacturer= 

S:  Product=USB Keyboard

C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA

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=00 Prot=00 Driver=usbhid

E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=1.5  MxCh= 0

D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0458 ProdID=003a Rev= 0.00

S:  Manufacturer=Genius

S:  Product=Laser Mouse

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2

B:  Alloc=  0/800 us ( 0%), #Int=  1, #Iso=  0

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=1d6b ProdID=0002 Rev= 3.00

S:  Manufacturer=Linux 3.0.7-gentoo ehci_hcd

S:  Product=EHCI Host Controller

S:  SerialNumber=0000:00:1d.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=   4 Ivl=256ms

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 8

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1

P:  Vendor=8087 ProdID=0024 Rev= 0.00

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=256ms

T:  Bus=02 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#=  3 Spd=12   MxCh= 0

D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=1210 ProdID=000a Rev= 0.01

S:  Manufacturer=Lexicon

S:  Product=Lexicon Alpha

C:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=500mA

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= 192 Ivl=1ms

I:  If#= 1 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio

E:  Ad=01(O) Atr=0d(Isoc) MxPS= 288 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= 192 Ivl=1ms

I:  If#= 2 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio

E:  Ad=82(I) Atr=0d(Isoc) MxPS= 288 Ivl=1ms

I:* If#= 4 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2

B:  Alloc=  0/800 us ( 0%), #Int=  1, #Iso=  0

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=1d6b ProdID=0002 Rev= 3.00

S:  Manufacturer=Linux 3.0.7-gentoo ehci_hcd

S:  Product=EHCI Host Controller

S:  SerialNumber=0000:00:1a.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=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 6

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1

P:  Vendor=8087 ProdID=0024 Rev= 0.00

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=   1 Ivl=256ms

```

I've googled that to get a usb soundcard working properly you have to remove all the other usb devices form the hub where you connected the card. I have two usb 3.0 ports, so i thought they might have another controller or hub (whatever) than usb 2.0 ports. I just put my mouse and keyborad into the 3.0 ports and now i can start jackd in duplex mode without "broken pipe" error. Putting the card into a 3.0 port doesn't allow to capture. I also haven't seen the bandwidth error yet (hope it won't appear after a day again).

----------

