usb audio: cannot get ctl value: req = 0x81, wValue = 0x0, wIndex = 0x1400, type = 3

Bug #1267866 reported by Ionică Bizău on 2014-01-10
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
Undecided
Unassigned

Bug Description

I typed in terminal:

    alsamixer

Then I wanted to change the sound card (I have connected an external sound card via USB).

I pressed F6, selected the external sound card and pressed enter.

alsamixer crashed and outputed:

    cannot load mixer controls: Broken pipe

My ALSA information is located at http://www.alsa-project.org/db/?f=1871c086b58a2965d18cfb38483794788187edfb

Raymond (superquad-vortex2) wrote :

USB Mixer: usb_id=0x1043857c, ctrlif=0, ctlerr=0
Card: ASUS Xonar U7 at usb-0000:00:1d.0-1.1, high speed

Unit: 20
    Control: name="PCM Capture Source", index=0
    Info: id=20, control=0, cmask=0x0, channels=1, type="U8"
    Volume: min=1, max=2, dBmin=0, dBmax=0

post output of your xonar u7 usb

lsusb -vvvv

Changed in alsa-driver (Ubuntu):
status: New → Incomplete
Ionică Bizău (bizauionica) wrote :
Download full text (170.6 KiB)

Ok, below you have it:

$ lsusb -vvvv

Bus 002 Device 008: ID 1043:857c iCreate Technologies Corp.
Couldn't open device, some information will be missing
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 239 Miscellaneous Device
  bDeviceSubClass 2 ?
  bDeviceProtocol 1 Interface Association
  bMaxPacketSize0 64
  idVendor 0x1043 iCreate Technologies Corp.
  idProduct 0x857c
  bcdDevice 1.10
  iManufacturer 1
  iProduct 2
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 1010
    bNumInterfaces 5
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0x80
      (Bus Powered)
    MaxPower 500mA
    Interface Association:
      bLength 8
      bDescriptorType 11
      bFirstInterface 0
      bInterfaceCount 4
      bFunctionClass 1 Audio
      bFunctionSubClass 0
      bFunctionProtocol 32
      iFunction 0
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 1
      bInterfaceClass 1 Audio
      bInterfaceSubClass 1 Control Device
      bInterfaceProtocol 32
      iInterface 0
      AudioControl Interface Descriptor:
        bLength 9
        bDescriptorType 36
        bDescriptorSubtype 1 (HEADER)
        bcdADC 2.00
        bCategory 10
        wTotalLength 256
        bmControl 0x00
      AudioControl Interface Descriptor:
        bLength 17
        bDescriptorType 36
        bDescriptorSubtype 2 (INPUT_TERMINAL)
        bTerminalID 1
        wTerminalType 0x0101 USB Streaming
        bAssocTerminal 0
        bCSourceID 18
        bNrChannels 0
        bmChannelConfig 0x00000000
        bmControls 0x0040
          Cluster Control (read-only)
        iChannelNames 0
        iTerminal 0
      AudioControl Interface Descriptor:
        bLength 17
        bDescriptorType 36
        bDescriptorSubtype 2 (INPUT_TERMINAL)
        bTerminalID 2
        wTerminalType 0x0101 USB Streaming
        bAssocTerminal 0
        bCSourceID 19
        bNrChannels 0
        bmChannelConfig 0x00000000
        bmControls 0x0040
          Cluster Control (read-only)
        iChannelNames 0
        iTerminal 0
      AudioControl Interface Descriptor:
        bLength 17
        bDescriptorType 36
        bDescriptorSubtype 2 (INPUT_TERMINAL)
        bTerminalID 4
        wTerminalType 0x0201 Microphone
        bAssocTerminal 0
        bCSourceID 22
       ...

Changed in alsa-driver (Ubuntu):
status: Incomplete → New
Ionică Bizău (bizauionica) wrote :

To see the full comment above without download any txt file, click here: http://pastebin.com/jQheHirx

Raymond (superquad-vortex2) wrote :

alsactl store -f abc.txt

post the output of abc.txt

!!-------Mixer controls for card 1 [U7]

amixer: Mixer load hw:1 error: Broken pipe
Card hw:1 'U7'/'ASUS Xonar U7 at usb-0000:00:1d.0-1.1, high speed'
  Mixer name : 'USB Mixer'
  Components : 'USB1043:857c'
  Controls : 7
amixer: Mixer hw:1 load error: Broken pipe

Unit: 13
    Control: name="Speaker Playback Volume", index=0
    Info: id=13, control=2, cmask=0xff, channels=8, type="S16"
    Volume: min=-32512, max=0, dBmin=-12700, dBmax=0

AudioControl Interface Descriptor:
        bLength 42
        bDescriptorType 36
        bDescriptorSubtype 6 (FEATURE_UNIT)
        bUnitID 13
        bSourceID 1
        bmaControls( 0) 0x00000003
          Mute Control (read/write)
        bmaControls( 1) 0x00c0000c
          Volume Control (read/write)
          Input gain pad Control (read/write)
        bmaControls( 2) 0x00c0000c
          Volume Control (read/write)
          Input gain pad Control (read/write)
        bmaControls( 3) 0x0000000c
          Volume Control (read/write)
        bmaControls( 4) 0x0000000c
          Volume Control (read/write)
        bmaControls( 5) 0x0000000c
          Volume Control (read/write)
        bmaControls( 6) 0x0000000c
          Volume Control (read/write)
        bmaControls( 7) 0x0000000c
          Volume Control (read/write)
        bmaControls( 8) 0x0000000c
          Volume Control (read/write)
        iFeature 0

Ionică Bizău (bizauionica) wrote :

An error is thrown:

    $ alsactl store -f abc.txt
    alsactl: get_control:256: Cannot read control '2,0,0,PCM Capture Source,0': Broken pipe

Also, one clue: in the external sound card (the hardware element) I have a switcher: USB Audio 2.0 and USB Audio 1.0.

When 2.0 is selected the laptop recognizes it as "Xonar U7". The error appears only when 2.0 is selected.

If I select 1.0 the laptop recognizes it as "USB Audio Device" - the error does NOT appear. I can select it.

Is this helpful? What is USB Audio must I choose?

Ionică Bizău (bizauionica) wrote :
Download full text (7.1 KiB)

When USB Audio 1.0 is selected the output of abc.txt is:

state.PCH {
 control.1 {
  iface MIXER
  name 'Headphone Playback Volume'
  value.0 87
  value.1 87
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 87'
   dbmin -6525
   dbmax 0
   dbvalue.0 0
   dbvalue.1 0
  }
 }
 control.2 {
  iface MIXER
  name 'Headphone Playback Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.3 {
  iface MIXER
  name 'Speaker Playback Volume'
  value.0 87
  value.1 87
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 87'
   dbmin -6525
   dbmax 0
   dbvalue.0 0
   dbvalue.1 0
  }
 }
 control.4 {
  iface MIXER
  name 'Speaker Playback Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.5 {
  iface MIXER
  name 'Mic Playback Volume'
  value.0 0
  value.1 0
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 31'
   dbmin -3450
   dbmax 1200
   dbvalue.0 -3450
   dbvalue.1 -3450
  }
 }
 control.6 {
  iface MIXER
  name 'Mic Playback Switch'
  value.0 false
  value.1 false
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.7 {
  iface MIXER
  name 'Auto-Mute Mode'
  value Enabled
  comment {
   access 'read write'
   type ENUMERATED
   count 1
   item.0 Disabled
   item.1 Enabled
  }
 }
 control.8 {
  iface MIXER
  name 'Capture Volume'
  value.0 25
  value.1 25
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 63'
   dbmin -1725
   dbmax 3000
   dbvalue.0 150
   dbvalue.1 150
  }
 }
 control.9 {
  iface MIXER
  name 'Capture Switch'
  value.0 true
  value.1 true
  comment {
   access 'read write'
   type BOOLEAN
   count 2
  }
 }
 control.10 {
  iface MIXER
  name 'Mic Boost Volume'
  value.0 0
  value.1 0
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 3'
   dbmin 0
   dbmax 3000
   dbvalue.0 0
   dbvalue.1 0
  }
 }
 control.11 {
  iface MIXER
  name 'Internal Mic Boost Volume'
  value.0 1
  value.1 1
  comment {
   access 'read write'
   type INTEGER
   count 2
   range '0 - 3'
   dbmin 0
   dbmax 3000
   dbvalue.0 1000
   dbvalue.1 1000
  }
 }
 control.12 {
  iface MIXER
  name 'Master Playback Volume'
  value 60
  comment {
   access 'read write'
   type INTEGER
   count 1
   range '0 - 87'
   dbmin -6525
   dbmax 0
   dbvalue.0 -2025
  }
 }
 control.13 {
  iface MIXER
  name 'Master Playback Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.14 {
  iface CARD
  name 'Mic Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.15 {
  iface CARD
  name 'Internal Mic Phantom Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.16 {
  iface CARD
  name 'Headphone Jack'
  value false
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.17 {
  iface CARD
  name 'Speaker Phantom Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }
 control.18 {
  iface PCM
  name 'Playback Channel Map'
  value.0 0
  value.1 0
  comment {
   ...

Read more...

Raymond (superquad-vortex2) wrote :

not sure why you have three playback devices

it is strange that there are no capture device 0

you may need to send email to alsa-devel mailing list

http://www.asus.com/Sound_Cards_and_DigitaltoAnalog_Converters/Xonar_U7/#specifications

Analog Output
4 x 3.5 mm jack (1/8") (Headphone out /Side out/Center-Subwoofer out/Rear out)
2 x RCA (Un-Balanced)
Analog Input
1 x 3.5 mm jack (1/8") (Line-in/ Mic-in combo)
Digital
1 x S/PDIF out (1 x Coaxial)

APLAY

**** List of PLAYBACK Hardware Devices ****
card 1: U7 [Xonar U7], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: U7 [Xonar U7], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: U7 [Xonar U7], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 1: U7 [Xonar U7], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

http://git.alsa-project.org/?p=alsa-lib.git;a=blob_plain;f=test/chmap.c;hb=HEAD

state.Device {
 control.1 {
  iface PCM
  name 'Playback Channel Map'
  value.0 0
  value.1 0
  comment {
   access read
   type INTEGER
   count 2
   range '0 - 36'
  }
 }
 control.2 {
  iface PCM
  device 1
  name 'Playback Channel Map'
  value.0 0
  value.1 0
  comment {
   access read
   type INTEGER
   count 2
   range '0 - 36'
  }
 }
 control.3 {
  iface MIXER
  name 'PCM Playback Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.4 {
  iface MIXER
  name 'PCM Playback Switch'
  index 1
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.5 {
  iface MIXER
  name 'PCM Playback Volume'
  value.0 107
  value.1 107
  value.2 107
  value.3 107
  value.4 107
  value.5 107
  value.6 107
  value.7 107
  comment {
   access 'read write'
   type INTEGER
   count 8
   range '0 - 127'
   dbmin -12700
   dbmax 0
   dbvalue.0 -2000
   dbvalue.1 -2000
   dbvalue.2 -2000
   dbvalue.3 -2000
   dbvalue.4 -2000
   dbvalue.5 -2000
   dbvalue.6 -2000
   dbvalue.7 -2000
  }
 }
 control.6 {
  iface MIXER
  name 'Mic Capture Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.7 {
  iface MIXER
  name 'Line Capture Switch'
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.8 {
  iface MIXER
  name 'PCM Capture Source'
  value Mic
  comment {
   access 'read write'
   type ENUMERATED
   count 1
   item.0 Mic
   item.1 Line
  }
 }
}

Ionică Bizău (bizauionica) wrote :

Does they support Linux? I don't think so... I have a cd with Windows drivers.
Is there any driver for Linux?

What to tell them in the email?

Raymond (superquad-vortex2) wrote :

[94274.174745] ehci-pci 0000:00:1a.0: setting latency timer to 64
[94274.174831] snd_hda_intel 0000:00:1b.0: irq 45 for MSI/MSI-X
[94274.174884] ahci 0000:00:1f.2: setting latency timer to 64
--
[95820.614895] ahci 0000:00:1f.2: setting latency timer to 64
[95820.614976] snd_hda_intel 0000:00:1b.0: irq 45 for MSI/MSI-X
[95820.615075] ehci-pci 0000:00:1d.0: setting latency timer to 64
--

can you post the system log ?

did you compter suspend and resume ?

> Does they support Linux? I don't think so... I have a cd with Windows drivers.
> Is there any driver for Linux?

> What to tell them in the email?

 bcdUSB 2.00
  bDeviceClass 239 Miscellaneous Device

your lsusb output did not contain any vendor specific class

but a lot of UAC2 feature which may not support in current alsa usb driver (.e.g three clock source, ...

missing capture device 0

 bDescriptorSubtype 10 (CLOCK_SOURCE)
        bClockID 18
        bmAttributes 0x03 Internal programmable Clock

     bDescriptorSubtype 3 (OUTPUT_TERMINAL)
        bTerminalID 8
        wTerminalType 0x0605 SPDIF interface

Raymond (superquad-vortex2) wrote :

bmControls 0x0044
Connector Control (read-only)
 Cluster Control (read-only)

there are some real only controls

Ionică Bizău (bizauionica) wrote :

> your lsusb output did not contain any vendor specific class

The vendor specific informations appear only when USB Audio 2.0 is selected, but unfortunately when it is selected lsusb throws an error

When USB Audio 2.0 is selected I am able to see in alsa mixer -> F6 "Xonar ..." option. When I select it alsamixer crashes.

> can you post the system log ?

What command to run for that?

> did you compter suspend and resume ?
What you mean?

Where I can find the contact information of guys that wrote the Linux driver?

Raymond (superquad-vortex2) wrote :

do you find any error message in system log (dmesg) ?

An error is thrown:

    $ alsactl store -f abc.txt
    alsactl: get_control:256: Cannot read control '2,0,0,PCM Capture Source,0': Broken pipe

Unit: 20
    Control: name="PCM Capture Source", index=0
    Info: id=20, control=0, cmask=0x0, channels=1, type="U8"
    Volume: min=1, max=2, dBmin=0, dBmax=0

control.8 {
  iface MIXER
  name 'PCM Capture Source'
  value Mic
  comment {
   access 'read write'
   type ENUMERATED
   count 1
   item.0 Mic
   item.1 Line
  }

AudioControl Interface Descriptor:
        bLength 9
        bDescriptorType 36
        bDescriptorSubtype 1 (HEADER)
        bcdADC 2.00
        bCategory 10
        wTotalLength 256
        bmControl 0x00
      AudioControl Interface Descriptor:
        bLength 17
        bDescriptorType 36
        bDescriptorSubtype 2 (INPUT_TERMINAL)
        bTerminalID 1
        wTerminalType 0x0101 USB Streaming
        bAssocTerminal 0
        bCSourceID 18
        bNrChannels 0
        bmChannelConfig 0x00000000
        bmControls 0x0040
          Cluster Control (read-only)
        iChannelNames 0
        iTerminal 0
      AudioControl Interface Descriptor:
        bLength 17
        bDescriptorType 36
        bDescriptorSubtype 2 (INPUT_TERMINAL)
        bTerminalID 2
        wTerminalType 0x0101 USB Streaming
        bAssocTerminal 0
        bCSourceID 19
        bNrChannels 0
        bmChannelConfig 0x00000000
        bmControls 0x0040
          Cluster Control (read-only)
        iChannelNames 0
        iTerminal 0
      AudioControl Interface Descriptor:
        bLength 17
        bDescriptorType 36
        bDescriptorSubtype 2 (INPUT_TERMINAL)
        bTerminalID 4
        wTerminalType 0x0201 Microphone
        bAssocTerminal 0
        bCSourceID 22
        bNrChannels 2
        bmChannelConfig 0x00000003
          Front Left (FL)
          Front Right (FR)
        bmControls 0x0044
          Connector Control (read-only)
          Cluster Control (read-only)
        iChannelNames 0
        iTerminal 0
      AudioControl Interface Descriptor:
        bLength 17
        bDescriptorType 36
        bDescriptorSubtype 2 (INPUT_TERMINAL)
        bTerminalID 5
        wTerminalType 0x0603 Line Connector
        bAssocTerminal 0
        bCSourceID 22
        bNrChannels 2
        bmChannelConfig 0x00000003
          Front Left (FL)
          Front Right (FR)
        bmControls 0x0044
          Connector Control (read-only)
          Cluster Control (read-only)
        iChannelNames 0
        iTerminal 0

Ionică Bizău (bizauionica) wrote :

Look below:

$ sudo dmesg -C
$ alsactl store -f abc.txt
alsactl: get_control:256: Cannot read control '2,0,0,PCM Capture Source,0': Broken pipe
$ dmesg
[ 398.119996] cannot get ctl value: req = 0x81, wValue = 0x0, wIndex = 0x1400, type = 3

Raymond (superquad-vortex2) wrote :

it is strange that

bNrChannels 0

summary: - Broken pipelline when changing the sound card
+ usb audio: cannot get ctl value: req = 0x81, wValue = 0x0, wIndex =
+ 0x1400, type = 3
Ionică Bizău (bizauionica) wrote :

I will add the steps to reproduce the problem but it requires to have a external audio card.

Will this be fixed in 7 days? If not, I will return the device to the shop...

Raymond (superquad-vortex2) wrote :

you have to ask maintainter of USB audio driver

Ionică Bizău (bizauionica) wrote :

Who is the USB audio driver maintainer and how can I contact him?

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in alsa-driver (Ubuntu):
status: New → Confirmed
Julian (perlsite) wrote :

I'm having this issue since I bought this card (Asus xonar u7) and I still having the issue in Ubuntu 14.10.
Here is the my alsa-info: http://www.alsa-project.org/db/?f=a96562a3fb187b1d8bb189d6cc67b5b90df0fa42

The only way to use the card is by loading the snd usb driver with ignore_ctl_error=1

Let me know if you need help to debug/test a possible fix/patch.

Ionică Bizău (bizauionica) wrote :

Hi Julian,

I returned the card to the shop since I didn't have a good experience with it.
I was using `ignore_ctl_error=1` to prevent that ugly error...

Hopefully, this will be fixed...

Cheers

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers