[alsa-devel] Problems with usb soundcard in kernels > 3.3

Bogdan Veringioiu bogdan.veringioiu at amano.eu
Tue Nov 11 12:14:55 CET 2014


Hello all,

After spending a couple of days searching the web for a solution, I 
write here to ask for help.
I am using an usb soundcard (Phoenix Audio Technologies Phnx MT201solo) 
on Debian Wheezy, and started to experience problems when using kernels 
 > 3.3.
The issue I am experiencing is a ~4 seconds delay in playing sound. I am 
reproducing the problem using aplay. The sound play is being delayed by 
more or less 4 seconds from the moment the file is sent to the card. I 
have tested with kernels 3.2 and 3.3, which work properly. I have 
noticed this delay/wait when using kernels 3.15, 3.16. Below are some 
details:

WORKING PROPERLY
# uname -rv
3.2.0-4-686-pae #1 SMP Debian 3.2.63-2
# dpkg -l | grep alsa
ii  alsa-base                            1.0.25+3~deb7u1 
all          ALSA driver configuration files
ii  alsa-utils                           1.0.25-4 
i386         Utilities for configuring and using ALSA
# dmesg
....
usb 3-1: New USB device found, idVendor=1de7, idProduct=0011
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1: Product: Phnx MT201solo
usb 3-1: Manufacturer: Phoenix Audio Technologies
....

# time aplay /usr/share/sounds/alsa/Rear_Left.wav
Playing WAVE '/usr/share/sounds/alsa/Rear_Left.wav' : Signed 16 bit 
Little Endian, Rate 48000 Hz, Mono

real	0m2.498s <--- this is OK
user	0m0.032s
sys	0m0.024s

DELAY INTRODUCED
# uname -rv
3.16-0.bpo.2-686-pae #1 SMP Debian 3.16.3-2~bpo70+1 (2014-09-21)
# dpkg -l | grep alsa
ii  alsa-base                          1.0.25+3~deb7u1               all 
          ALSA driver configuration files
ii  alsa-utils                         1.0.25-4 
i386         Utilities for configuring and using ALSA
# dmesg
....
usb 2-1: New USB device found, idVendor=1de7, idProduct=0011
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1: Product: Phnx MT201solo
usb 2-1: Manufacturer: Phoenix Audio Technologies
....
# time aplay /usr/share/sounds/alsa/Rear_Left.wav
Playing WAVE '/usr/share/sounds/alsa/Rear_Left.wav' : Signed 16 bit 
Little Endian, Rate 48000 Hz, Mono

real	0m6.387s <----4 more seconds delay, NOK
user	0m0.016s
sys	0m0.024s

I have done a strace, see below where the 4 seconds are lost, maybe it 
helps:

open("/dev/snd/pcmC0D0p", O_RDWR|O_NONBLOCK|O_CLOEXEC) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
ioctl(4, AGPIOC_ACQUIRE or APM_IOC_STANDBY, 0xbf823f4c) = 0
close(3)                                = 0
ioctl(4, AGPIOC_ACQUIRE or APM_IOC_STANDBY, 0xbf823dac) = 0
fcntl64(4, F_GETFL)                     = 0x802 (flags O_RDWR|O_NONBLOCK)
ioctl(4, AGPIOC_INFO, 0xbf823d14)       = 0
clock_gettime(CLOCK_MONOTONIC, {5839, 700325532}) = 0
ioctl(4, AGPIOC_SETUP, 0xbf823d1c)      = 0
mmap2(NULL, 4096, PROT_READ, MAP_SHARED, 4, 0x80000) = 0xb72db000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0x81000) = 0xb72da000
ioctl(4, 0xc25c4110, 0xbf823ee0)        = 0
ioctl(4, 0xc25c4110, 0xbf823ee0)        = 0
ioctl(4, 0xc25c4110, 0xbf823ee0)        = 0
ioctl(4, 0xc25c4110, 0xbf823ee0)        = 0
ioctl(4, 0xc25c4110, 0xbf823ee0)        = 0
ioctl(4, 0xc25c4110, 0xbf823ee0)        = 0
ioctl(4, 0xc25c4110, 0xbf823ee0)        = 0
ioctl(4, 0xc25c4110, 0xbf823ee0)        = 0
ioctl(4, 0xc25c4111, 0xbf823ee0)        = 0
ioctl(4, 0xc0684113, 0xbf823d94)        = 0
ioctl(4, 0x80104132, 0xbf823cd0)        = 0
ioctl(4, 0x80104132, 0xbf823cd0)        = 0
mmap2(NULL, 65536, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0xb7293000
----> ioctl(4, 0x4140, 0xb7718ff4)            = 0 <---- !!! Here is 
where the 4 seconds are lost !!!
ioctl(4, 0xc0684113, 0xbf823e60)        = 0
ioctl(4, 0x4142, 0xb7709c16)            = 0
ioctl(4, AGPIOC_INFO, 0xbf8241a0)       = 0
shmget(0x56a4d6, 131072, IPC_CREAT|0660) = 163841
shmctl(163841, IPC_64|IPC_STAT, 0xbf82415c) = 0
shmctl(163841, IPC_64|IPC_SET, 0xbf82415c) = 0
....

I think this is a problem in the snd-usb-audio module introduced in 
kernels > 3.3.
Can anyone help me with this issue?

Thanks,
Bogdan


More information about the Alsa-devel mailing list