Externe USB-Soundkarte: Soundblaster X-FI HD unter Linux – Teil 1

Dies ist eine Anleitung zum Betrieb der Soundblaster X-FI HD unter Linux Mint 17.2, Ubuntu 14.04, mit Linux-Kernel 3.13. Teilweise ist es auch ein Erfahrungsbericht, weil ich noch nicht alle Probleme lösen konnte.

 

Soundblaster X-Fi Foto

Die Soundblaster X-Fi HD

Die interne Soundkarte in einem Büro-PC, aber auch im Laptop, ist so ‘ne Sache. Meistens funktioniert sie für Alltagszwecke gut: externe Lautsprecher, Kopfhörer, Mikrophon anschließen.  Aber der Sound ist nicht der Hammer, und das externe Mikro bringt fröhliche Nebengeräusche mit sich, z.B. vom Lüfter.

Also habe ich Gutes gelesen über externe USB-Soundkarten, suchte ne Weile im Netz, und entschloß mich zum Kauf der Soundblaster X-FI HD. Sie hat schon ein paar Jahre auf dem Buckel, das ist aber für Linux eine gute Sache, denn dann wird sie in der Regel besser unterstützt, und Soundkarten veralten nicht wie Grafikkarten. Sie kostet so rund 60 Euro. Dafür gibt es ordentliche Kopfhörer- und Line-Eingänge, einen digitalen SPDIF-Eingang (für MinisDisc oder DAT-Rekorder) und einen vorverstärkten Phono-Eingang. Das Signal gibt sie über einen Cinch-LineOut-Stecker oder per optisches Signal aus.

Soundblaster Anschlüsse an der Rückseite:

Anschlüsse an der Rückseite: Phono, Line in & out, Optisches In & out

Und unter Linux ?

Nun wird es technisch: Bei Linux hat man nicht nur mit einem Soundsystem zu tun, sondern mit mehreren: ALSA, quasi das Fundament und eines der Ur-Linux-Soundsysteme, und das modernere PulseAudio, dass ALSA zum Routing benutzt (also um Signale rein- und rauszuleiten) und das gängige System auf dem Linux-Desktop ist (Diese Grundlagen sind im Ubuntuusers-Wiki gut erklärt).

Die gute Nachricht: Die Karte gibt nach dem Anschliessen gleich Töne von sich, und die Qualität ist deutlich besser als interne Soundkarten. Und wenn man bei der Soundblaster in PulseAudio-Volumecontrol als “default” ein Häkchen setzt, dann gehen auch Kopfhörerausgang und Lautstärkeregler an der externen Box. Problem: Bei jedem Neustart und nach Suspend setzt ALSA aber die interne Soundkarte als Standard.

Unter der Haube

Also müssen wir kurz in den Motorblock. Wird die Soundkarte erkannt ? Checken wir kurz im Terminal:

lsusb

Ergebnis:

Bus 005 Device 003: ID 041e:3232 Creative Technology, Ltd

Ok, da ist sie. Nützlich ist auch:

cat /proc/asound/cards 
0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xfdff8000 irq 45
 1 [HD             ]: USB-Audio - USB Sound Blaster HD
                      Creative Technology USB Sound Blaster HD at usb-0000:00:1a.2-1, full speed

Der erste  Eintrag ist die Interne Soundkarte. Noch mehr erfahren wir mit: 

sudo aplay -l

Ausgabe:

**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: Intel [HDA Intel], Gerät 0: ALC889A Analog [ALC889A Analog]
  Sub-Geräte: 0/1
  Sub-Gerät #0: subdevice #0
Karte 0: Intel [HDA Intel], Gerät 1: ALC889A Digital [ALC889A Digital]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: HD [USB Sound Blaster HD], Gerät 0: USB Audio [USB Audio]
  Sub-Geräte: 0/1
  Sub-Gerät #0: subdevice #0
Karte 1: HD [USB Sound Blaster HD], Gerät 1: USB Audio [USB Audio #1]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: HD [USB Sound Blaster HD], Gerät 2: USB Audio [USB Audio #2]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0

Hm, sie hat also drei Subdevices. Mehrere Posts im Web sagen, der analoge und der digitale Teil der Karte erscheine als separate device. Leider sagt aplay nicht mehr darüber, welche der drei digital und welcher analog ist. Und unter PulseAudio (und unter ALSA) erscheint ohnehin nur eine Karte.

USB-Soundkarte als Standard festlegen

Um die Reihenfolge zu ändern, müssen wir die Datei

/etc/modprobe.d/alsa-base.conf

verändern. Öffnet also mit einem Texteditor – nano, Gedit oder Pluma in Linux Mint – als root diese Datei.

sudo nano /etc/modprobe.d/alsa-base.conf

Achtung !! Macht jetzt erstmal eine Kopie dieser Datei, falls irgendwas schiefgeht, und nennt sie z.B. alsa-base.conf.bak.

Jetzt gibt es in der conf-Datei folgenden Abschnitt:

# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
(...)

options snd-usb-audio index=-2

Dies verhindert, dass die USB-Karte als Standard festgelegt wird. Also mit einem “#” vor der Zeile auskommentieren, dann ignoriert das System dies.
Auch die folgende Zeile auskommentieren:

# Keep snd-usb-audio from beeing loaded as first soundcard
# options snd-usb-audio index=-2

Jetzt fügen wir am Ende der Datei hinzu:

# snd-usb-audio als erste Karte, intel als 2.festlegen
options snd_usb_audio index=0
options snd_hda_intel index=1

So. Jetzt rebooten, und nun ist die USB-Soundkarte als Standard festgelegt, und der Lautstärkeregler funktioniert. Kopfhörer geht auch, nur mit dem Mikro macht die X-Fi Zicken: Es geht zwar grundsätzlich in Alsa, aber nicht in Pulseaudio. Wie man das Problem umgehen kann, dazu demnächst mehr im 2. Teil !

Leave a Reply

Your email address will not be published. Required fields are marked *