Seite 1 von 1

Externes Mikro am Thinkpad T410

Verfasst: Di Okt 23, 2012 11:33 pm
von Mitsch
Hi!

Mein Thinkpad T410 hat so 'ne Headset-Kombi -Buchse für den Sound, also EIN dreipoliger 3,5mm-Klinkenstecker für Mikro und Stereo-Kopfhörer in einer einzigen Buchse!
Leider bekomme ich das externe Mikro ums verrecken nicht zum Laufen. Nicht mal, wenn ich PulseAudio abschieß und versuche, die Einstellungen mittels alsamixer in der Konsole manuell vorzunehmen. Ein zweiter Mikrophonanschluss wird zwar angezeigt, trotzdem bleibt das Mikro stumm. Hardware-mässig bin ich mir relativ sicher, dass nichts falsch läuft.

Jetzt wollte ich mal schauen, mit welchen Parametern mein Intel HD-Audio-Treiber geladen wurde - evtl. wurde ja der falsche Typ geladen. Dummerweise fehlt mir da der passende Konsolenbefehl dafür. modinfo zeigt beispielsweise allgemeine Infos über das entsprechende Modul, aber nicht, mit welchen Parametern das Modul geladen wurde.

Weiß zufällig jemand was dazu?

Grüße!

Re: Externes Mikro am Thinkpad T410

Verfasst: Mi Okt 24, 2012 4:34 am
von brummer
als root

Code: Alles auswählen

modinfo modulename | grep parm
um alle parameter für alle modul azuzeigen (oneliner als user):

Code: Alles auswählen

cat /proc/modules | cut -f 1 -d " " | while read module; do \
 echo "Module: $module"; \
 if [ -d "/sys/module/$module/parameters" ]; then \
  ls /sys/module/$module/parameters/ | while read parameter; do \
   echo -n "Parameter: $parameter --> "; \
   cat /sys/module/$module/parameters/$parameter; \
  done; \
 fi; \
 echo; \
done

Re: Externes Mikro am Thinkpad T410

Verfasst: Mi Okt 24, 2012 2:10 pm
von Mitsch
Also bei mir kommt das da raus:

Code: Alles auswählen

/home/mitsch# modinfo snd-hda-intel  |grep parm
parm:           index:Index value for Intel HD audio interface. (array of int)
parm:           id:ID string for Intel HD audio interface. (array of charp)
parm:           enable:Enable Intel HD audio interface. (array of bool)
parm:           model:Use the given board model. (array of charp)
parm:           position_fix:DMA pointer read method.(0 = auto, 1 = LPIB, 2 = POSBUF, 3 = VIACOMBO, 4 = COMBO). (array of int)
parm:           bdl_pos_adj:BDL position adjustment offset. (array of int)
parm:           probe_mask:Bitmask to probe codecs (default = -1). (array of int)
parm:           probe_only:Only probing and no codec initialization. (array of int)
parm:           single_cmd:Use single command to communicate with codecs (for debugging only). (bool)
parm:           enable_msi:Enable Message Signaled Interrupt (MSI) (bint)
parm:           patch:Patch file for Intel HD audio interface. (array of charp)
parm:           beep_mode:Select HDA Beep registration mode (0=off, 1=on) (default=1). (array of bool)
parm:           power_save:Automatic power-saving timeout (in second, 0 = disable). (int)
parm:           power_save_controller:Reset controller in power save mode. (bool)
parm:           align_buffer_size:Force buffer and period sizes to be multiple of 128 bytes. (bint)
parm:           snoop:Enable/disable snooping (bool)
Also, wie bereits oben erwähnt: Nicht sehr aufschlussreich.
Dein Script ist aber nicht schlecht. Für snd-hda-intel kommt folgendes raus:

Code: Alles auswählen

Module: snd_hda_intel
Parameter: align_buffer_size --> -1
Parameter: bdl_pos_adj --> 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
Parameter: beep_mode --> N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
Parameter: enable --> Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
Parameter: enable_msi --> -1
Parameter: id --> (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null), null),(null),(null),(null),(null)
Parameter: index --> -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
Parameter: model --> (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
Parameter: patch --> (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
Parameter: position_fix --> 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Parameter: power_save --> 0
Parameter: power_save_controller --> N
Parameter: probe_mask --> -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
Parameter: probe_only --> 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Parameter: single_cmd --> N
Parameter: snoop --> Y
Nur Parameter:model kapier ich nicht. Müsste da nicht 'ne Ausgabe außer (null) erfolgen - also entweder, es wird nichts angezeigt, oder genau hier liegt der Fehler, der verhindert, dass ich mein externes Mikro zum Laufen kriege!

Zeit, sich mit den ALSA-Entwicklern kurz zu schließen! (Außer natürlich, hier kennt sich auch jemand aus...)

Vielen Dank!
Und Grüße!