[pulseaudio-discuss] M-Audio FastTrack Pro

David Kågedal davidk at lysator.liu.se
Thu Jan 7 07:52:37 PST 2010


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




More information about the pulseaudio-discuss mailing list