LutzB3
(Themenstarter)
Anmeldungsdatum: 3. Mai 2022
Beiträge: 31
|
Die Suche in der Windows Registry war nicht wirklich erfolgreich. Habe nach "Realtek", "ALC294" und der Vendor-ID, Subsys-ID gesucht. Die geladenen Treiberdateien habe ich mir ebenfalls näher angesehen ("oemXXX.inf"), jedoch werden dort immer nur andere Binärdateien referenziert. Etwas, was wie eine Pinkonfiguration aussieht, konnte ich nicht sehen. Ist irgendwie das Suchen der Nadel im Heuhaufen. Irgendwie habe ich im Gefühl, dass ich in einer Linux Umgebung durch gezieltes Ausprobieren eher zum Ziel komme. In der alsa-base.conf hatte ich schon ein paar Optionen zu Beginn ausprobiert. Jetzt habe ich mir die komplette Liste der Optionen für den ALC294 Codec nochmal angesehen, weiß aber nicht, ob ich das richtig mache, daher noch ein paar Fragen dazu. Ich deaktiviere Pulseaudio.
| systemctl --user stop pulseaudio.socket
systemctl --user stop pulseaudio
|
Dann schreibe ich eine Option für das snd-hda-intel Modul in die alsa-base.conf. Z. B. "option snd-hda-intel moedl=asus-zenbook". Danach das Modul entladen und neu laden.
| sudo rmmod snd-hda-intel
sudo modprobe snd-hda-intel
|
In Alsamixer prüfe ich anschließend, ob ein Kanal stummgeschaltet ist und aktiviere alle.
Irgendwie scheinen sich manchmal die Sound Devices zu ändern, daher sehe ich mit "aplay -l" nach, wo der analoge Ausgang liegt.
Mit "speaker-test" versuche ich dann, ob irgendetwas zu hören ist.
| speaker-test -c2 -D plughw:1,0 --test=wav -w /usr/share/sounds/alsa/Front_Center.wav
|
Dabei wird der Parameter "plughw" an die Karte und den Kanal angepasst, die ich vorher mit "aplay -l" gesehen habe: "plughw:<Karte>,<Kanal> Ist das so ok oder muss ich noch "sudo alsa force-reload" vor dem Testen machen? Da bin ich mir nicht so sicher. Ich könnte natürlich auch einfach die Option in der alsa-base.conf setzen und rebooten, aber das dauert bei der Fülle an möglichen Optionen potentiell wesentlich länger. Was mich etwas wundert ist, dass unter /sys/class/sound/hwCxDy/modelname nie etwas steht. Müsste da nicht der Modellname aus der gesetzten Option erscheinen? Ich habe irgendwie den Eindruck, dass die gesetzte Option nicht beachtet wird.
|
Marant--
Anmeldungsdatum: 4. April 2022
Beiträge: 744
|
Gut ist auf jeden Fall, dass Du nicht lockerlässt. Ich habe mal auf die Schnelle geschaut.. https://asus-linux.org/blog/sound-2021-01-11/ Die "alsa-base.conf" Änderung komplett rückgängig machen. Hat momentan keinen Sinn.(asus-zenbook) bewirkt ja offb. nichts. Und im ALSAMixer siehst Du das was gesetzt wurde, das wird nicht etwa v. HW ausgelesen. DAS "option snd-hda-intel moedl=asus-zenbook" hattest Du doch nicht etwa gesetzt? Ist mehr ne Scherzfrage, aber man weiß ja nie..
|
LutzB3
(Themenstarter)
Anmeldungsdatum: 3. Mai 2022
Beiträge: 31
|
Äh, nein. Das war nicht copy/paste aus der .conf. 😬 Genau das Tool in Deinem Link habe ich quasi gesucht! Damit geht's dann weiter. Danke!
|
LutzB3
(Themenstarter)
Anmeldungsdatum: 3. Mai 2022
Beiträge: 31
|
Mit dem Tool konnte ich zumindest drei Unterschiede in der Pin-Konfiguration finden.
0x19 0x03A11050
0x1a 0x03A11C30
0x21 0x03211420
Laut Anleitung habe ich die /etc/modprobe.d/alsa-base.conf entsprechend ergänzt, eine weitere Zeile für das Modul gibt es nicht:
options snd-hda-intel patch=hda-sound-patch.fw
Die entsprechende Patch-Datei liegt unter /lib/firmware:
[codec]
0x10ec0294 0x10431b42 0
[pincfg]
0x19 0x03A11050
0x1a 0x03A11C30
0x21 0x03211420
Die Vendor- und Subsystem-ID habe ich inzwischen mehrfach geprüft.
In DMESG wird zumindest angezeigt, dass der Patch geladen wird:
lutz@zenbook:~$ sudo dmesg | grep snd_hda
[ 2.634017] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 2.637564] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 2.637632] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[ 2.637734] snd_hda_intel 0000:01:00.1: Disabling MSI
[ 2.637742] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 2.637753] snd_hda_intel 0000:01:00.1: Applying patch firmware 'hda-sound-patch.fw'
[ 5.157459] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC294: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 5.157465] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 5.157467] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 5.157469] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 5.157470] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 5.620783] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[ 5.620797] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
Trotzdem finde ich keine Einträge in /sys/class/sound/hwC1D0/user_pin_configs oder driver_pin_configs und es hat sich nicht wirklich etwas geändert. Ich bin gerade etwas ratlos. Überschreibt das Modul snd_hda_codec_realtek eventuell die Einstellungen wieder? Ich habe auch den Unterschied zwischen "card" und "codec" noch nicht wirlich verstanden. Mit dem Patch änder ich ja Einstellungen der Karte. Der Codec passt sich dann automatisch an? Die Zeile mit "speaker_outs=0" stört mich etwas. Ich sehe aber noch nach, welche Optionen ich dem Modul mitgeben kann.
|
Marant--
Anmeldungsdatum: 4. April 2022
Beiträge: 744
|
|
klasie
Anmeldungsdatum: 7. August 2018
Beiträge: 525
Wohnort: BY
|
Die Jungs hier https://askubuntu.com/questions/1225954/no-sound-with-ubuntu-20-04-on-asus-zenbook-ux533ftc
haben das Problem auf einem UX533 gelöst. Leider ist aus den Ausführungen der Codec (ALC294 ?) nicht erkennbar. Bitte bei dem Ausführbarmachen eines Scripts beachten, dass dieses Unterfangen m. W. nicht rüchgangig gemacht werden kann.
P.S. Bei der Arbeit mit der Seite "kernel.org" bitte darauf achten, dass die richtige Version (z. B. v5.13) eingestellt ist.
|
Marant--
Anmeldungsdatum: 4. April 2022
Beiträge: 744
|
|
LutzB3
(Themenstarter)
Anmeldungsdatum: 3. Mai 2022
Beiträge: 31
|
Mit einer VM wollte ich das testen, bevor ich mich hier gemeldet hatte. Leider sind meine IOMMU Groups sehr ungünstig zusammengefasst, sodass dieser Weg nicht so einfach funktioniert. Ich müsste dazu einen eigenen Kernel mit Patch für die IOMMUS bauen, damit die Geräte nicht zusammengelegt werden. Nachdem das Tool zum Auslesen unter Windows gefunden wurde, sehe ich auch nicht mehr die Notwendigkeit dafür. Habe gestern noch die Verbs der Dumps verglichen und ein paar Unterschiede gefunden. Leider bleibt das Problem, dass der Patch zwar geladen, jedoch irgendwie nicht angewendet wird. Zur Laufzeit lässt sich eigentlich die Pinconfig über das Sysfs anpassen. Sobald ich jedoch eine "1" nach "reconfigure" schreibe, um das anzuwenden, hängt der Prozess bzw das komplette Realtec Modul. Selbes Verhalten auch, wenn ich Änderungen von hdajackretask anwende. Dort werden im Hintergrund ja auch nur Befehle an das Sysfs des Codecs geschickt mit "reconfigure" zum Ende.
|
Marant--
Anmeldungsdatum: 4. April 2022
Beiträge: 744
|
PA stillegen, dann erst setzen. systemctl --user stop pulseaudio.socket pulseaudio.service
systemctl --user status pulseaudio.socket pulseaudio.service
systemctl --user start pulseaudio.socket pulseaudio.service bei dmesg | egrep -i 'snd|hda|firm' sollten Änderungen zu sehen sein. ggf. noch ein sudo alsa force-reload
|
LutzB3
(Themenstarter)
Anmeldungsdatum: 3. Mai 2022
Beiträge: 31
|
PA war bei allen Befehlen bereits abgeschaltet. Ansonsten kommt bei hdajackretask die Meldung "Device Busy". Die kommt jetzt nicht mehr, dafür hängt das erzeugte Skript. In dmesg sehe ich später noch nach.
|
Marant--
Anmeldungsdatum: 4. April 2022
Beiträge: 744
|
dafür hängt das erzeugte Skript.
Du meinst hdajackretask? Der erzeugt Datei auch nur in "/etc/modprobe.d/" u. "/lib/firmware/" Also nachsehen. In dmesg steht ja wenn sie angewandt wird. (Nach Neustart bzw. "sudo alsa force-reload") Glaube mit "Apply now" bis zum Neustart temp. sofort. Sieh mal ob in /etc/modprobe.d/ ls /etc/modprobe.d/ noch was von vorigen Versuchen herumlungert.
PA war bei allen Befehlen bereits abgeschaltet. –
..hdajackretask die Meldung "Device Busy".
Die kommt jetzt nicht mehr,
Wann war jetzt?
|
Marant--
Anmeldungsdatum: 4. April 2022
Beiträge: 744
|
Wir können ja mal was einfach nur zum Testen mit hdajackretask umschreiben.
|
LutzB3
(Themenstarter)
Anmeldungsdatum: 3. Mai 2022
Beiträge: 31
|
direkt nach dem Boot sagt dmesg folgendes:
lutz@zenbook:~$ sudo dmesg | egrep -i 'snd|hda|firm'
[sudo] Passwort für lutz:
[ 0.000000] [Firmware Bug]: TSC ADJUST: CPU0: -682414958 force to 0
[ 0.011118] [Firmware Bug]: TSC ADJUST differs within socket(s), fixing all errors
[ 0.709269] tpm tpm0: [Firmware Bug]: TPM interrupt not working, polling instead
[ 2.333927] iwlwifi 0000:00:14.3: loaded firmware version 66.f1c864e0.0 QuZ-a0-hr-b0-66.ucode op_mode iwlmvm
[ 2.343563] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 2.343598] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 2.343889] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[ 2.344117] snd_hda_intel 0000:01:00.1: Disabling MSI
[ 2.344133] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 2.344143] snd_hda_intel 0000:01:00.1: Applying patch firmware 'hda-sound-patch.fw'
[ 2.365971] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input25
[ 2.509312] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input26
[ 2.520816] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_12.bin (v2.12)
[ 2.560537] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input27
[ 2.916411] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0/input28
[ 4.831218] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[ 4.831222] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 4.832188] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:0:0-b678a
[ 4.832191] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:20:0 Kernel ABI 3:18:0
[ 4.935492] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:0:0-b678a
[ 4.935503] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:20:0 Kernel ABI 3:18:0
[ 5.006539] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC294: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 5.006546] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 5.006549] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 5.006551] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 5.006552] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 5.118220] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 5.119005] Bluetooth: hci0: Found device firmware: intel/ibt-19-0-4.sfi
[ 5.481392] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[ 5.481406] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
[ 5.481679] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi3 overwritten
[ 5.481690] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi2 overwritten
[ 5.481698] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi1 overwritten
[ 5.481707] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Codec Output Pin1 overwritten
[ 5.481713] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Codec Input Pin1 overwritten
[ 5.481725] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Analog Codec Playback overwritten
[ 5.481736] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Digital Codec Playback overwritten
[ 5.481746] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Alt Analog Codec Playback overwritten
[ 5.481759] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Analog Codec Capture overwritten
[ 5.481769] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Digital Codec Capture overwritten
[ 5.481780] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Alt Analog Codec Capture overwritten
[ 5.481800] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[ 5.481805] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 4
[ 5.481808] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 5
[ 5.481811] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 6
[ 5.481814] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 7
[ 5.481817] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 8
[ 5.501945] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input53
[ 5.502055] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input54
[ 5.502126] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input55
[ 5.502191] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input56
[ 7.033173] Bluetooth: hci0: Waiting for firmware download to complete
[ 7.034167] Bluetooth: hci0: Firmware loaded in 1870271 usecs
[ 7.054419] Bluetooth: hci0: Firmware revision 0.4 build 126 week 5 2022
Der Patch wird demnach geladen. Nach meinem Verständnis sollten dann Einträge in *_pin_config vorhanden sein.
lutz@zenbook:/sys/class/sound/hwC1D0$ cat init_pin_configs
0x12 0x40000000
0x13 0x411111f0
0x14 0x411111f0
0x15 0x411111f0
0x16 0x411111f0
0x17 0x90170110
0x18 0x411111f0
0x19 0x411111f0
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x40451a45
0x1e 0x411111f0
0x1f 0x411111f0
0x21 0x03211020
lutz@zenbook:/sys/class/sound/hwC1D0$ cat driver_pin_configs
lutz@zenbook:/sys/class/sound/hwC1D0$ cat user_pin_configs
Zur Kontrolle mal alles unter /etc/modprobe.d auf "snd-hda" geprüft:
lutz@zenbook:/sys/class/sound/hwC1D0$ cat /etc/modprobe.d/* | grep "snd-hda"
options snd-hda-intel patch=hda-sound-patch.fw
Der Patch sieht so aus:
lutz@zenbook:/lib/firmware$ ls -l hda*
-rw-r--r-- 1 root root 90 Mai 8 00:11 hda-sound-patch.fw
lutz@zenbook:/lib/firmware$ cat hda-sound-patch.fw
[codec]
0x10ec0294 0x10431b42 0
[pincfg]
0x19 0x03a11050
0x1a 0x03a11c30
0x21 0x03211420
hdajackretask erzeugt, wenn man "apply" anklickt, ein Skript unter /tmp, welches die Änderungen per hda-verb an den Codec übergibt. Das habe ich entdeckt, als der Prozess hing und ich nachgesehen hatte, was da genau blockiert. Bin heute leider etwas knapp mit meiner Zeit. Weitere Infos dann später. Ich dokumentiere dann gerne nochmal den kompletten Ablauf mit allen Befehlen und den festgestellten Problemen.
|
Marant--
Anmeldungsdatum: 4. April 2022
Beiträge: 744
|
Ich dokumentiere dann gerne nochmal den kompletten Ablauf mit allen Befehlen und den festgestellten Problemen.
Nee, momentan nicht. Poste mal die kompletten Dumps v. Win u. Linux. Dann sudo hdajacksensetest -a -c 1 und Klinke (KH u. Mic) einstecken. Will Pins wissen.(Reaktion mit "yes")
Also, nix einstecken → Aufruf; 2* Einstecken → erneuter Aufruf. Das Ganze am Besten posten.
|
LutzB3
(Themenstarter)
Anmeldungsdatum: 3. Mai 2022
Beiträge: 31
|
Die Dumps sind im Anhang. "*-default" ist das reine Notebook ohne Headset etc. Habe gerade bei hdajacksense gesehen, dass es einen Unterschied macht, ob ein Headset oder reine Kopfhörer eingesteckt sind. Das Gerät hat nur eine Kombibuchse, erkennt aber anscheinend den Unterschied. Habe gerade nur einen Windows-Dump mit/ohne Headset und nicht mit Kopfhörern. Wird nachgeliefert. Nur Nodebook:
lutz@zenbook:~$ sudo hdajacksensetest -a -c 1
Pin 0x12 (Not connected): present = No
Pin 0x13 (Not connected): present = No
Pin 0x14 (Not connected): present = No
Pin 0x15 (Not connected): present = No
Pin 0x16 (Not connected): present = No
Pin 0x17 (Internal Speaker): present = No
Pin 0x18 (Not connected): present = No
Pin 0x19 (Not connected): present = No
Pin 0x1a (Not connected): present = No
Pin 0x1b (Not connected): present = No
Pin 0x1d (Not connected): present = No
Pin 0x1e (Not connected): present = No
Pin 0x1f (Not connected): present = No
Pin 0x21 (Black Headphone, Left side): present = No
Headset:
lutz@zenbook:~$ sudo hdajacksensetest -a -c 1
Pin 0x12 (Not connected): present = No
Pin 0x13 (Not connected): present = No
Pin 0x14 (Not connected): present = No
Pin 0x15 (Not connected): present = No
Pin 0x16 (Not connected): present = No
Pin 0x17 (Internal Speaker): present = No
Pin 0x18 (Not connected): present = No
Pin 0x19 (Not connected): present = Yes
Pin 0x1a (Not connected): present = No
Pin 0x1b (Not connected): present = No
Pin 0x1d (Not connected): present = No
Pin 0x1e (Not connected): present = No
Pin 0x1f (Not connected): present = No
Pin 0x21 (Black Headphone, Left side): present = Yes
Kopfhörer:
lutz@zenbook:~$ sudo hdajacksensetest -a -c 1
Pin 0x12 (Not connected): present = No
Pin 0x13 (Not connected): present = No
Pin 0x14 (Not connected): present = No
Pin 0x15 (Not connected): present = No
Pin 0x16 (Not connected): present = No
Pin 0x17 (Internal Speaker): present = No
Pin 0x18 (Not connected): present = No
Pin 0x19 (Not connected): present = No
Pin 0x1a (Not connected): present = No
Pin 0x1b (Not connected): present = No
Pin 0x1d (Not connected): present = No
Pin 0x1e (Not connected): present = No
Pin 0x1f (Not connected): present = No
Pin 0x21 (Black Headphone, Left side): present = Yes
Heißt also:
ext. Kopfhörer: erkannt auf Pin 0x21
ext. Mikrofon: erkannt auf Pin 0x19
- lin_codec-dump-default (13.3 KiB)
- Download lin_codec-dump-default
- lin_codec-dump-headset (13.3 KiB)
- Download lin_codec-dump-headset
- RtHDDump-default.txt (1.3 MiB)
- Download RtHDDump-default.txt
- RtHDDump-headset.txt (1.3 MiB)
- Download RtHDDump-headset.txt
- lin_codec-dump-extSpeaker (10.4 KiB)
- Download lin_codec-dump-extSpeaker
- RtHDDump-extSpeaker.txt (1.3 MiB)
- Download RtHDDump-extSpeaker.txt
|