Lennart Poettering <lennart at poettering.net> writes: > On Thu, 07.01.10 15:08, David K?gedal (davidk at lysator.liu.se) wrote: > >> Lennart Poettering <lennart at poettering.net> writes: >> >> >> And another thing: The sinks appear as "FastTrack_Pro ...", with an >> >> underscore instead of a space for some reason. >> > >> > That's data read from the USB device itself. PA uses that only if no >> > prettier device string is available in the usb.ids database (which is >> > the same one that is used by lsusb). >> >> But that is the strange part. There is no underscore in any ALSA output >> I found. This is from /proc/asound/cards, for instance: > > ALSA includes its own string database in the drivers. On most devices > ALSA usually uses only a string like "USB Audio" which is why we use > that as last resort only, if the USB descriptor does not include s > string. >> >> 1 [Pro ]: USB-Audio - FastTrack Pro >> M-Audio FastTrack Pro at usb-0000:00:1d.7-4.4, full speed >> >> It has USB ID 0763:2012, but I don't even see it listed in >> http://www.linux-usb.org/usb.ids > > Yes, that's precisely the reason why PA falls back to that string that > is read from the USB device itself: if there was an entry in the db it > would take precedence. That's why I asked you to submit an entry with > a pretty string. But the string read from the USB device itself has no underscore, as far as I can tell. >> In /proc/asound/card1/id it is simply described as "Pro". > > Yes, that is just a logical string that is used do situingish it from > the other cards in the system, it is a string similar to how network > interfaces are called "eth0" or "wlan0". > > Here's the order how we look for a name: > > 1) use the usb.ids name if there is one in the db > 2) use the usb device string read from the device itself is there is > one > 3) fallback to the descriptive name alsa uses for it which often > enough is very generic, such as "USB Audio". > > And I asked you to add a pretty string to usb.ids and submit that to > the official database so that everyone can enjoy a nicer string. Sure, I will do that. But I'm still not sure I understand why we aren't using then perfectly good name "M-Audio FastTrack Pro" that apparently is reported by ALSA in /proc/asound/cards. In 2) in your list, are you saying that PA reads "FastTrack_Pro" from somewhere? lsusb -v also lists the name without underscore. Here is part of the output from "pacmd list": index: 39 name: <alsa_output.usb-M-Audio_FastTrack_Pro-00.analog-stereo-a-output> driver: <module-alsa-card.c> [...] properties: alsa.resolution_bits = "16" device.api = "alsa" device.class = "sound" alsa.class = "generic" alsa.subclass = "generic-mix" alsa.name = "USB Audio" alsa.id = "USB Audio" alsa.subdevice = "0" alsa.subdevice_name = "subdevice #0" alsa.device = "0" alsa.card = "1" alsa.card_name = "FastTrack Pro" alsa.long_card_name = "M-Audio FastTrack Pro at usb-0000:00:1d.7-4.4, full speed" alsa.driver_name = "snd_usb_audio" device.bus_path = "pci-0000:00:1d.7-usb-0:4.4:1.0" sysfs.path = "/devices/pci0000:00/0000:00:1d.7/usb2/2-4/2-4.4/2-4.4:1.0/sound/card1" udev.id = "usb-M-Audio_FastTrack_Pro-00" device.bus = "usb" device.vendor.id = "0763" device.vendor.name = "Midiman" device.product.id = "2012" device.product.name = "FastTrack_Pro" device.serial = "M-Audio_FastTrack_Pro" device.string = "hw:1,0,0" device.buffering.buffer_size = "352800" device.buffering.fragment_size = "176400" device.access_mode = "mmap+timer" device.profile.name = "analog-stereo-a-output" device.profile.description = "Analog Stereo Channel A" device.description = "FastTrack_Pro Analog Stereo Channel A" alsa.mixer_name = "USB Mixer" alsa.components = "USB0763:2012" module-udev-detect.discovered = "1" device.icon_name = "audio-card-usb" What shows up in pavucontrol is device.description, as far as I can tell. How is that formed? Does it use device.product.name? I tried digging through the sources, but I didn't really manage to get to the source of it. -- David K?gedal