Kategorien
Ohne Kategorie

Mainboard-Sensoren für Gigabyte AB350-Gaming

Selbst mit einem aktuellen Linux-Kernel fehlen die Sensorwerte auf dem Gigabyte AB350-Gaming Mainboard (Sockel AM4). Eine Ausgabe von „sensors“ zeigt keinen der verbauten Hardwaresensoren an, die man im BIOS-Menü sehr wohl einsehen kann. Typischerweise hilft ein Aufruf von „sensors-detect“, um nach fehlenden Treibern zu suchen, und siehe da: Es findet tatsächlich zwei Super-I/O Chips.

Driver `to-be-written':
  * ISA bus, address 0xa40
    Chip `ITE IT8686E Super IO Sensors' (confidence: 9)

Driver `it87':
  * ISA bus, address 0xa60
    Chip `ITE IT8792E Super IO Sensors' (confidence: 9)

Allerdings gibt es offensichtlich keinen Treiber für den Ersten der Beiden. Hilfreich war dabei die Info von einem Github Gist, die einen Workaround aufzeigt. In Kurzform war folgendes nötig:

  1. Installiere den modifizierten it87-Treiber von https://github.com/gamanakis/it87.git, am besten via DKMS
  2. Erstelle die Datei /etc/modprobe.d/gigabyte-b350.conf mit dem Inhalt
    options it87 ignore_resource_conflict=1
  3. Lade das Modul beim Systemstart
  4. Korrigiere die Ausgabe von „sensors“. Dazu lege die Datei /etc/sensors.d/gigabyte-b350.conf an und fülle sie mit dem Inhalt, den Nutzer konomikitten hier vorgeschlagen hat: https://github.com/lm-sensors/lm-sensors/issues/137#issue-371641346

Kategorien
Ohne Kategorie

Kombo-Klinkenbuchse unter Linux nutzbar machen

Bei heutigen Notebooks findet man in aller Regel nur noch eine einzige Klinkenbuchse zum Anschluss eines Kopfhörers oder Headsets. Diese ist dabei als sogenannte Kombobuchse ausgeführt, da sie je nach eingestecktem Medium entweder als Kopfhörer-, Headset- oder Mikrofonbuchse wirken kann. Solche Buchsen sind baulich wie die Kopfhörerbuchsen bei Smartphones aufgebaut, das heißt vierpolig. Ein passender Stecker von einem Headset z.B. sieht dann wie folgt aus, wobei AUX der Mikrofonkontakt ist:

Darstellung eines vierpoligen Klinkensteckers. Von der Spitze Richtung Schaft: Audio links, Audio rechts, Masse, Mikrofon
Vierpoliger Klinkenstecker ©2013 Martin Meise CC BY-SA 3.0

Unter Linux funktionieren diese Buchsen teilweise nicht wie vorgesehen, da die Treiberunterstützung bei manchen Notebookmodellen nicht ausreichend vorhanden ist. Im Falle meines eigenen Notebooks (ASUS X751LK) funktionierte bei einem eingesteckten Headset nur der Kopfhörer, aber nicht das Mikrofon. ALSA hatte weiterhin das eingebaute Mikro benutzt und nicht erkannt, dass ein Headset angeschlossen war.

Mikrofon mit hdajackretask aktivieren

Die Lösung dazu war das Programm hdajackretask, welches den Ein- und Ausgängen der Soundkarte eine neue Funktion „aufzwingen“ kann. Im Falle meines Notebooks hat sich nämlich herausgestellt, dass der Kontakt für das Mikrofon in der Buchse als separater Eingang an der internen Soundkarte angebunden ist, allerdings standardmäßig nicht aktiv ist. Um den Treiber zu überreden, den Eingang doch zu nutzen, musste ich ein „Override“ für den Kontakt einrichten, was wie folgt ging:

  1. Ich wähle die passende Soundkarte aus. In meinem Fall steht „Intel Haswell HDMI“ und „Realtek ALC3236“ zur Auswahl. Ersterer ist nur für HDMI-Audio zuständig, ich wähle also den Realtek-Chip.
Auswahl der Soundkarte
  1. Meistens hilft es, „Set model=auto“ zu wählen, in meinem Fall macht das aber keinen Unterschied. Bei den angezeigten Kontakten ist auch keiner für ein externes Mikrofon dabei. Daher lasse ich mir mit „Show unconnected pins“ die laut Treiber nicht angeschlossenen Kontakte anzeigen.
Wählen von model=auto und unconnected pins
  1. Ich probiere also die Kontakte durch, wähle jeweils den Haken bei „Override“ an und stelle auf „Microphone“. Ein Klick auf „Apply now“ erlaubt mir einen Test damit. Bei Kontakt 0x19 habe ich Glück: Bei angeschlossenem Headset kommt darüber tatsächlich das Mikrofonsignal!
Aktivieren eines Overrides
  1. Ich führe zur Sicherheit einen Reboot durch und teste erneut. Da es immer noch klappt, aktiviere ich mit „Install boot override“ diese Konfiguration fest für jeden Systemstart.