public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [Bisected regression] Microphone no longer works on Toshiba Satellite A100
@ 2009-05-24 15:49 M. Vefa Bicakci
  0 siblings, 0 replies; 5+ messages in thread
From: M. Vefa Bicakci @ 2009-05-24 15:49 UTC (permalink / raw)
  To: linux-kernel

Hello,

After testing 2.6.30-rc6, I noticed that microphone input on my Toshiba Satellite
A100 laptop is no longer working; that is, my microphone input longer captures sound.
This laptop's sound card has a Realtek ALC 861 codec, and by default the auto probe
mechanism is used; I am not using a "model=..." argument. The sound input works
properly in 2.6.29 (and before.)

After bisecting the differences between 2.6.29 and 2.6.30-rc6, I found the commit
which causes this regression:

=== 8< ===
23f0c048ba59ad5c2f3fd85ed98360b631dbf6f8 is first bad commit
commit 23f0c048ba59ad5c2f3fd85ed98360b631dbf6f8
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Feb 26 13:03:58 2009 +0100

    ALSA: hda - Clean up the input pin setup in automatic mode

    Clean up the input-pin setup in automatic mode in patch_realtek.c.

    Signed-off-by: Takashi Iwai <tiwai@suse.de>
=== >8 ===

A look at the changes introduced by this commit gave more information about the
cause of this regression. Below are the new function introduced and two diff
blocks from this commit. [1] As you can see, the original code for ALC /861/
does not have the "reading pincap, shifting it and checking whether it has a
certain bit set" kind of algorithm. This comment applies to most other codecs
modified by this commit too.

Judging from the code that was in the tree before the mentioned commit, only
ALC /882/ needed the "checking whether pincap has a certain bit set" algorithm.
I believe that the inclusion of the "checking whether pincap has..." algorithm
to the codecs /other/ than the ALC 882 broke the other codecs. Unfortunately,
since I don't have the any hardware other than ALC 861, I cannot say whether
this commit broke the sound input on other codecs.

For the record, I applied the following patch to the kernel source,

=== 8< ===
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index b340630..0d0957e 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -772,6 +772,7 @@ static void alc_set_input_pin(struct hda_codec *codec, hda_nid_t nid,
 		unsigned int pincap;
 		pincap = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP);
 		pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT;
+		printk(KERN_INFO "pincap: 0x%x, AC_PINCAP_VREF_80: 0x%x\n", pincap, AC_PINCAP_VREF_80);
 		if (pincap & AC_PINCAP_VREF_80)
 			val = PIN_VREF80;
 	}
=== >8 ===

and here's the output I get:

=== 8< ===
pincap: 0x3, AC_PINCAP_VREF_80: 0x10
=== >8 ===

As you can see, my pincap value does not have the necessary bit set to meet the
requirements of ALC 882's algorithm.

I also hoped that this problem had already been noticed and fixed. With this
hope, I cloned the sound-2.6 tree by Takashi Iwai; however, while I didn't
compile and test it, I didn't see any changes related to this problem in the
log of sound-2.6 tree. (I also looked at sound-2.6 tree's
"sound/pci/hda/patch_realtek.c" file.)

I believe that this is a regression which breaks an important functionality.
I am willing to do testing, etc. to help in resolving this problem.

Regards,

M. Vefa Bicakci

[1] Appended is the mentioned code, which is a part of the mentioned commit,
with only the parts related to this regression kept.

=== 8< ===
 /*
+ * set up the input pin config (depending on the given auto-pin type)
+ */
+static void alc_set_input_pin(struct hda_codec *codec, hda_nid_t nid,
+			      int auto_pin_type)
+{
+	unsigned int val = PIN_IN;
+
+	if (auto_pin_type <= AUTO_PIN_FRONT_MIC) {
+		unsigned int pincap;
+		pincap = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP);
+		pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT;
+		if (pincap & AC_PINCAP_VREF_80)
+			val = PIN_VREF80;
+	}
+	snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val);
+}
+
+/*
  */
 static void add_mixer(struct alc_spec *spec, struct snd_kcontrol_new *mix)
 {

[snip]

@@ -7006,16 +7018,7 @@ static void alc882_auto_init_analog_input(struct hda_codec *codec)
 		unsigned int vref;
 		if (!nid)
 			continue;
-		vref = PIN_IN;
-		if (1 /*i <= AUTO_PIN_FRONT_MIC*/) {
-			unsigned int pincap;
-			pincap = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP);
-			if ((pincap >> AC_PINCAP_VREF_SHIFT) &
-			    AC_PINCAP_VREF_80)
-				vref = PIN_VREF80;
-		}
-		snd_hda_codec_write(codec, nid, 0,
-				    AC_VERB_SET_PIN_WIDGET_CONTROL, vref);
+		alc_set_input_pin(codec, nid, AUTO_PIN_FRONT_MIC /*i*/);
 		if (get_wcaps(codec, nid) & AC_WCAP_OUT_AMP)
 			snd_hda_codec_write(codec, nid, 0,
 					    AC_VERB_SET_AMP_GAIN_MUTE,

[snip]

@@ -13831,12 +13831,8 @@ static void alc861_auto_init_analog_input(struct hda_codec *codec)
 
 	for (i = 0; i < AUTO_PIN_LAST; i++) {
 		hda_nid_t nid = spec->autocfg.input_pins[i];
-		if (nid >= 0x0c && nid <= 0x11) {
-			snd_hda_codec_write(codec, nid, 0,
-					    AC_VERB_SET_PIN_WIDGET_CONTROL,
-					    i <= AUTO_PIN_FRONT_MIC ?
-					    PIN_VREF80 : PIN_IN);
-		}
+		if (nid >= 0x0c && nid <= 0x11)
+			alc_set_input_pin(codec, nid, i);
 	}
 }
 
=== >8 ===


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Bisected regression] Microphone no longer works on Toshiba Satellite A100
       [not found] ` <s5hskiuv4d2.wl%tiwai@suse.de>
@ 2009-05-24 18:06   ` M. Vefa Bicakci
  2009-05-25  5:57     ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: M. Vefa Bicakci @ 2009-05-24 18:06 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2432 bytes --]

Takashi Iwai wrote:
> At Sun, 24 May 2009 11:51:17 -0400,
> M. Vefa Bicakci wrote:
>> Dear Takashi Iwai,
>>
>> I am sorry for sending this e-mail to you directly. I was going to
>> CC you with linux-kernel@majordomo.kernel.org but forgot to do so.
> 
> Thanks for report.
> Your post doesn't appear on LKML yet, at least it didn't reach to
> me.  Anyway, could you run alsa-info.sh with --no-upload option and
> attach the generated file?  The script is found at
>     http://www.alsa-project.org/alsa-info.sh

Attached are two outputs from this script. Please read below to learn
why there are two different outputs.
 
[snip]

>>
>> Judging from the code that was in the tree before the mentioned commit, only
>> ALC /882/ needed the "checking whether pincap has a certain bit set" algorithm.
> 
> No, the pincap check is basically a "must" for all codecs.  The codecs
> that don't give proper capability bits are broken by design.  I need
> to check ALC861 datasheet again, but it's possible ALC861 is a sort of
> such ones.  A workaround would be needed no matter how broken the h/w
> is, though... :)

Oh, I am sorry. To be honest, I don't know much about the Realtek codecs, or
sound card drivers. I just made a guess looking at the working code. Now I
understand that my guess was wrong.

Since we are talking about possibly broken hardware, I would like to mention
to you a problem that I was thinking of reporting but haven't had the chance
to. This problem is also the reason why there are two different outputs
generated by the alsa-info.sh script.

When one first boots this laptop, alsamixer does not show PCM playback and
Digital Input capture channels. However, if I run a ALSA-compatible program
which uses the PCM playback (such as mpg321) or the Digital Input capture
channel (such as arecord), then the respective channels appear in alsamixer.
Does this mean that a new "model=..." quirk needs to be written for this
this laptop? ("model=toshiba" does not work properly.) I am sorry if this
is totally unrelated to the original regression.

The attached file named "before.txt" is the output of alsa-info.sh before
I force the driver to create the PCM and Digital Input channels. The file
named "after.txt" was produced after I ran "play" (sox) and "arecord",
and hence this file contains reference to the mentioned channels.

Please let me know if there is anything I can help with.

Thank you,

M. Vefa Bicakci


[-- Attachment #2: alsa-before.txt --]
[-- Type: text/plain, Size: 16622 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.56
!!################################

!!Script ran on: Sun May 24 17:33:00 UTC 2009


!!Linux Distribution
!!------------------

Debian GNU/Linux squeeze/sid \n \l


!!Kernel Information
!!------------------

Kernel release:    2.6.29.4
Operating System:  GNU/Linux
Architecture:      i686
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     1.0.18a
Library version:    1.0.20
Utilities version:  1.0.19


!!Loaded ALSA modules
!!-------------------

snd_hda_intel


!!Sound Servers on this system
!!----------------------------

aRts:
      Installed - Yes (/usr/bin/artsd)
      Running - No


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xf0b40000 irq 22


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
07:06.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)


!!Advanced information - PCI Vendor/Device/Susbsystem ID's
!!--------------------------------------------------------

00:1b.0 0403: 8086:27d8 (rev 02)
	Subsystem: 1179:ff10


!!Modprobe options (Sound related)
!!--------------------------------

snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-pcsp: index=-2


!!Loaded sound module options
!!--------------------------

!!Module: snd_hda_intel
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
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
enable_msi : 0
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>
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
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>
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
power_save : 0
power_save_controller : Y
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
probe_only : 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
single_cmd : N


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Realtek ALC861
Address: 0
Vendor Id: 0x10ec0861
Subsystem Id: 0x11791205
Revision Id: 0x100300
No Modem Function Group found
Default PCM:
    rates [0x140]: 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x03 [Audio Output] wcaps 0x405: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x00 0x00]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x405: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
Node 0x05 [Audio Output] wcaps 0x405: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
Node 0x06 [Audio Output] wcaps 0x405: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
Node 0x07 [Audio Output] wcaps 0x605: Stereo Digital Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x00 0x00]
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  Power: setting=D0, actual=D0
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x02, nsteps=0x0d, stepsize=0x0b, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x140]: 48000 96000
    bits [0x2]: 16
    formats [0x1]: PCM
  Power: setting=D0, actual=D0
  Connection: 6
     0x0d* 0x0c 0x0f 0x10 0x11 0x15
Node 0x09 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000001f: OUT HP Detect Trigger ImpSense
  Pin Default 0x01014110: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x16
Node 0x0c [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000037: IN OUT Detect Trigger ImpSense
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x19
Node 0x0d [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000337: IN OUT Detect Trigger ImpSense
    Vref caps: HIZ 50
  Pin Default 0x01a19920: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x2, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x18
Node 0x0e [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000017: OUT Detect Trigger ImpSense
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x19
Node 0x0f [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000033f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x1a
Node 0x10 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000033f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x1b
Node 0x11 [Pin Complex] wcaps 0x400001: Stereo
  Pincap 0x00000063: IN Balanced Trigger ImpSense
  Pin Default 0x9933012e: [Fixed] CD at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x2, Sequence = 0xe
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x12 [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Connection: 1
     0x07
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x0d 0x10
Node 0x15 [Audio Mixer] wcaps 0x20050f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x0c, nsteps=0x17, stepsize=0x0b, mute=1
  Amp-In vals:  [0x13 0x13] [0x80 0x80] [0x00 0x00]
  Amp-Out caps: ofs=0x0c, nsteps=0x0c, stepsize=0x0b, mute=1
  Amp-Out vals:  [0x0c 0x0c]
  Power: setting=D0, actual=D0
  Connection: 3
     0x11 0x14 0x1c
Node 0x16 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x15
Node 0x17 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x04 0x15
Node 0x18 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x05 0x15
Node 0x19 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x06 0x15
Node 0x1a [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x00 0x00]
  Connection: 4
     0x04 0x06 0x15 0x03
Node 0x1b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x00 0x00]
  Connection: 4
     0x04 0x06 0x15 0x03
Node 0x1c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x0c 0x0f
Node 0x1d [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1f [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000017: OUT Detect Trigger ImpSense
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x18
Node 0x20 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000017: OUT Detect Trigger ImpSense
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x17
  Processing Coefficient: 0x00
  Coefficient Index: 0x00
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x23 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Amp-Out caps: ofs=0x0f, nsteps=0x0f, stepsize=0x0b, mute=1
  Amp-Out vals:  [0x8f]
Codec: LSI Si3054
Address: 1
Vendor Id: 0x11c13026
Subsystem Id: 0x11790001
Revision Id: 0x100700
Modem Function Group: 0x1
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw---- 1 root audio 116, 10 2009-05-24 09:30 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  9 2009-05-24 09:30 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  8 2009-05-24 09:30 /dev/snd/hwC0D1
crw-rw---- 1 root audio 116,  7 2009-05-24 09:30 /dev/snd/pcmC0D0c
crw-rw---- 1 root audio 116,  6 2009-05-24 09:30 /dev/snd/pcmC0D0p
crw-rw---- 1 root audio 116,  5 2009-05-24 09:30 /dev/snd/pcmC0D6c
crw-rw---- 1 root audio 116,  4 2009-05-24 09:30 /dev/snd/pcmC0D6p
crw-rw---- 1 root audio 116,  3 2009-05-24 09:30 /dev/snd/seq
crw-rw---- 1 root audio 116,  2 2009-05-24 09:30 /dev/snd/timer


!!Aplay/Arecord output
!!------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC861 Analog [ALC861 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC861 Analog [ALC861 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [Intel]

Card hw:0 'Intel'/'HDA Intel at 0xf0b40000 irq 22'
  Mixer name	: 'Realtek ALC861'
  Components	: 'HDA:10ec0861,11791205,00100300 HDA:11c13026,11790001,00100700'
  Controls      : 11
  Simple ctrls  : 8
Simple mixer control 'Master',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Front',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'CD',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 23
  Mono:
  Front Left: Playback 19 [83%] [21.00dB] [on]
  Front Right: Playback 19 [83%] [21.00dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 23
  Mono:
  Front Left: Playback 0 [0%] [-36.00dB] [off]
  Front Right: Playback 0 [0%] [-36.00dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 13
  Front Left: Capture 0 [0%] [-6.00dB] [off]
  Front Right: Capture 0 [0%] [-6.00dB] [off]
Simple mixer control 'Caller ID',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Mic' 'CD'
  Item0: 'Mic'
Simple mixer control 'Off-hook',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]


!!Alsactl output
!!-------------

--startcollapse--
state.Intel {
	control.1 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Front Playback Switch'
		value.0 true
		value.1 true
	}
	control.2 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 23'
		comment.dbmin -3600
		comment.dbmax 3300
		iface MIXER
		name 'Mic Playback Volume'
		value.0 0
		value.1 0
	}
	control.3 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Mic Playback Switch'
		value.0 false
		value.1 false
	}
	control.4 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 23'
		comment.dbmin -3600
		comment.dbmax 3300
		iface MIXER
		name 'CD Playback Volume'
		value.0 19
		value.1 19
	}
	control.5 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'CD Playback Switch'
		value.0 true
		value.1 true
	}
	control.6 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Capture Switch'
		value.0 false
		value.1 false
	}
	control.7 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 13'
		comment.dbmin -600
		comment.dbmax 3300
		iface MIXER
		name 'Capture Volume'
		value.0 0
		value.1 0
	}
	control.8 {
		comment.access 'read write'
		comment.type ENUMERATED
		comment.count 1
		comment.item.0 Mic
		comment.item.1 CD
		iface MIXER
		name 'Input Source'
		value Mic
	}
	control.9 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'Master Playback Switch'
		value true
	}
	control.10 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'Off-hook Switch'
		value false
	}
	control.11 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'Caller ID Switch'
		value false
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
af_packet
ppdev
parport_pc
lp
parport
bridge
stp
bnep
sco
l2cap
bluetooth
cpufreq_conservative
cpufreq_powersave
cpufreq_ondemand
cpufreq_stats
cpufreq_performance
ip6table_filter
ip6_tables
ipv6
nf_conntrack_ipv4
nf_defrag_ipv4
xt_state
xt_tcpudp
ipt_REJECT
nf_conntrack_irc
nf_conntrack_ftp
nf_conntrack
iptable_filter
ip_tables
x_tables
fuse
acpi_cpufreq
freq_table
snd_hda_codec_si3054
joydev
snd_hda_codec_realtek
snd_hda_intel
snd_hda_codec
snd_hwdep
snd_pcm_oss
snd_mixer_oss
snd_pcm
snd_seq_dummy
pcmcia
snd_seq_oss
arc4
ecb
snd_seq_midi
snd_rawmidi
snd_seq_midi_event
iwl3945
snd_seq
snd_timer
snd_seq_device
mac80211
snd
yenta_socket
rsrc_nonstatic
tifm_7xx1
i2c_i801
soundcore
lib80211
psmouse
pcmcia_core
tifm_core
i2c_core
rng_core
video
snd_page_alloc
cfg80211
rfkill
rtc_cmos
rtc_core
rtc_lib
serio_raw
pcspkr
output
container
evdev
input_polldev
battery
button
ac
dm_mirror
dm_region_hash
dm_log
dm_snapshot
ext3
jbd
mbcache
cbc
sha256_generic
serpent
aes_i586
aes_generic
dm_crypt
dm_mod
sg
usbhid
hid
sr_mod
cdrom
sd_mod
ata_generic
pata_acpi
ata_piix
sdhci_pci
libata
ohci1394
sdhci
scsi_mod
e100
mii
uhci_hcd
mmc_core
led_class
ieee1394
ehci_hcd
usbcore
intel_agp
thermal
processor
fan



[-- Attachment #3: alsa-after.txt --]
[-- Type: text/plain, Size: 17617 bytes --]

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.56
!!################################

!!Script ran on: Sun May 24 17:34:10 UTC 2009


!!Linux Distribution
!!------------------

Debian GNU/Linux squeeze/sid \n \l


!!Kernel Information
!!------------------

Kernel release:    2.6.29.4
Operating System:  GNU/Linux
Architecture:      i686
Processor:         unknown
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     1.0.18a
Library version:    1.0.20
Utilities version:  1.0.19


!!Loaded ALSA modules
!!-------------------

snd_hda_intel


!!Sound Servers on this system
!!----------------------------

aRts:
      Installed - Yes (/usr/bin/artsd)
      Running - No


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xf0b40000 irq 22


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
07:06.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)


!!Advanced information - PCI Vendor/Device/Susbsystem ID's
!!--------------------------------------------------------

00:1b.0 0403: 8086:27d8 (rev 02)
	Subsystem: 1179:ff10


!!Modprobe options (Sound related)
!!--------------------------------

snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-pcsp: index=-2


!!Loaded sound module options
!!--------------------------

!!Module: snd_hda_intel
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
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
enable_msi : 0
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>
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
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>
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
power_save : 0
power_save_controller : Y
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
probe_only : 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
single_cmd : N


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Realtek ALC861
Address: 0
Vendor Id: 0x10ec0861
Subsystem Id: 0x11791205
Revision Id: 0x100300
No Modem Function Group found
Default PCM:
    rates [0x140]: 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x03 [Audio Output] wcaps 0x405: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x00 0x00]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x405: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
Node 0x05 [Audio Output] wcaps 0x405: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
Node 0x06 [Audio Output] wcaps 0x405: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
Node 0x07 [Audio Output] wcaps 0x605: Stereo Digital Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x00 0x00]
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  Power: setting=D0, actual=D0
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x02, nsteps=0x0d, stepsize=0x0b, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x140]: 48000 96000
    bits [0x2]: 16
    formats [0x1]: PCM
  Power: setting=D0, actual=D0
  Connection: 6
     0x0d* 0x0c 0x0f 0x10 0x11 0x15
Node 0x09 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000001f: OUT HP Detect Trigger ImpSense
  Pin Default 0x01014110: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x16
Node 0x0c [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000037: IN OUT Detect Trigger ImpSense
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x19
Node 0x0d [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000337: IN OUT Detect Trigger ImpSense
    Vref caps: HIZ 50
  Pin Default 0x01a19920: [Jack] Mic at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x2, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x18
Node 0x0e [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000017: OUT Detect Trigger ImpSense
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x19
Node 0x0f [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000033f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x1a
Node 0x10 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000033f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x1b
Node 0x11 [Pin Complex] wcaps 0x400001: Stereo
  Pincap 0x00000063: IN Balanced Trigger ImpSense
  Pin Default 0x9933012e: [Fixed] CD at Int ATAPI
    Conn = ATAPI, Color = Unknown
    DefAssociation = 0x2, Sequence = 0xe
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
Node 0x12 [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Connection: 1
     0x07
Node 0x13 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x14 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x0d 0x10
Node 0x15 [Audio Mixer] wcaps 0x20050f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x0c, nsteps=0x17, stepsize=0x0b, mute=1
  Amp-In vals:  [0x13 0x13] [0x80 0x80] [0x00 0x00]
  Amp-Out caps: ofs=0x0c, nsteps=0x0c, stepsize=0x0b, mute=1
  Amp-Out vals:  [0x0c 0x0c]
  Power: setting=D0, actual=D0
  Connection: 3
     0x11 0x14 0x1c
Node 0x16 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x03 0x15
Node 0x17 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x04 0x15
Node 0x18 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x05 0x15
Node 0x19 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x06 0x15
Node 0x1a [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x00 0x00]
  Connection: 4
     0x04 0x06 0x15 0x03
Node 0x1b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x00 0x00]
  Connection: 4
     0x04 0x06 0x15 0x03
Node 0x1c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Connection: 2
     0x0c 0x0f
Node 0x1d [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1f [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000017: OUT Detect Trigger ImpSense
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x18
Node 0x20 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000017: OUT Detect Trigger ImpSense
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power: setting=D0, actual=D0
  Connection: 1
     0x17
  Processing Coefficient: 0x00
  Coefficient Index: 0x00
Node 0x21 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x22 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x23 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Amp-Out caps: ofs=0x0f, nsteps=0x0f, stepsize=0x0b, mute=1
  Amp-Out vals:  [0x8f]
Codec: LSI Si3054
Address: 1
Vendor Id: 0x11c13026
Subsystem Id: 0x11790001
Revision Id: 0x100700
Modem Function Group: 0x1
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw---- 1 root audio 116, 10 2009-05-24 09:30 /dev/snd/controlC0
crw-rw---- 1 root audio 116,  9 2009-05-24 09:30 /dev/snd/hwC0D0
crw-rw---- 1 root audio 116,  8 2009-05-24 09:30 /dev/snd/hwC0D1
crw-rw---- 1 root audio 116,  7 2009-05-24 13:33 /dev/snd/pcmC0D0c
crw-rw---- 1 root audio 116,  6 2009-05-24 13:33 /dev/snd/pcmC0D0p
crw-rw---- 1 root audio 116,  5 2009-05-24 09:30 /dev/snd/pcmC0D6c
crw-rw---- 1 root audio 116,  4 2009-05-24 09:30 /dev/snd/pcmC0D6p
crw-rw---- 1 root audio 116,  3 2009-05-24 09:30 /dev/snd/seq
crw-rw---- 1 root audio 116,  2 2009-05-24 09:30 /dev/snd/timer


!!Aplay/Arecord output
!!------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC861 Analog [ALC861 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC861 Analog [ALC861 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [Intel]

Card hw:0 'Intel'/'HDA Intel at 0xf0b40000 irq 22'
  Mixer name	: 'Realtek ALC861'
  Components	: 'HDA:10ec0861,11791205,00100300 HDA:11c13026,11790001,00100700'
  Controls      : 13
  Simple ctrls  : 10
Simple mixer control 'Master',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 120 [47%] [-27.00dB]
  Front Right: Playback 120 [47%] [-27.00dB]
Simple mixer control 'Front',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'CD',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 23
  Mono:
  Front Left: Playback 19 [83%] [21.00dB] [on]
  Front Right: Playback 19 [83%] [21.00dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 23
  Mono:
  Front Left: Playback 0 [0%] [-36.00dB] [off]
  Front Right: Playback 0 [0%] [-36.00dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 13
  Front Left: Capture 0 [0%] [-6.00dB] [off]
  Front Right: Capture 0 [0%] [-6.00dB] [off]
Simple mixer control 'Caller ID',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Digital',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 60 [50%] [0.00dB]
  Front Right: Capture 60 [50%] [0.00dB]
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Mic' 'CD'
  Item0: 'Mic'
Simple mixer control 'Off-hook',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]


!!Alsactl output
!!-------------

--startcollapse--
state.Intel {
	control.1 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Front Playback Switch'
		value.0 true
		value.1 true
	}
	control.2 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 23'
		comment.dbmin -3600
		comment.dbmax 3300
		iface MIXER
		name 'Mic Playback Volume'
		value.0 0
		value.1 0
	}
	control.3 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Mic Playback Switch'
		value.0 false
		value.1 false
	}
	control.4 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 23'
		comment.dbmin -3600
		comment.dbmax 3300
		iface MIXER
		name 'CD Playback Volume'
		value.0 19
		value.1 19
	}
	control.5 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'CD Playback Switch'
		value.0 true
		value.1 true
	}
	control.6 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 2
		iface MIXER
		name 'Capture Switch'
		value.0 false
		value.1 false
	}
	control.7 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 13'
		comment.dbmin -600
		comment.dbmax 3300
		iface MIXER
		name 'Capture Volume'
		value.0 0
		value.1 0
	}
	control.8 {
		comment.access 'read write'
		comment.type ENUMERATED
		comment.count 1
		comment.item.0 Mic
		comment.item.1 CD
		iface MIXER
		name 'Input Source'
		value Mic
	}
	control.9 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'Master Playback Switch'
		value true
	}
	control.10 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'Off-hook Switch'
		value false
	}
	control.11 {
		comment.access 'read write'
		comment.type BOOLEAN
		comment.count 1
		iface MIXER
		name 'Caller ID Switch'
		value false
	}
	control.12 {
		comment.access 'read write user'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 120'
		comment.tlv '0000000100000008fffff44800000032'
		comment.dbmin -3000
		comment.dbmax 3000
		iface MIXER
		name 'Digital Capture Volume'
		value.0 60
		value.1 60
	}
	control.13 {
		comment.access 'read write user'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 255'
		comment.tlv '0000000100000008ffffec1400000014'
		comment.dbmin -5100
		comment.dbmax 0
		iface MIXER
		name 'PCM Playback Volume'
		value.0 120
		value.1 120
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
af_packet
ppdev
parport_pc
lp
parport
bridge
stp
bnep
sco
l2cap
bluetooth
cpufreq_conservative
cpufreq_powersave
cpufreq_ondemand
cpufreq_stats
cpufreq_performance
ip6table_filter
ip6_tables
ipv6
nf_conntrack_ipv4
nf_defrag_ipv4
xt_state
xt_tcpudp
ipt_REJECT
nf_conntrack_irc
nf_conntrack_ftp
nf_conntrack
iptable_filter
ip_tables
x_tables
fuse
acpi_cpufreq
freq_table
snd_hda_codec_si3054
joydev
snd_hda_codec_realtek
snd_hda_intel
snd_hda_codec
snd_hwdep
snd_pcm_oss
snd_mixer_oss
snd_pcm
snd_seq_dummy
pcmcia
snd_seq_oss
arc4
ecb
snd_seq_midi
snd_rawmidi
snd_seq_midi_event
iwl3945
snd_seq
snd_timer
snd_seq_device
mac80211
snd
yenta_socket
rsrc_nonstatic
tifm_7xx1
i2c_i801
soundcore
lib80211
psmouse
pcmcia_core
tifm_core
i2c_core
rng_core
video
snd_page_alloc
cfg80211
rfkill
rtc_cmos
rtc_core
rtc_lib
serio_raw
pcspkr
output
container
evdev
input_polldev
battery
button
ac
dm_mirror
dm_region_hash
dm_log
dm_snapshot
ext3
jbd
mbcache
cbc
sha256_generic
serpent
aes_i586
aes_generic
dm_crypt
dm_mod
sg
usbhid
hid
sr_mod
cdrom
sd_mod
ata_generic
pata_acpi
ata_piix
sdhci_pci
libata
ohci1394
sdhci
scsi_mod
e100
mii
uhci_hcd
mmc_core
led_class
ieee1394
ehci_hcd
usbcore
intel_agp
thermal
processor
fan



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Bisected regression] Microphone no longer works on Toshiba Satellite A100
  2009-05-24 18:06   ` M. Vefa Bicakci
@ 2009-05-25  5:57     ` Takashi Iwai
  2009-05-25 22:40       ` M. Vefa Bicakci
  2009-05-26  8:10       ` M. Vefa Bicakci
  0 siblings, 2 replies; 5+ messages in thread
From: Takashi Iwai @ 2009-05-25  5:57 UTC (permalink / raw)
  To: M. Vefa Bicakci; +Cc: linux-kernel

At Sun, 24 May 2009 14:06:37 -0400,
M. Vefa Bicakci wrote:
> 
> Takashi Iwai wrote:
> > At Sun, 24 May 2009 11:51:17 -0400,
> > M. Vefa Bicakci wrote:
> >> Dear Takashi Iwai,
> >>
> >> I am sorry for sending this e-mail to you directly. I was going to
> >> CC you with linux-kernel@majordomo.kernel.org but forgot to do so.
> > 
> > Thanks for report.
> > Your post doesn't appear on LKML yet, at least it didn't reach to
> > me.  Anyway, could you run alsa-info.sh with --no-upload option and
> > attach the generated file?  The script is found at
> >     http://www.alsa-project.org/alsa-info.sh
> 
> Attached are two outputs from this script. Please read below to learn
> why there are two different outputs.

Thanks.  Does the patch below work?

(snip)
> When one first boots this laptop, alsamixer does not show PCM playback and
> Digital Input capture channels. However, if I run a ALSA-compatible program
> which uses the PCM playback (such as mpg321) or the Digital Input capture
> channel (such as arecord), then the respective channels appear in alsamixer.
> Does this mean that a new "model=..." quirk needs to be written for this
> this laptop? ("model=toshiba" does not work properly.)

The PCM and Digital Capture Volume are implemented in alsa-lib softvol
plugin and is irrelevant with the driver model.  They appear either
when you first use PCM via alsa-lib with that configuration, or when
you restore the previous volume setting via alsactl.

Usually distro udev or init script restores the previous volume via
alsactl, so this will appear after the very first use after the
installation...


thanks,

Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index bcbb736..0fd258e 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -776,6 +776,12 @@ static void alc_set_input_pin(struct hda_codec *codec, hda_nid_t nid,
 		pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT;
 		if (pincap & AC_PINCAP_VREF_80)
 			val = PIN_VREF80;
+		else if (pincap & AC_PINCAP_VREF_50)
+			val = PIN_VREF50;
+		else if (pincap & AC_PINCAP_VREF_100)
+			val = PIN_VREF100;
+		else if (pincap & AC_PINCAP_VREF_GRD)
+			val = PIN_VREFGRD;
 	}
 	snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val);
 }


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Bisected regression] Microphone no longer works on Toshiba Satellite A100
  2009-05-25  5:57     ` Takashi Iwai
@ 2009-05-25 22:40       ` M. Vefa Bicakci
  2009-05-26  8:10       ` M. Vefa Bicakci
  1 sibling, 0 replies; 5+ messages in thread
From: M. Vefa Bicakci @ 2009-05-25 22:40 UTC (permalink / raw)
  To: linux-kernel

Takashi Iwai wrote:
>>> [snip]
> Thanks.  Does the patch below work?

Yes, I just tried it by compiling alsa-driver-1.0.20 after applying
the patch you provided, and I can happily say that it works beautifully.

Thank you so much! I really hope that this patch will be included in
the next ALSA release and the next -rc release for 2.6.30.

> 
> (snip)
>> When one first boots this laptop, alsamixer does not show PCM playback and
>> Digital Input capture channels. However, if I run a ALSA-compatible program
>> which uses the PCM playback (such as mpg321) or the Digital Input capture
>> channel (such as arecord), then the respective channels appear in alsamixer.
>> Does this mean that a new "model=..." quirk needs to be written for this
>> this laptop? ("model=toshiba" does not work properly.)
> 
> The PCM and Digital Capture Volume are implemented in alsa-lib softvol
> plugin and is irrelevant with the driver model.  They appear either
> when you first use PCM via alsa-lib with that configuration, or when
> you restore the previous volume setting via alsactl.
> 
> Usually distro udev or init script restores the previous volume via
> alsactl, so this will appear after the very first use after the
> installation...

That clears up a lot of things. I am sorry if this was already documented
in the ALSA documentation/wiki and I missed it.

> thanks,
> 
> Takashi

Thank you once again,

M. Vefa Bicakci


> ---
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index bcbb736..0fd258e 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -776,6 +776,12 @@ static void alc_set_input_pin(struct hda_codec *codec, hda_nid_t nid,
>  		pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT;
>  		if (pincap & AC_PINCAP_VREF_80)
>  			val = PIN_VREF80;
> +		else if (pincap & AC_PINCAP_VREF_50)
> +			val = PIN_VREF50;
> +		else if (pincap & AC_PINCAP_VREF_100)
> +			val = PIN_VREF100;
> +		else if (pincap & AC_PINCAP_VREF_GRD)
> +			val = PIN_VREFGRD;
>  	}
>  	snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val);
>  }
> 
> 
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Bisected regression] Microphone no longer works on Toshiba Satellite A100
  2009-05-25  5:57     ` Takashi Iwai
  2009-05-25 22:40       ` M. Vefa Bicakci
@ 2009-05-26  8:10       ` M. Vefa Bicakci
  1 sibling, 0 replies; 5+ messages in thread
From: M. Vefa Bicakci @ 2009-05-26  8:10 UTC (permalink / raw)
  To: linux-kernel

Hello,

I just wanted to let everyone else know that I have tested the
patch Takashi Iwai provided, and that the microphone works properly
with the patch applied.

Below is our conversation, which I forgot to Cc: to LKML.

Thanks everyone,

M. Vefa Bicakci

> -------- Original Message --------
> Subject: Re: [Bisected regression] Microphone no longer works on Toshiba Satellite A100
> Date: Tue, 26 May 2009 07:49:41 +0200
> From: Takashi Iwai <tiwai@suse.de>
> To: M. Vefa Bicakci <bicave@superonline.com>
> References: <4A196CF5.8010504@superonline.com>	<s5hskiuv4d2.wl%tiwai@suse.de>	<4A198CAD.6090109@superonline.com>	<s5hk545d8sc.wl%tiwai@suse.de>	<4A1B10D5.9000009@superonline.com>
> 
> At Mon, 25 May 2009 17:42:45 -0400,
> M. Vefa Bicakci wrote:
>> 
>> Takashi Iwai wrote:
>> >>> [snip]
>> > Thanks.  Does the patch below work?
>> 
>> Yes, I just tried it by compiling alsa-driver-1.0.20 after applying
>> the patch you provided, and I can happily say that it works beautifully.
>> 
>> Thank you so much! I really hope that this patch will be included in
>> the next ALSA release and the next -rc release for 2.6.30.
> 
> I merged now it to sound git tree and will include in the next pull
> request.
> 
> Thanks for testing!
> 
> 
> Takashi




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-05-26  8:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-24 15:49 [Bisected regression] Microphone no longer works on Toshiba Satellite A100 M. Vefa Bicakci
     [not found] <4A196CF5.8010504@superonline.com>
     [not found] ` <s5hskiuv4d2.wl%tiwai@suse.de>
2009-05-24 18:06   ` M. Vefa Bicakci
2009-05-25  5:57     ` Takashi Iwai
2009-05-25 22:40       ` M. Vefa Bicakci
2009-05-26  8:10       ` M. Vefa Bicakci

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox