Wiki

Soundkarten installieren/HDA

HDA

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

alsa-logo.jpg

In vielen neueren Notebooks und Mainboards ist ein Soundchip verbaut, der sich selbst als "HDA" (High Definition Audio) ausgibt. Dabei handelt es sich um eine Soundchip-Familie mit vielen - teils sehr unterschiedlichen - Mitgliedern. Leider ist das Zusammenspiel von ALSA und diesen Chips oft ein Problem, da die Chip-Hersteller aus dem internen Aufbau dieser Chips ein Geheimnis machen. Das Fehlerbild ist vielfälltig und reicht von "gar kein Sound", über "Sound aus Kopfhörer und internen Boxen zur selben Zeit" bis "Sound-Regler funktionieren nicht". Diese Seite soll bei der Inbetriebnahme der Soundausgabe mit diesen Soundchips helfen.

Installation

Folgendes Paket muss installiert [1] werden:

  • alsa-base

Einrichtung

Als erstes muss ermittelt werden, welcher genaue Chip-Typ auf dem Mainboard sitzt [2]:

cat /proc/asound/cards 

Damit sieht man, wie der Chip von ALSA identifiziert wurde, beispielsweise als "HDA Intel", "HDA ATI SB" oder "HDA VIA VT82xx". Anschließend muss man noch den genauen Codec-Typ bestimmen:

head -n 1 /proc/asound/card0/codec* 

Mit der letzteren Ausgabe kann man nun in der Datei ALSA-Configuration.txt gezielt nach Parametern für den Chip suchen:

zless /usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz 

Innerhalb dieser Datei-Ausgabe sucht man nun nach dem String "hda". Unter der Überschrift "Module snd-hda-intel" sind die Modul-Parameter für diesen Chip aufgeführt. Beispiel: hat die Codec-Ausgabe "ALC 880" ergeben, so findet man unter dieser Unter-Überschrift sämtliche möglichen Modell-Parameter, wie beispielsweise 3stack, 3stack-dig oder spezielle Laptop-Modelle.

Mit diesen möglichen Modellnamen beginnt nun die Arbeit. Man teilt ALSA mit, welcher Chip-Typ verwendet werden soll. Dazu muss die Datei /etc/modprobe.d/alsa-base.conf in einem Editor mit Root-Rechten bearbeitet werden [3]. An das Ende dieser Datei wird - um bei obigem Beispiel (für Andere siehe Tabelle unten) zu bleiben - folgende Zeile eingefügt:

options snd-hda-intel model=3stack

Nach dem Ändern der Datei kann der Rechner neu gestartet werden. ALSA erfährt dann beim Starten, welcher HDA-Typ angesprochen wird. Alernativ dazu, kann mittels rmmod das snd_hda_intel-Kernelmodul entfernt werden und mittels modprobe snd-hda-intel model=xxx neu geladen werden. Parallel dazu kann in einem zweiten Fenster mittels tail -f /var/log/syslog die Kernelausgabe via syslog verfolgt werden, ob das korrekte Modell für die Soundkarte geladen wurde.

Falls es nicht funktionieren sollte, muss man sämtliche verschiedenen Modelle durchprobieren, bis man das passende gefunden hat. Eventuell ist kein Sound - trotz des richtigen Modellnamens - hörbar. Deshalb sollte man mittels Alsamixer die Einstellungen der Regler und Schalter der Soundkarte überprüfen.

Hinweis:

Bei einigen Chips (z.B. "ALC883"), sowie bei Anschluss einer USB-Webcam mit intergriertem Mikrophon, reicht der Eintrag in der alsa-base nicht aus. In diesem Fall sollte man die Zeile zusätzlich an das Ende der Datei /etc/modules einfügen (dann jedoch ohne das führende options).

Sollte man bei einer fehlerhaften Installation Veränderungen an den Einstellungen des Alsamixers vorgenommen haben, so kann dies möglicherweise dazu führen, dass selbst bei einer späteren richtigen Installation noch kein Sound zu hören ist. In diesem Fall kann es nützlich sein den Alsamixer mittels des folgenden Befehls auf den Defaultwert zurückzustellen.

sudo /etc/init.d/alsa-utils reset 

Weitere Ursachen

Bei Kernelversionen kleiner 2.6.29 und bei einigen, fehlerhaften BIOS-Versionen wie bei DELL-PCs Typ Vostro 420 mit Onboard-Soundcodec Realtek ALC662 kann als Fehlerursache weiters vorkommen, dass von ALSA zwar mit dem Modeltyp auto der korrekte Soundchip (wie beispielsweise ALC662) ermittelt wird, aber nicht der dazu passende Slot. Bei HDA sind mehrere sogenannte Codec-Slots verfügbar, wobei im allgemeinen nicht alle Slots belegt sind. Welche Codec Slots im Zweifelsfall tatsächlich belegt sind, kann nur durch Probieren und explizite Angabe der Slot-Nummer festgestellt werden. Der Slot kann explizit und unabhängig von BIOS durch den zusätzlichen Parameter probe_mask bei laden des Kernelmoduls festgelegt werden:

options snd-hda-intel model=auto probe_mask=1 

Der Zahlenwert stellt eine binäre Maske dar, wobei =1 bedeutet dass der erste Slot probiert werden soll. Mit =2 wird der zweite Slot probiert, mit =4 der dritte slot und mit =8 der vierte Slot. Weitere Details zu diesem Punkt findet man auf den Kernel-Dokumentationsseiten.

Alternativen

Neuere ALSA-Version

Leider werden von den HDA-Chips sehr schnell immer wieder neue Varianten auf den Markt geworfen. Da für diese Chips oftmals nur eine schlechte oder gar keine Dokumentation angeboten wird, ist das Entwickeln freier Treiber sehr schwierig. Ist man also mit der oben genannten Methode nicht fündig geworden, so wird der Chip höchstwahrscheinlich in der ALSA-Version, die man auf dem Rechner hat, nicht unterstützt. In diesem Falle muss man direkt bei ALSA nachsehen, ab welcher Version der Chip unterstützt wird, und diese Version dann selbst auf dem Rechner kompilieren und installieren (s. HdaIntelSoundHowto) {en} . Dies ist aber nicht trivial und wird nur erfahrenen Benutzern empfohlen.

Es existiert auch ein Skript in den Ubuntufoums.org {en}, das "automatisch" die neuste Alsa-Version einspielen kann; allerdings passiert das "an der Paketverwaltung" vorbei, weil keine Pakete erstellt werden.

Beispielkonfigurationen

HDA-Intel-Soundchips
Gerät Codec Alsa-Parameter
Acer 8930 GRealtek ALC889snd-hda-intel model=auto
Acer Aspire 6920 GRealtek ALC889snd-hda-intel model=auto und mind. ALSA 1.0.18 Acer Aspire 6920g
Acer Aspire 5710z Realtek ALC268 / Conexant ID 2c06 snd-hda-intel model=acer
Acer Aspire 7530 Realtek ALC888 snd-hda-intel model=acer-aspire
Acer Travelmate 5720 Realtek ALC268 / Conexant ID 2c06 snd-hda-intel model=acer
Asus A6000 & Pro60 Realtek ALC880 options snd-hda-intel model=z71v
Asus A3680G Realtek ALC650F (unbekannt)
Asus F3JP Asus F3Sa (aka X52S) ebenso Asus X56Series und Asus X70Series und Asus X53K Realtek ALC660-VD options snd-hda-intel model=lenovo probe_mask=1
Asus F9DC Realtek ALC660-VD / Motorola Si3054 options snd-hda-intel model=lenovo
Asus X50Nseries Realtek ALC660-VD / Motorola Si3054 options snd-hda-intel model=lenovo
Asus X71S Realtek ALC888 snd-hda-intel model=acer-aspire - Einzige Möglichkeit, um gleichzeitigen Sound aus Boxen und Kopfhörern zu vermeiden. Boxen funktionieren nicht, Sound nur aus Kopfhörern (ggf.ext. Boxen verwenden)
Belinea o.book 5 Realtek ALC888 snd-hda-intel model=targa-dig - Soundausgabe von Notebook-Boxen auf Kopfhörer/Anlage umleiten, wenn Kopfhörer/Anlage-Ausgang verwendet wird.
Dell Vostro 420 Realtek ALC662 options snd-hda-intel model=auto probe_mask=1
Dell Studio 1555 IDT STAC92HD73C1X5 options snd-hda-intel model=dell-m6
Dell Latitude E4300 Intel Corporation 82801I (ICH9 Family) HD Audio Controller options snd-hda-intel model=dell
Fujitsu Siemens Amilo M1437G Realtek ALC880 snd-hda-intel model=fujitsu - Mikrofonbuchse funktioniert nicht
Fujitsu Siemens Amilo Pro v3515 ebenso Amilo Si 1520 Conexant CX20549 (Venice), identisch mit Conexant 5045 snd-hda-intel model=laptop
HP Pavilion dv-7 Serie Intel Corporation 82801I (ICH9 Family) HD Audio Controlleroptions snd-hda-intel enable_msi=1
HP Pavilion dv5 1150eg IDT 92HD71B7X options snd-hda-intel model=hp-dv5 enable_msi=1
HP Pavilion dv5 1254eg Generic 10de ID 6options snd-hda-intel model=hp-m4
Lenovo 3000 N200/C200 ALC861-VD snd-hda-intel model=lenovo
LG S1-PDGGG Realtek ALC880 snd-hda-intel model=lg
Maxdata pro 6100 I Realtek ALC880 snd-hda-intel model=lg-lw
Medion MD 96394 Realtek ALC883 snd-hda-intel model=medion-md2 - Sound nur über Kopfhörerbuchse, interne Lautsprecher ohne Funktion (Hardy α3), wird unter mit dem 2.6.31 Kernel (Karmic beta) überflüssig da funktionierende Treiber vorhanden sind
Medion MD 96500 Realtek ALC880 snd-hda-intel model=6stack-digout - S/PDIF-out nicht getestet
Medion MD 96630 Realtek ALC888 snd-hda-intel model=laptop-eapd probe_mask=1 - Sound nur über interne Lautsprecher, Kopfhörerbuchse ohne Funktion, S/PDIF-out nicht getestet
Medion MD 97900 Realtek ALC883 snd-hda-intel model=medion-md2
MSI MegaBook ALC888 snd-hda-intel model=targa-dig
MSI VR201 ALC883 Analog snd-hda-intel model=targa-2ch-dig
MSI GX600 ALC888 snd-hda-intel model=3stack-6ch-dig - Funktion der Checkbox "Kopfhörer" im Mixer invers, S/PDIF-out nicht getestet.
Samsung M60 Calipa Realtek ALC262 (Hardy) options snd-hda-intel model=generic - zusätzlich backports_aktivieren
Sony Vaio VGN AR51(J/E) Realtek ALC262 options snd-hda-intel model=vaio - zusätzlich snd-hda-intel model=vaio in die /etc/modules eintragen
Sony Vaio VGN AR88E Realtek ALC262 options snd-hda-intel model=vaio - zusätzlich snd-hda-intel model=vaio in die /etc/modules eintragen
Targa Traveller 1524 X2 Realtek ALC888 options snd-hda-intel model=targa-dig - zusätzlich snd-hda-intel model=targa-dig in die /etc/modules eintragen
Targa Traveller 1577 X2 Realtek ALC883 Gleiches Vorgehen wie beim anderen Targa-Modell
Toshiba Satellite A210-15Y Realtek ALC268 options snd-hda-intel model=toshiba
Toshiba Satellite L350D-11S Realtek ALC268 / Conexant ID 2c06 (Intrepid) options snd-hda-intel model=auto
Toshiba Satellite L40-13C (Hardy/Intrepid/Intrepid/Karmic) Analog Devices AD1986A / Generic 11c1 Si3054 snd-hda-intel model=3stack
Toshiba Qosmio G55 (Jaunty) ALC262 options snd-hda-intel model=toshiba-s06 und update auf alsa 1.0.20
Toshiba Tecra A10-137 (Intrepid) Realtek ALC268 options snd-hda-intel model=toshiba
Toshiba Portege R500 Realtek ALC262 options snd-hda-intel model=toshiba-rx1

Diese Revision wurde am 16. Januar 2010 um 16:31 Uhr von bo werth erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Hardware, Installation

Passwort vergessen?