Re: Strange findings about the microphone in SigmaTel STAC9221 A1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please appologise me for making the diffs the wrong way round. Below
you will find the information corrected.

Also one addition thing I just found out is that it even with capture
volume on max the recorded volume is *very* low. This problem seems
not to be present with the auto-config from alsa rc4.

- Build the latest driver with your pingconfig patch.

Patch, which adds an "intel-imac-20" pinconfig attached.

- Unload the driver module.
- Remove /etc/asound.state (or whatever alsactl stores -- the path is
  depending on distro)
- Load the module again; at this state, mixers are muted
- Get the first codec dump here once

initial-codec attached.

- Unmute the playbacks as usual.  Check playback.
Playback works.

- Turn on only "Capture Switch".  Don't adjust "Capture Volume" and
  "Mux Capture Volume" if they are zero.
  Test recording once here.  Get codec dump again.

Recording doesn't work. Codec diff:

Node 0x02 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
 Amp-Out caps: N/A
-  Amp-Out vals:  [0xff 0xff]
+  Amp-Out vals:  [0x7f 0x7f]
 Power: 0x0
Node 0x03 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
 Amp-Out caps: N/A
-  Amp-Out vals:  [0xff 0xff]
+  Amp-Out vals:  [0x7f 0x7f]
 Power: 0x0
Node 0x04 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
 Amp-Out caps: N/A
-  Amp-Out vals:  [0xff 0xff]
+  Amp-Out vals:  [0x7f 0x7f]
 Power: 0x0
Node 0x05 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
 Amp-Out caps: N/A
-  Amp-Out vals:  [0xff 0xff]
+  Amp-Out vals:  [0x7f 0x7f]
 Power: 0x0

- If not working, try resetting the input source.
  Test recording.  Get codec dump.

Reseting the input source doesn't result a difference in the codec
info and recording still doesn't work.

- Raise "Capture Volume".  Test recording, get codec dump.

After this recording works! Woho! :-)

Node 0x17 [Audio Selector] wcaps 0x300903: Stereo Amp-In
 Amp-In caps: N/A
-  Amp-In vals:  [0x00 0x00]
+  Amp-In vals:  [0x0e 0x0e]
 Connection: 1
    0x12

- Raise "Mux Capture Volume".  Test recording, get codec dump.

For the sake of the test I have also umuted and increased Mux, which
results the following diff and a non-working recording

Node 0x12 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
 Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
-  Amp-Out vals:  [0x00 0x00]
+  Amp-Out vals:  [0x04 0x04]
 Connection: 7
    0x0e 0x15 0x0f 0x0b* 0x0c 0x0d 0x0a


Regards.
- Show quoted text -
--
Ivan N. Zlatev

Web: http://www.i-nZ.net
"It's all some kind of whacked out conspiracy."
diff -r be73500bd42a pci/hda/patch_sigmatel.c
--- a/pci/hda/patch_sigmatel.c	Sat May 19 17:21:04 2007 +0200
+++ b/pci/hda/patch_sigmatel.c	Fri May 18 20:48:01 2007 +0100
@@ -64,6 +64,7 @@ enum {
 	STAC_MACBOOK_PRO_V1,
 	STAC_MACBOOK_PRO_V2,
 	STAC_IMAC_INTEL,
+	STAC_IMAC_INTEL_20,
 	STAC_922X_MODELS
 };
 
@@ -567,6 +568,12 @@ static unsigned int imac_intel_pin_confi
 	0x400000fc, 0x400000fb,
 };
 
+static unsigned int imac_intel_20_pin_configs[10] = {
+	0x0121E21F, 0x90A7012E, 0x9017E110, 0x400000FD,
+	0x400000FE, 0x0181E020, 0x1145E230, 0x11C5E240,
+	0x400000FC, 0x400000FB,
+};
+
 static unsigned int *stac922x_brd_tbl[STAC_922X_MODELS] = {
 	[STAC_D945_REF] = ref922x_pin_configs,
 	[STAC_D945GTP3] = d945gtp3_pin_configs,
@@ -576,6 +583,7 @@ static unsigned int *stac922x_brd_tbl[ST
 	[STAC_MACBOOK_PRO_V1] = macbook_pro_v1_pin_configs,
 	[STAC_MACBOOK_PRO_V2] = macbook_pro_v2_pin_configs,
 	[STAC_IMAC_INTEL] = imac_intel_pin_configs,
+	[STAC_IMAC_INTEL_20] = imac_intel_20_pin_configs,
 };
 
 static const char *stac922x_models[STAC_922X_MODELS] = {
@@ -587,6 +595,7 @@ static const char *stac922x_models[STAC_
 	[STAC_MACBOOK_PRO_V1]	= "macbook-pro-v1",
 	[STAC_MACBOOK_PRO_V2]	= "macbook-pro",
 	[STAC_IMAC_INTEL] = "imac-intel",
+	[STAC_IMAC_INTEL_20] = "imac-intel-20",
 };
 
 static struct snd_pci_quirk stac922x_cfg_tbl[] = {
@@ -2022,6 +2031,9 @@ static int patch_stac922x(struct hda_cod
 		case 0x106b0700: /* Intel-based iMac */
 			spec->board_config = STAC_IMAC_INTEL;
 			break;
+		case 0x106b1700: /* Intel iMac 20 */
+			spec->board_config = STAC_IMAC_INTEL_20;
+			break;
 		}
 	}
 

Attachment: initial-codec
Description: Binary data

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux