Auf einem Raspberry Pi hatte ich das Problem, daß ALSA bei jedem Neustart des Systems die Reihenfolge der Ausgabegeräte neu sortierte:
$ cat /proc/asound/cards
0 [Headphones ]: bcm2835_headpho - bcm2835 Headphones
bcm2835 Headphones
1 [PMA50 ]: USB-Audio - PMA-50
D & M Holdings Inc. PMA-50 at usb-3f980000.usb-1.1.3, high speed
2 [vc4hdmi ]: vc4-hdmi - vc4-hdmi
vc4-hdmi
Mal war der PMA-50 als Karte 1 verfügbar, mal wurde ihm die 2 zugewiesen und als Folge daraus war das in der “alsa.conf” festgelegte Ausgabegerät nicht immer das von mir eigentlich gewünschte und der externe DAC blieb stumm.
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
ALSA kann statt der Nummer der Karte (wie in gefühlt 99% aller Beispiele zu finden) auch deren Namen verwenden werden. Eine Liste aller gültigen Geräte findet sich unter “/proc/asound/”:
$ ls -l /proc/asound/
dr-xr-xr-x 4 root root 0 25. Jun 08:42 card0
dr-xr-xr-x 4 root root 0 25. Jun 08:42 card1
dr-xr-xr-x 8 root root 0 25. Jun 08:42 card2
...
lrwxrwxrwx 1 root root 5 25. Jun 08:42 Headphones -> card0
...
lrwxrwxrwx 1 root root 5 25. Jun 08:42 PMA50 -> card2
...
lrwxrwxrwx 1 root root 5 25. Jun 08:42 vc4hdmi -> card1
...
Nach einer Anpassung der “alsa.conf” funktioniert der USB-DAC unabhängig von der zugewiesenen Gerätenummer:
pcm.!default {
type hw
card PMA50
}
ctl.!default {
type hw
card PMA50
}