[[Vorlage(Getestet, jammy)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] Editor [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(./alsa-logo.jpg, align=left)]] In aktuellen Computern (ca. ab Mitte 2000er) ist ein Soundchip verbaut, der sich selbst als "HDA" ([wikipedia:High_Definition_Audio_Interface:High Definition Audio]) ausgibt. Dabei handelt es sich um eine Soundchip-Familie mit vielen - teils sehr unterschiedlichen - Mitgliedern. (Dessen Vorgänger [wikipedia:AC’97:] ist nicht Teil dieses Artikels.) Leider ist das Zusammenspiel von [:ALSA:] und den HDA-Chips oft ein Problem, da die Chip-Hersteller aus dem internen Aufbau dieser Chips ein Geheimnis machen. Das Fehlerbild ist vielfältig und reicht von "gar kein Ton", über "Ton aus Kopfhörer und internen Boxen zur selben Zeit" bis "Ton-Regler funktionieren nicht", und noch vieles mehr. Diese Seite soll bei der Inbetriebnahme der Tonausgabe mit diesen Soundchips helfen. = Installation = Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation alsa-base }}} = Einrichtung = Zunächst muss ermittelt werden, welcher genaue Chip-Typ im Rechner sitzt [2]: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl head -n 1 /proc/asound/card0/codec* # bzw bei mehreren Chips: grep -H Codec /proc/asound/card*/codec* }}} Mit der letzteren Ausgabe kann man nun in der Datei '''ALSA-Configuration.txt''' gezielt nach Parametern für den Chip suchen: {{{#!vorlage Befehl zless /usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz }}} Innerhalb dieser Datei-Ausgabe sucht man nun nach der Zeichenkette `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. Findet man seine Codec-Ausgabe dort nicht, sucht man in '''HD-Audio-Models.txt''': {{{#!vorlage Befehl zless /usr/share/doc/alsa-base/driver/HD-Audio-Models.txt.gz }}} Findet sich dort auch nichts, so installiert man das Paket '''linux-doc''': {{{#!vorlage Befehl sudo apt install linux-doc }}} Die Daten finden sich dann hier: {{{#!vorlage Befehl zless /usr/share/doc/linux-doc/sound/hd-audio/models.rst.gz }}} Wahlweise kann man auch im Web unter [https://www.kernel.org/doc/Documentation/sound/hd-audio/models.rst dieser Adresse] nachsehen. Jedoch findet sich dort immer der Stand für den aktuellsten [https://www.kernel.org/ Linux Stable Kernel]. 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 [:sudo: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 sollte der Rechner neu gestartet werden. ALSA erfährt dann beim Starten, welcher HDA-Typ angesprochen wird. Alternativ 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 den Soundchip geladen wurde. Falls es nicht funktionieren sollte, muss man sämtliche verschiedenen Modelle durchprobieren, bis man das passende gefunden hat. Eventuell ist kein Ton - trotz des richtigen Modellnamens - hörbar. Deshalb sollte man mittels [:Alsamixer:] die Einstellungen der Regler und Schalter überprüfen. {{{#!vorlage Hinweis Bei einigen Chips (z.B. "ALC883"), sowie bei Anschluss einer USB-Webcam mit integriertem Mikrofon, 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 ALSA-Mixers vorgenommen haben, so kann dies möglicherweise dazu führen, dass selbst bei einer späteren richtigen Installation noch kein Ton zu hören ist. In diesem Fall kann es nützlich sein, den ALSA-Mixer mittels des folgenden Befehls auf den Standardwert zurückzustellen. {{{#!vorlage Befehl sudo /etc/init.d/alsa-utils reset }}} In jedem Fall empfiehlt es sich, mit ''alsa reload'' festzustellen, ob es möglicherweise andere Problemursachen gibt, siehe hier: [:Soundkarten_konfigurieren#Soundkarte-ist-stumm-obwohl-sie-unter-dem-Livesystem-funktioniert-und-auch-vom-System-erkannt-wurde:] == 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 außerdem 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` beim 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. = Alternativen = == Neueste ALSA-Version benutzen== 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 compilieren und installieren (s. [ubuntu_doc:community/HdaIntelSoundHowto:HDA Intel Sound Howto]). Dies ist aber nicht trivial und wird nur erfahrenen Benutzern empfohlen. {{{#!vorlage Warnung Man sollte genau wissen was man tut, wenn man das unten genannte daily ppa einbindet. Vor allem sollte man wissen, wie man gegebenenfalls den alten Zustand wieder herstellt. }}} Für neuere Ubuntu-Versionen ab Maverick bietet es sich an, die Kernelmodule aus den aktuellen Quellen mit [:DKMS:] zu bauen. Entweder lädt man sich manuell auf der Seite des [https://code.launchpad.net/~ubuntu-audio-dev/+archive/alsa-daily/+packages Ubuntu Audio Development Teams] {en} das dazu täglich aktualisierte Paket herunter und installiert dieses mittels Mausklick oder gibt folgende Terminal-Befehle ein: Quelle hinzufügen. {{{#!vorlage Befehl sudo apt-add-repository ppa:ubuntu-audio-dev/alsa-daily}}} Paketlisten aktualisieren: {{{#!vorlage Befehl sudo apt-get update }}} Paket installieren: {{{#!vorlage Befehl sudo apt-get install oem-audio-hda-daily-dkms }}} = Beispielkonfigurationen = ||<-3 tablestyle="width: 95%;" cellstyle="text-align: center;" rowclass="titel">HDA-Intel-Soundchips || ||Gerät ||Codec ||Alsa-Parameter || ||Apple iMac 13.2 || Cirrus Logic CS4206 || `options snd-hda-intel model=imac27_122 ` || ||Apple iMac 21.5 || Cirrus Logic CS4206 || `options snd-hda-intel model=imac27_122 ` \\ (+Aktivierung des Kopfhörerausgangs:) \\ `sudo hda-verb /dev/snd/hwC0D0 0x0a SET_POWER_STATE 0` || ||Apple MacBook Pro 5,1 || Realtek ALC889A|| `options snd-hda-intel model=mb5` || ||Acer 8930 G || Realtek ALC889 || `options snd-hda-intel model=auto` || ||Acer Aspire 5253 || || `options snd-hda-intel power_save=10 power_save_controller=N`\\ `options snd-hda-intel model=auto` || ||Acer Aspire 3820TG || Realtek ALC629 || `options snd-hda-intel model=auto` (Kopfhörer getrennt vom Lautsprecher siehe Artikel für Lenovo G555 unter Links weiter unten; getestet unter Debian testing)|| ||Acer Aspire 6530 G || Realtek ALC888 || Komischerweise funktioniert die externe 5.1-Ausgabe mit der Angabe des Modells `acer-aspire-6530g` nicht! Abhilfe schafft dagegen `options snd-hda-intel model=acer-aspire-4930g` - für externe 5.1-Ausgabe im [:Alsamixer:] den Wert von channel auf 6ch erhöhen|| ||Acer Aspire 6920 G || Realtek ALC889 || ``options snd-hda-intel model=auto`` und mind. ALSA 1.0.18 || ||Acer Aspire 5739G || Realtek ALC888 ||``options snd-hda-intel model=acer-aspire-6530g`` ``options snd-hda-intel enable_msi=1`` Tuba CineBass Boster aktiv ! Ton über Kopfhörer geht nur mit Lautsprecher gemeinsam.|| ||Acer Aspire 5710z || Realtek ALC268 / Conexant ID 2c06 ||``options snd-hda-intel model=acer``|| ||Acer Aspire 7530 || Realtek ALC888 || ``options snd-hda-intel model=acer-aspire`` || ||Acer Aspire 8942 G || Realtek ALC670 || ``options snd-hda-intel model=lenovo-101e`` || ||Acer Travelmate 5720 || Realtek ALC268 / Conexant ID 2c06 ||``options snd-hda-intel model=acer``|| ||Acer Travelmate 8471 G || Realtek ALC269 ||``options snd-hda-intel model=lifebook``|| ||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 G2P || Realtek ALC882 / Generic 1543 Si3054 || ``options snd-hda-intel model=asus-a7j``|| ||Asus G501v* || Realtek ALC668 || ``options snd-hda-intel model=dell-headset-multi``|| ||Asus M70V || Realtek ALC663 || ``options snd-hda-intel model=auto`` - Basslautsprecher wird nicht mit stummgeschaltet. || ||Asus X50Nseries || Realtek ALC660-VD / Motorola Si3054 || `options snd-hda-intel model=lenovo`|| ||Asus X71S || Realtek ALC888 || ``options snd-hda-intel model=acer-aspire`` - Einzige Möglichkeit, um gleichzeitigen Ton aus Boxen und Kopfhörern zu vermeiden. Boxen funktionieren nicht, Ton nur aus Kopfhörern (ggf.ext. Boxen verwenden) || ||Belinea o.book 5 || Realtek ALC888 || ``options 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 & 1558|| 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``|| ||Dell Latitude E5410, E5510, E6410, E6510 || IDT 92HD81B || ``options snd-hda-intel model=dell-s14``|| ||Fujitsu Siemens Amilo M1437G || Realtek ALC880 || ``options snd-hda-intel model=fujitsu`` - Mikrofonbuchse funktioniert nicht || ||Fujitsu Siemens Amilo Pro v3515 ebenso Amilo Si 1520 ||Conexant CX20549 (Venice), identisch mit Conexant 5045 ||``options snd-hda-intel model=laptop`` || ||Fujitsu Siemens Amilo Xi2550 || Realtek ALC883 || ``options snd-hda-intel model=lenovo-ms7195-dig`` - Nach dem Neustart des Rechners Programm alsamixer starten und dort im Feld "Channel Mode" statt "2ch" "6ch" einstellen; überdies über System > Einstellungen > Klang im Feld „Eingabe“ bei „Verbindungsglied“ „Microphone 2“ auswählen || ||HP Pavilion dv-7 Serie || Intel Corporation 82801I (ICH9 Family) HD Audio Controller|| ``options 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 6|| ``options snd-hda-intel model=hp-m4`` || ||HP Pavilion p6138de || Realtec ALC1200 identisch zu ALC888S || ``options snd-hda-intel model=3stack-hp``|| ||HP Compaq 6735s || ADI SoundMAX AD1984A Audio || ``options snd-hda-intel model=hp position_fix=1 enable=yes``|| || Lenovo 3000 N200/C200 || ALC861-VD || ``options snd-hda-intel model=lenovo`` || || Lenovo Thinkpad E555 || Conexant CX20751/2 || mit dieser [post:8732423:Anleitung] || || Lenovo Thinkp. Edge15 || Realtek ALC269 || ``options snd-hda-intel model=lifebook`` || || Lenovo Thinkpad T500 || Intel Corporation 82801I (ICH9 Family) HD Audio Controller || ``options snd-hda-intel model=thinkap enable=1 index=0`` || || Lenovo Thinkpad X200s || Intel Corporation 82801I (ICH9 Family) HD Audio Controller || ``options snd-hda-intel model=generic`` || || Lenovo G555 || Conexant ID 5069 / CX20585 || mit dieser [post:3138852:Anleitung] || ||LG S1-PDGGG || Realtek ALC880 || ``options snd-hda-intel model=lg`` || ||LG T1 Express Dual || Realtek ALC880 || ``options snd-hda-intel model=lg`` - funktioniert nur bis Kernel-Version 3.18 || ||Maxdata pro 6100 I || Realtek ALC880 || ``options snd-hda-intel model=lg-lw`` || ||Medion MD 96394 || Realtek ALC883 || ``options snd-hda-intel model=medion-md2`` - Ton 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 || ``options snd-hda-intel model=6stack-digout`` - S/PDIF-out nicht getestet|| ||Medion MD 96630 || Realtek ALC888 || ``options snd-hda-intel model=laptop-eapd probe_mask=1 `` - Ton nur über interne Lautsprecher, Kopfhörerbuchse ohne Funktion, S/PDIF-out nicht getestet|| ||Medion MD 97900 || Realtek ALC883 || ``options snd-hda-intel model=medion-md2`` || ||Medion MD 99373 || Realtek ALC269VC || ``options snd-hda-intel model=medion-md2`` || ||MSI MegaBook || Realtek ALC888 || ``options snd-hda-intel model=targa-dig`` || ||MSI VR201 || Realtek ALC883 || ``options snd-hda-intel model=targa-2ch-dig`` || ||MSI GX600 || Realtek ALC888 || ``options 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 [https://forum.ubuntuusers.de/topic/leidiges-thema:-kein-ton-aus-dem-laptop/5/#post-1629501 backports_aktivieren] || ||Samsung N130 || Realtek ALC269 || Ubuntu 12.04: ``options snd-hda-intel model=laptop-amic`` || ||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 {{{#!vorlage Warnung Funktioniert nicht unter Lucid Lynx! Empfohlene Vorgehensweise: Standard-Einstellungen beibehalten. }}}|| ||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 || ``options snd-hda-intel model=auto`` (Intrepid) || ||Toshiba Satellite L40-13C || Analog Devices AD1986A / Generic 11c1 Si3054 || ``options snd-hda-intel model=3stack`` (Hardy/Intrepid/Intrepid/Karmic)|| ||Toshiba Qosmio G55 || Realtek ALC262 || ``options snd-hda-intel model=toshiba-s06 und update auf alsa 1.0.20`` (Jaunty)|| ||Toshiba Tecra A10-137 || Realtek ALC268 || ``options snd-hda-intel model=toshiba`` (Intrepid) || ||Toshiba Portege R500 || Realtek ALC262 || ``options snd-hda-intel model=toshiba-rx1`` || ||Toshiba NB 100 || Realtek ALC262 || ``options snd-hda-intel model=auto`` (12.04) || ||Packard Bell EasyNote S4 || Realtek ALC260 || ``options snd-hda-intel single_cmd=1`` (Workaround für 14.04; ``single_cmd`` ist eigentlich für Debugging-Zwecke gedacht) || = Problembehebungen = == Lautsprecher knacksen == Bei eingeschalteten Stromsparmechanismen kann es passieren, dass der Soundchip oft ein- und ausgeschaltet wird. Das kann bei jedem Schaltvorgang (unter anderem) zu einem Knacksen führen. Lösung: man schaltet für den Soundchip das Stromsparen aus. Temporär macht man das so: {{{#!vorlage Befehl echo 0 | sudo tee /sys/module/snd_hda_intel/parameters/power_save }}} {{{#!vorlage Befehl echo N | sudo tee /sys/module/snd_hda_intel/parameters/power_save_controller }}} Ab sofort sollte das Knacksen verschwunden sein. Ist es tatsächlich so, so macht man die Änderung permanent: {{{#!vorlage Befehl echo "options snd-hda-intel power_save=0 power_save_controller=N" | sudo tee /etc/modprobe.d/hda.conf }}} Dies übergibt die Parameter beim Laden des Modules (also bei jedem Bootvorgang). Falls man schon andere Parameter in der Datei '''/etc/modprobe.d/alsa-base.conf''' gesetzt hat, so ergänzt man diese Parameter dort. = Links = * [:Soundkarten:]-Inhaltsverzeichnis dieses Wikis * [https://help.ubuntu.com/community/HdaIntelSoundHowto IntelSoundHowto] {en} - Anleitung in der ''ubuntu community documentation'' {*} * [https://www.alsa-project.org/ Homepage des ALSA-Projektes] {en} * [https://git.alsa-project.org/?p=alsa-kernel.git;a=blob;f=Documentation/sound/alsa/HD-Audio-Models.txt;hb=HEAD HD-Audio-Models.txt im Git des ALSA-Projektes] {en} # tag: Audio, Hardware, Installation