Takashi Iwai | 18 Aug 14:42
Favicon

Re: maestro3 & es1988: mic range too low

At Mon, 18 Aug 2008 15:28:00 +0300,
Ilkka Tengvall wrote:
> 
> >> the reasoning for the original patch sounds reasonable. The
> >> mic volume is tunable, only at the very low range. I recall the laptop
> >> came with Win98, and there was no problem then with the sound -> not a
> >> HW problem. I have never got this laptop mic working with linux, so
> >> this is not anything that broke recently. I see there is
> >> check_volume_resolution function which tries to guess some of the
> >> register ranges, but maybe it get's it wrong with this HW.
> >
> > Maybe, maybe not.  You should check rather ac97 registers in
> > /proc/asound/card0/codec97#0/ac97#0-0+regs.  If build with
> > CONFIG_SND_DEBUG=y, you can write to the register directly, too.
> > See Documentaiton[/sound/alsa]/Procfile.txt.
> >
> 
> I checked this file. It seems it gets the regs right for the mic
> (range 0x1f). The capture range is 0xf. I don't have the specs to
> compare it against, so I assume there is nothing to do more here.

Which registers, exactly?

> It seems mic value decreases while going up to full, where as capture
> increases.

I guess the former one is the mic loopback volume (attenuation), so no
wonder it behaves so.

> Another difference is maybe stereo / mono related, the
(Continue reading)

ikke | 19 Aug 07:03
Favicon

Re: maestro3 & es1988: mic range too low

On Mon, Aug 18, 2008 at 3:42 PM, Takashi Iwai <tiwai <at> suse.de> wrote:
> At Mon, 18 Aug 2008 15:28:00 +0300,
> Ilkka Tengvall wrote:
>>
>> >> the reasoning for the original patch sounds reasonable. The
>> >> mic volume is tunable, only at the very low range. I recall the laptop
>> >> came with Win98, and there was no problem then with the sound -> not a
>> >> HW problem. I have never got this laptop mic working with linux, so
>> >> this is not anything that broke recently. I see there is
>> >> check_volume_resolution function which tries to guess some of the
>> >> register ranges, but maybe it get's it wrong with this HW.
>> >
>> > Maybe, maybe not.  You should check rather ac97 registers in
>> > /proc/asound/card0/codec97#0/ac97#0-0+regs.  If build with
>> > CONFIG_SND_DEBUG=y, you can write to the register directly, too.
>> > See Documentaiton[/sound/alsa]/Procfile.txt.
>> >
>>
>> I checked this file. It seems it gets the regs right for the mic
>> (range 0x1f). The capture range is 0xf. I don't have the specs to
>> compare it against, so I assume there is nothing to do more here.
>
> Which registers, exactly?

The ones affected by changing mic volume and capture in alsamixer,
those I that I pasted the diffs of previously. In alsamixer it has
slider for mic volume, and capture volume. And mic can be set as
capture device. In code (which the patch touched) it speaks about "Mic
Capture Volume", that made me think it would affect the volume used
for capturing (recording?) mic.
(Continue reading)

Takashi Iwai | 19 Aug 12:58
Favicon

Re: maestro3 & es1988: mic range too low

At Tue, 19 Aug 2008 08:03:14 +0300,
ikke wrote:
> 
> On Mon, Aug 18, 2008 at 3:42 PM, Takashi Iwai <tiwai <at> suse.de> wrote:
> > At Mon, 18 Aug 2008 15:28:00 +0300,
> > Ilkka Tengvall wrote:
> >>
> >> >> the reasoning for the original patch sounds reasonable. The
> >> >> mic volume is tunable, only at the very low range. I recall the laptop
> >> >> came with Win98, and there was no problem then with the sound -> not a
> >> >> HW problem. I have never got this laptop mic working with linux, so
> >> >> this is not anything that broke recently. I see there is
> >> >> check_volume_resolution function which tries to guess some of the
> >> >> register ranges, but maybe it get's it wrong with this HW.
> >> >
> >> > Maybe, maybe not.  You should check rather ac97 registers in
> >> > /proc/asound/card0/codec97#0/ac97#0-0+regs.  If build with
> >> > CONFIG_SND_DEBUG=y, you can write to the register directly, too.
> >> > See Documentaiton[/sound/alsa]/Procfile.txt.
> >> >
> >>
> >> I checked this file. It seems it gets the regs right for the mic
> >> (range 0x1f). The capture range is 0xf. I don't have the specs to
> >> compare it against, so I assume there is nothing to do more here.
> >
> > Which registers, exactly?
> 
> The ones affected by changing mic volume and capture in alsamixer,
> those I that I pasted the diffs of previously. In alsamixer it has
> slider for mic volume, and capture volume. And mic can be set as
(Continue reading)

ikke | 20 Aug 12:42
Favicon

Re: maestro3 & es1988: mic range too low

On Tue, Aug 19, 2008 at 1:58 PM, Takashi Iwai <tiwai <at> suse.de> wrote:
> At Tue, 19 Aug 2008 08:03:14 +0300,
> ikke wrote:
>>
>> ac97_codec.c:
>> AC97_SINGLE("Mic Capture Switch", AC97_REC_GAIN_MIC, 15, 1, 1),
>> AC97_SINGLE("Mic Capture Volume", AC97_REC_GAIN_MIC, 0, 15, 0)
>>
>> That is 4 bits (15, f), not 5 bits (31, 1f). But if this is really
>> only volume control for mic playback, not capture, then I assume it
>> doesn't matter. Could you please still confirm this?
>
> Hm, I thought Allegro has no mic-capture volume (0x1e) but only the
> standard capture volume (0x1c).  Are you sure that it's 0x1e?
>

sorry, I was too hasty and got stuck to wrong lines while looking the
code. The original patch was indeed patching the mic volume, not
capture volume above. The original patch:

-AC97_SINGLE("Mic Playback Volume", AC97_MIC, 0, 15, 1),
+AC97_SINGLE("Mic Playback Volume", AC97_MIC, 0, 31, 1),

You are right, it's 1c, like seen from the diffs I sent. Sorry for the
confusion.  Is there anything you would suggest for me  to do anymore,
other than buying better HW and to shut up ;) ? I compiled the kernel
again with snd debug option, and was able to write the regs via
proc...

  -i
(Continue reading)


Gmane