Ladies and Gentlemen,
A few month ago I wrote about my problem with a rather old USB phone
device. The device works fine on my older systems but fails on my
relatively new desktop. I am doing my tests with aplay like this:
aplay -v -D usb-phone -t wav /usr/share/sounds/alsa/Front_Center.wav
with the attached /etc/asound.conf file.
I am using CentOS systems, by now version 8 (version 7 and some earlier
in qemu-kvm VM's), but the original use of the phone device is on a real
centos-6 system. I originally assumed my problem was caused by the newer
version of the software or by the change from i686 to x86_64 hardware.
However, I now know that the device works just fine under Centos-8 and
on x86_64 hardware. The problem arises in the USB hardware and the USB
drivers for it. On the systems where the device works as expected the
hardware driver used is uhci_hcd (which I think is actually an ehci_hcd
companion), on the system where the phone device doesn't work the USB
driver is xhci_hcd. On the system with xhci_hcd driver there are no other
drivers available (I have not made any experiments at the UEFI level).
In a VM which provides a uhci_hcd driver on the host with the xhci_hcd
driver the test also fails.
The centos kernel's are always relatively "old", the current centos-8
version is 4.18.0-147.5.1.el8_1. I now assume that the problem lies
somewhere between the snd-usb-audio module and the uhci_hcd emulation
of the xhci_hcd driver. So my question now is, what can be done to make
my old, slow USB phone device work with the xhci_hcd driver?
I will gladly provide more details but would need to know what could
help in this case.
Any advice would be appreciated. Thanks, AG
--
----------------------------------------------------------------------
Alfred Ganz alfred-ganz:at:agci.com
AG Consulting (203) 624-9667
440 Prospect Street # 11
New Haven, CT 06511
----------------------------------------------------------------------
#
# Place your global alsa-lib configuration here...
#
@hooks [
{
func load
files [
"/etc/alsa/pulse-default.conf"
]
errors false
}
]
# This is an alias for the phone
pcm.usb-audio {
type hw
card 1
device 0
}
# This creates a converting alias for the phone
pcm_slave.myslave {
pcm "hw:1,0"
format S16_LE
channels 1
rate 8000
}
pcm.usb-convert {
type plug
slave myslave
}
# The short version of the same thing
pcm.usb-phone {
type plug
slave {
pcm "hw:1,0"
format S16_LE
channels 1
rate 8000
}
}
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user