USB composite audio device problem with newer kernel versions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

We are having issues with a special multiple interface audio device. The card has 3 devices with the same VID/PID, 2 of them is a mono output device and the third one has an input and an output channel also. This third device does not function properly with newer kernel versions, the audio capture is not working.

Tests:
-our Debian Jessie based distro with kernel 3.16      -> OK
-our Debian Jessie based distro with kernel 4.1.25  -> OK
-our Debian Jessie based distro with kernel 4.4.1    -> NOK
-our Debian Jessie based distro with kernel 4.6        -> NOK
-our Debian Jessie based distro with kernel 4.7        -> NOK
-Debian testing daily snapshot with kernel 4.6.0      -> NOK

In the NOK cases, when we try to capture the stream with arecord, we get: "audio open error: No such file or directory".
We can also see that in the NOK cases the arecord labels the capture device with device number 0, but in the OK cases it labels it with device number 2. Aplay labels these devices with device number 2 in any case.

Arecord list output in the good case:
card 5: Module [Spc Module], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

and in the bad case:
card 5: Module [Spc Module], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Relevant parts of alsa-info.sh output attached.

What could be the root of the problem?
What areas in the alsa codebase could be involved?
Should we report an ALSA bug?

Best regards,
Gergely Pecsi
!!Linux Distribution
!!------------------

intercepted, monitored, recorded, copied, audited, inspected, and PRETTY_NAME="Debian GNU/Linux 8 (jessie)" NAME="Debian GNU/Linux" ID=debian HOME_URL="http://www.debian.org/"; SUPPORT_URL="http://www.debian.org/support"; BUG_REPORT_URL="https://bugs.debian.org/"; image=K7-debian_jessie_686-pae_2016-05-20_-_20-01.img


!!DMI Information
!!---------------

Manufacturer:      To be filled by O.E.M.
Product Name:      To be filled by O.E.M.
Product Version:   To be filled by O.E.M.
Firmware Version:  QA32R116


!!Kernel Information
!!------------------

Kernel release:    4.4.1
Operating System:  GNU/Linux
Architecture:      i686
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k4.4.1
Library version:    1.1.0
Utilities version:  1.0.28


!!Loaded ALSA modules
!!-------------------
...
snd_usb_audio


!!Sound Servers on this system
!!----------------------------

No sound servers found.


!!Soundcards recognised by ALSA
!!-----------------------------
...
 5 [Module         ]: USB-Audio - Spc Module
                      Spc Module at usb-0000:00:1d.0-1.3.1, full speed

!!Modprobe options (Sound related)
!!--------------------------------

snd_pcsp: index=-2
snd_usb_audio: index=-2
snd_atiixp_modem: index=-2
snd_intel8x0m: index=-2
snd_via82xx_modem: index=-2


!!Loaded sound module options
!!---------------------------
...
!!Module: snd_usb_audio
  autoclock : Y
  device_setup : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
  id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
  ignore_ctl_error : N
  index : -2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
  pid : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
  vid : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1


!!USB Mixer information
!!---------------------
--startcollapse--

...
USB Mixer: usb_id=0x1fb5000e, ctrlif=0, ctlerr=0
Card: Spc Module at usb-0000:00:1d.0-1.3.1, full speed
USB Mixer: usb_id=0x1fb5000e, ctrlif=0, ctlerr=0
Card: Spc Module at usb-0000:00:1d.0-1.3.1, full speed
USB Mixer: usb_id=0x1fb5000e, ctrlif=0, ctlerr=0
Card: pk Module at usb-0000:00:1d.0-1.3.1, full speed
--endcollapse--


!!ALSA Device nodes
!!-----------------

...
crw-rw-rw- 1 root audio 116, 17 Jun  7 09:45 /dev/snd/controlC5
...
crw-rw-rw- 1 root audio 116, 18 Jun  7 09:45 /dev/snd/pcmC5D0p
crw-rw-rw- 1 root audio 116, 19 Jun  7 09:45 /dev/snd/pcmC5D1p
crw-rw-rw- 1 root audio 116, 20 Jun  7 09:45 /dev/snd/pcmC5D2p
crw-rw---- 1 root audio 116,  1 Jun  7 09:45 /dev/snd/seq
crw-rw---- 1 root audio 116, 33 Jun  7 09:45 /dev/snd/timer

/dev/snd/by-id:
total 0
drwxr-xr-x 2 root root 160 Jun  7 09:45 .
drwxr-xr-x 4 root root 500 Jun  7 09:45 ..
...
lrwxrwxrwx 1 root root  12 Jun  7 09:45 usb-Spk_Module_3003267297-00 -> ../controlC5

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root 160 Jun  7 09:45 .
drwxr-xr-x 4 root root 500 Jun  7 09:45 ..
...
lrwxrwxrwx 1 root root  12 Jun  7 09:45 pci-0000:00:1d.0-usb-0:1.3.1:1.0 -> ../controlC5


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
...
card 5: Module [Spc Module], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 5: Module [Spc Module], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 5: Module [Spc Module], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
...
card 5: Module [Spc Module], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

...

!!-------Mixer controls for card 5 [Module]

Card hw:5 'Module'/'Spc Module at usb-0000:00:1d.0-1.3.1, full speed'
  Mixer name  : 'USB Mixer'
  Components  : 'USB1fb5:000e'
  Controls      : 4
  Simple ctrls  : 0


!!Alsactl output
!!--------------

--startcollapse--
...
state.Module {
  control.1 {
    iface PCM
    name 'Playback Channel Map'
    value 0
    comment {
      access read
      type INTEGER
      count 1
      range '0 - 36'
    }
  }
  control.2 {
    iface PCM
    device 1
    name 'Playback Channel Map'
    value 0
    comment {
      access read
      type INTEGER
      count 1
      range '0 - 36'
    }
  }
  control.3 {
    iface PCM
    device 2
    name 'Playback Channel Map'
    value 0
    comment {
      access read
      type INTEGER
      count 1
      range '0 - 36'
    }
  }
  control.4 {
    iface PCM
    name 'Capture Channel Map'
    value 0
    comment {
      access read
      type INTEGER
      count 1
      range '0 - 36'
    }
  }
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
uas
usb_storage
des_generic
ecb
md4
hmac
nls_utf8
bonding
joydev
iTCO_wdt
iTCO_vendor_support
ppdev
binfmt_misc
xt_comment
nf_log_ipv4
nf_log_common
xt_LOG
xt_limit
xt_tcpudp
nf_conntrack_ipv4
nf_defrag_ipv4
xt_multiport
xt_conntrack
nf_conntrack
iptable_filter
ip_tables
ip6table_filter
ip6_tables
x_tables
cp210x_gpio
snd_usb_audio
snd_usbmidi_lib
snd_rawmidi
snd_hwdep
snd_seq_device
cifs
dns_resolver
fscache
intel_rapl
intel_powerclamp
coretemp
kvm_intel
kvm
snd_pcm
irqbypass
snd_timer
snd
crc32_pclmul
soundcore
aesni_intel
aes_i586
xts
lrw
gf128mul
ablk_helper
lpc_ich
cryptd
pcspkr
mfd_core
i2c_i801
parport_pc
iosf_mbi
battery
tpm_tis
shpchp
parport
snd_soc_sst_acpi
tpm
8250_fintek
evdev
ac
processor
usbserial
autofs4
ext4
crc16
mbcache
jbd2
sg
sd_mod
hid_generic
usbhid
hid
crc32c_intel
ahci
ehci_pci
ehci_hcd
libahci
i915
igb
ptp
usbcore
drm_kms_helper
libata
pps_core
usb_common
i2c_algo_bit
drm
scsi_mod
fan
thermal
video
button


!!ALSA/HDA dmesg
!!--------------

[    7.672852] usb 1-1.2.3: [82] FU [Mic Capture Volume] ch = 1, val = -32768/32767/1
[    7.673389] usbcore: registered new interface driver snd-usb-audio
[    7.767495] ip6_tables: (C) 2000-2006 Netfilter Core Team


_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux