ubuntuusers.de

Mikrophon funktioniert unzuverlässig

Status: Ungelöst | Ubuntu-Version: Xubuntu 18.04 (Bionic Beaver)
Antworten |

4-Elster-4

Anmeldungsdatum:
23. Oktober 2014

Beiträge: 109

Mein Headsetmikrophon über Klinkenstecker (4-polig) funktioniert öfter nicht. Der Rechner aber merkt, ob es ein- oder ausgesteckt ist. Man sieht das in pavucontrol und in alsamixer.

Mit anderen Rechnern funktioniert das Headset zuverlässig. Am gleichen rechner funktioniert es auch mit Windows - eischließlich Mikro.

Wenn es mal nicht funktioniert und ich den Rechner nur herunter- und wieder herauffahren, funktioniert es oft doch wieder. Daher bin ich mir fast sicher, daß hier ein Software- und kein Hardwareproblem vorliegt (die Klinkenbuchse scheidet als Fehlerursache auch aus, weil sie unter Windows funktioniert!).

Wenn ich in so einer Fehlersituation bin, funktionieren auch die eingebauten Mikros nicht. Pavucontrol zeigt aber - je nach eingestecktem Headset - "Mikrophon (plugged in)" oder "internes Mikrophon". Beide funktionieren dann nicht.

Ich hatte so ein Problem auch schon einmal, als ich gar nicht über die Klinkenbuchse, sondern über einen Logitech-Soundadapter gegangen bin. Witzigerweise war das Problem da auch nach ein paar Neustarts und Ein und Aussteckversuchen wie weggeblasen.

Das Headset hat nur ein Mikrophon. Wenn ich es mit pavucontrol>Eingabe>Schloß auf rechtsseitig auf Empfindlichkeit 0 und linksseitig auf ca 40% stelle, rauschen die Aufnahmen weniger und in Audacity bekomme ich eine vernünftige Aufnahme des Gesprochenen (wenn das Mikro dann geht). Die Empfindlichkeitsänderungen führen zu unterschiedlichen Empfindlichkeiten in alsamixer bei CAPTURE. CAPTURE ist nicht gemutet.

Wenn das Mikro nicht funktioniert, so wie jetzt gerade wieder (Diagnoseausgabe siehe unten) zeigt pavucontrol im Reiter Eingabe auch keine Reaktion auf Gesprochenes.

Während eines Telefonats, das ich führte und bei dem ich vom Lautstärkeregler pavucontrol den Reiter Eingabe offen hatte, bemerkte ich, daß die beiden Empfindlichkeitsregler "wie von Geisternhand" gemeinsam auf 10% sprangen. Das passierte sogar mehrfach, nachdem ich das jeweils dort wieder korrigiert hatte.

Ich folge den Diagnoseanweisungen von https://wiki.ubuntuusers.de/Sound_Problembehebung/Audio-Fehler-Beschreibung/. das liefert mir:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
a@w:~$ lsb_release -d
Description:	Ubuntu 18.04.5 LTS
a@w:~$ uname -r
5.4.0-42-generic
a@w:~$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf3a30000 irq 34
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xf1000000 irq 17
a@w:~$ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: PCH [HDA Intel PCH], Gerät 0: ALC269VC Analog [ALC269VC Analog]
  Sub-Geräte: 0/1
  Sub-Gerät #0: subdevice #0
Karte 1: NVidia [HDA NVidia], Gerät 3: HDMI 0 [HDMI 0]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: NVidia [HDA NVidia], Gerät 7: HDMI 1 [HDMI 1]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: NVidia [HDA NVidia], Gerät 8: HDMI 2 [HDMI 2]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
a@w:~$ aplay /usr/share/sounds/alsa/Noise.wav
Wiedergabe: WAVE '/usr/share/sounds/alsa/Noise.wav' : Signed 16 bit Little Endian, Rate: 48000 Hz, mono
a@w:~$ lspci -nnk | grep -iA2 audio 
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
	Subsystem: Lenovo 7 Series/C216 Chipset Family High Definition Audio Controller [17aa:21f6]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
--
01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)
	Subsystem: Lenovo GK107 HDMI Audio Controller [17aa:21f5]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
a@w:~$ ps -C esd
  PID TTY          TIME CMD
a@w:~$ ps -C arts
  PID TTY          TIME CMD
a@w:~$ ps -C pulseaudio
  PID TTY          TIME CMD
 2176 ?        00:02:14 pulseaudio
a@w:~$ grep "^audio" /etc/group | grep "$USER" | wc -l
0
a@w:~$ dpkg -l | tr -s " " | grep " alsa-"
ii alsa-base 1.0.25+dfsg-0ubuntu5 all ALSA driver configuration files
ii alsa-utils 1.1.3-1ubuntu1 amd64 Utilities for configuring and using ALSA
a@w:~$ lsmod | grep "snd"
snd_seq_dummy          16384  0
snd_hda_codec_hdmi     61440  1
snd_hda_codec_realtek   122880  1
snd_hda_codec_generic    81920  1 snd_hda_codec_realtek
snd_hda_intel          49152  10
ledtrig_audio          16384  3 snd_hda_codec_generic,snd_hda_codec_realtek,thinkpad_acpi
snd_seq_midi           20480  0
snd_intel_dspcfg       24576  1 snd_hda_intel
snd_seq_midi_event     16384  1 snd_seq_midi
snd_hda_codec         131072  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_rawmidi            36864  1 snd_seq_midi
snd_hda_core           90112  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep              20480  1 snd_hda_codec
snd_seq                69632  4 snd_seq_midi,snd_seq_midi_event,snd_seq_dummy
snd_pcm               102400  6 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer              36864  2 snd_seq,snd_pcm
snd                    86016  31 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,thinkpad_acpi,snd_pcm,snd_rawmidi
soundcore              16384  1 snd
a@w:~$ head -n 3 /proc/asound/card0/codec#0
Codec: Realtek ALC269VC
Address: 0
AFG Function Id: 0x1 (unsol 1)
a@w:~$ head -n 3 /proc/asound/card0/codec97#0/ac97#0-0
Codec: Realtek ALC269VC
Address: 0
AFG Function Id: 0x1 (unsol 1)
a@w:~$ cat ~/.asoundrc
cat: /home/adalbert/.asoundrc: Datei oder Verzeichnis nicht gefunden
a@w:~$ cat ~/.asoundrc.asoundconf
cat: /home/adalbert/.asoundrc.asoundconf: Datei oder Verzeichnis nicht gefunden
a@w:~$ cat /etc/asound.conf
cat: /etc/asound.conf: Datei oder Verzeichnis nicht gefunden
a@w:~$

Ich laboriere an der Ecke schon länger herum und weiß nun keinen Rat mehr. Mit (nicht immer sicherem Ausgang) herunter- und wieder heraufzufahren ist sicher auch keine Dauerlösung.

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6474

Wohnort: Erlangen

Das ist ja ein HDA (genauer: ein ALC269VC). Hast du damit schon laboriert?

4-Elster-4

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2014

Beiträge: 109

pepre schrieb:

Das ist ja ein HDA (genauer: ein ALC269VC). Hast du damit schon laboriert?

Ja, der Typ steht ja in meinem Diagnoseoutput. An der Stelle, auf die Dein Link verweist, steht aber nichts zu ALC269VC.

Ich bin dem Rat von dort gefolgt und habe die Dateien /usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz, /usr/share/doc/alsa-base/driver/HD-Audio-Models.txt.gz und - nach Installation von linux-doc auch /usr/share/doc/linux-doc/sound/hd-audio/models.rst.gz entpackt um darin nach ALC269VC oder auch nur nach ALC269 suchen zu können.

Die Fundstellen enthielten aber nicht das, wonach ich suchte: Unter der Überschrift Module snd-hda-intel die Modul-Parameter für diesen Chip. Oder habe ich sie übersehen? Ich weiß ja gar nicht, wie die aussehen. In dem Beitrag behandeln sie einen Chip ALC 880 und darunter soll es die Parameter 3stack, 3stack-dig geben. Aber selbst diese Strings habe ich in den Dateien nicht gefunden (was eigentlich nichts macht, weil ich keinen ALC 880 habe. Ich wollte nur sehen, wonach ich Ausschau halten soll).

Ich finde da aber eine Überschrift ALC22x/23x/25x/269/27x/28x/29x (and vendor-specific ALC3xxx models) und darunter eine Reihe Einträge, einer davon für ALC269VA. Ich habe aber ALC299VC!

Auf der Seite https://wiki.ubuntuusers.de/Soundkarten_konfigurieren/HDA/#source-2 finde ich auf der Suche nach ALC269VC:

Medion MD 99373	Realtek ALC269VC	options snd-hda-intel model=medion-md2

Nun ist dies hier kein Medion-Rechner des genannten Typs, sondern ein Lenovo W530. Bevor ich was kaputt mache: Soll ich etwa diese Zeile mit model=medion-md2 in /etc/modprobe.d/alsa-base.conf eintragen? So finde ich die Datei vor:

# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7

# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }

# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2

Es gibt dort noch keine Zeile mit

options snd-hda-intel ...

passer-domesticus

Anmeldungsdatum:
25. August 2008

Beiträge: 127

pepre schrieb:

If you make something idiot-proof, nature develops better idiots.

Ich habe immer noch keine Antwort auf meine eigentliche Frage bekommen.

4-Elster-4

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2014

Beiträge: 109

4-Elster-4 schrieb:

Mein Headsetmikrophon über Klinkenstecker (4-polig) funktioniert öfter nicht. Der Rechner aber merkt, ob es ein- oder ausgesteckt ist. Man sieht das in pavucontrol und in alsamixer.

Mit anderen Rechnern funktioniert das Headset zuverlässig. Am gleichen Rechner funktioniert es auch mit Windows - eischließlich Mikro.

Heute hatte ich noch mehrere interessante Beobachtungen:

1. Über einen USB-Adapter Logitech Adapter A-5572A funktioniert unter Linux auch keine Aufnahme. Wiedergabe funktioniert aber. 2. Unter Windows 10 kann ich mit dem Sprachrecorder Sprache vom Headset-Mikro (über Klinkenbuchse) aufzeichnen. Eine Aufnahme über das eingebaute Mikro funktioniert nicht: Schweigen! 3. Nachdem eine Aufnahme unter Windows 10 funktioniert hatte, habe ich den Rechner herunter- und wieder neu gestartet. Dann funktionierte eine Aufnahme unter Xubuntu 18.04 mit Audacity wieder!

Bei dem Rechner handelt es sich um einen Laptop Lenovo W530.

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6474

Wohnort: Erlangen

Das W530 scheint unter Linux ein ziemliches Biest zu sein ☹

Da es schon ziemlich alt ist wird da auch nix mehr Großartiges passieren.

Nachdem eine Aufnahme unter Windows 10 funktioniert hatte, habe ich den Rechner herunter- und wieder neu gestartet. Dann funktionierte eine Aufnahme unter Xubuntu 18.04 mit Audacity wieder!

Ja, wurde schon beobachtet. Leider ohne Lösung. Für diese Billig-HDAs wird keinerlei Dokumentation für die Linux-Gemeinde bereitgestellt. Und was der Windowtreiber da anstellt, um den Chip funktionsfähig zu machen, bleibt unbekannt.

Sieht schlecht aus.

Über einen USB-Adapter Logitech Adapter A-5572A funktioniert unter Linux auch keine Aufnahme.

Wenn du das damit machen willst, dann eröffne bitte einen neuen Thread dazu. Und: ein Blick mit Alsamixer auf den Chip schadet nie 😉


Generell: es gibt einfach Hardware, die unter Linux nicht läuft. Das ist oft der Fall, wenn die Hardware "billig" ist und die Funktionalität nicht auf der Hardware selbst basiert, sondern in den Treiber ausgelagert wurde. Dann kommen statt wohlbekannter, genormter Datenströme "rohe Daten" vom Gerät. Da über deren Aufbau oft keine Dokumentation vorhanden ist stehen die Linux-Entwickler vor einem uninterpretierbaren Datenwust. Und die Hersteller sind oft nicht bereit den Linuxern die nötigen Infos zukommen zu lassen. Oder der Win/Mac-Treiber muss aufgrund unüblicher "Features" erst kryptische Kommandos an den Chip schicken, damit das Gerät wie gewünscht reagiert. Dann sieht's halt einfach mau aus. - Es ist bei Linux immer sinnig vor dem Kauf nachzuforschen, ob das Gerät funktioniert. Das macht das Leben sehr viel einfacher, aka "Wer billig kauft, kauft zweimal".

4-Elster-4

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2014

Beiträge: 109

pepre schrieb:

Das W530 scheint unter Linux ein ziemliches Biest zu sein ☹ ... Generell: es gibt einfach Hardware, die unter Linux nicht läuft. Das ist oft der Fall, wenn die Hardware "billig" ist und die Funktionalität nicht auf der Hardware selbst basiert, sondern in den Treiber ausgelagert wurde. Dann kommen statt wohlbekannter, genormter Datenströme "rohe Daten" vom Gerät. Da über deren Aufbau oft keine Dokumentation vorhanden ist stehen die Linux-Entwickler vor einem uninterpretierbaren Datenwust. Und die Hersteller sind oft nicht bereit den Linuxern die nötigen Infos zukommen zu lassen. Oder der Win/Mac-Treiber muss aufgrund unüblicher "Features" erst kryptische Kommandos an den Chip schicken, damit das Gerät wie gewünscht reagiert. Dann sieht's halt einfach mau aus. - Es ist bei Linux immer sinnig vor dem Kauf nachzuforschen, ob das Gerät funktioniert. Das macht das Leben sehr viel einfacher, aka "Wer billig kauft, kauft zweimal".

Laut https://support.lenovo.com/de/en/solutions/linux-243623x soll der W530 kompatibel mit Linux sein.

Es hätte mich gewundert, wenn es anders wäre, denn die ähnlich aufgebauten und sehr verbreiteten T4xx-Modelle laufen bekanntermaßen gut unter Linux. Der W530 ist die Worksation-Variante zum T530. Der W530 hat einen größeren Bildschirm und andere Grafikchips (Intel HD 4000 und nVidia Quadro). Den T530 gab es mit verschiedenen anderen Grafikchips.

So richtig uralt ist das Modell W530 nicht: Es wurde bis August 2014 produziert.

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6474

Wohnort: Erlangen

4-Elster-4 schrieb:

Laut https://support.lenovo.com/de/en/solutions/linux-243623x soll der W530 kompatibel mit Linux sein.

Das ist eine Aufzählung von Hardware, sonst nix. Typischer Marketing-Trick, das "certification" klingt halt gut, sagt idF aber rein gar nix aus. Da steht ja auch nirgends "supported since kernel 3.x.y", was das Mindeste wäre, was man für ein Lauffähigkeits-Zertifikat erwarten würde.

So richtig uralt ist das Modell W530 nicht: Es wurde bis August 2014 produziert.

Sorry, so geht das nicht. Bei Computern sind 6 Jahre zwei bis drei Generationen. Aktuell ist er zur Markt-Einführung (idF wohl 2012), wenn die Produktion ausläuft ist er schon veraltet. Das ist schlicht nicht mit Haushaltsgeräten vergleichbar.

Zum Problem: ALSA sagt folgendes zum Chip:

    - ALSA: hda - Add Realtek ALC269VC codec support
    Add the support of ALC269VC codec.
    Also delete the unnecessary codec_variant type enum list:
    now only three variants (ALC269VA ALC269VB ALC269VC) are needed.
    In addition, added some aliases:
    - Add ALC269VB alias name ALC277
    - Add ALC269VC alias name ALC259 ALC281X
    - Add ALC269VC for Lenovo device 0x21f3 name ALC3202

Die einzige Chance auf ein ordnungsgemäßes Funktionieren besteht mMn im Durchprobieren der der Optionen gemäß HDA.

headset-mic wäre so ein Kandidat.

4-Elster-4

(Themenstarter)

Anmeldungsdatum:
23. Oktober 2014

Beiträge: 109

pepre schrieb:

Das W530 scheint unter Linux ein ziemliches Biest zu sein ☹ ...

Heute hatte ich wieder so eine Situation: Unter Xubuntu funktionierte einfach keine Mikrophonaufnahme mehr. Übrigens auch nicht über den Logitech USB-Adapter (das sollte ja ein anderer Thread werden).

Dann einmal Windows 10 gestartet, da eine Testaufnahme über das Mikro mit dem Sprachrecoder: die funktionierte.

Dann zurück nach Xubuntu und da eine Testaufnahme über das Mikro mit Audacity: die funktionierte auch.

In den Situation vorher (wo die Mikrophonaufnahme nicht funkionierte) und nach Windows 10, wo sie wieder funktioniert hatte und nachdem ich das in Xubuntu mit Audacity geprüft hatte, habe ich mir beidesmal den Inhalt der Datei /var/lib/alsa/asound.state an eine andere Stelle gerettet um sie zu vergleichen. Es gab tatsächlich einen Unterschied in Zeile 349.

Ich zeige hier mal die Umgebung der Zeile aus der Situation, in der die Aufnahme nicht ging:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
	control.28 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		comment {
			access read
			type INTEGER
			count 4
			range '0 - 36'
		}
	}

Zeile 349 ist die mit value.0. In der Situation später stand da

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
	control.28 {
		iface PCM
		name 'Playback Channel Map'
		value.0 3
		value.1 4
		value.2 0
		value.3 0
		comment {
			access read
			type INTEGER
			count 4
			range '0 - 36'
		}
	}

d.h. die Zahlenwerte hinter value.0 und value.1 hatten sic geändert.

Ich kann das nicht einordnen. Weiß jemand, ob das was mit meinem Problem zu tun hat und ggf. was?

Wäre eine gezielte Manipulation dieser Datei nach jedem Start eventuell zielführend?

Antworten |