[alsa-devel] getting the sound to work on my asus m6s00v

Raymond Yau superquad.vortex2 at gmail.com
Sat Mar 21 02:43:23 CET 2015


>
> > > The internal mic also works.
> > >
> > > but; I am a bit puzled, because I tried to comment out 'options
> > snd-hda-intel model=3stack-digout' and did a powercycle (power off)...
> > > and now the sound still works, so it seems the soundcard was woken
from
> > some deepsleep.
> > > The machine have been turned of for many (4/5) years...
> > >
> > > Anyway since the soundcard now is working with my current kernel
without
> > the extra options, I am unsure if trying the newest vanilla kernel would
> > make any sense?
> > >
> > > Any recommendations?
> >
> >
> > Since your pci ssid are same as nb 's ASUS W5A, you will need to ask why
> > HP and mic disable jack detection and using ALC880_FIXUP_GPIO1
>
> That w5a seems much never than this one, I have tried looking some more
into asus website to find this model, and I guess it is either m6v or
m6n... It is a pentium single core, no webcam and two jacks
> * MIC
> * S/PDIF
>

http://mailman.alsa-project.org/pipermail/alsa-devel/2013-November/068359.html

> >
> > + [ALC880_FIXUP_ASUS_W5A] = {
> > + .type = HDA_FIXUP_PINS,
> > + .v.pins = (const struct hda_pintbl[]) {
> > + /* set up the whole pins as BIOS is utterly broken */
> > + { 0x14, 0x0121411f }, /* HP */
> > + { 0x15, 0x411111f0 }, /* N/A */
> > + { 0x16, 0x411111f0 }, /* N/A */
> > + { 0x17, 0x411111f0 }, /* N/A */
> > + { 0x18, 0x90a60160 }, /* mic */
> > + { 0x19, 0x411111f0 }, /* N/A */
> > + { 0x1a, 0x411111f0 }, /* N/A */
> > + { 0x1b, 0x411111f0 }, /* N/A */
> > + { 0x1c, 0x411111f0 }, /* N/A */
> > + { 0x1d, 0x411111f0 }, /* N/A */
> > + { 0x1e, 0xb743111e }, /* SPDIF out */
> > + { }
> > + },
> > + .chained = true,
> > + .chain_id = ALC880_FIXUP_GPIO1,
> >
> >
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda?id=29e3fdcc84e5da04cb7e6a36fee0a772c91d3b28
> >
>
> I am not sure what to make of that, I am guessing that those numbers are
identical to some signature my laptop have? I have no experience with
kernel hacking / driver development, so there might be something I am
missing here.

http://git.kernel.org/cgit/linux/kernel/git/tiwai/hda-emu.git/tree/codecs/alc880-asus-w6a?id=HEAD

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

00:1b.0 0403: 8086:2668 (rev 04)
Subsystem: 1043:10c2

>
> > Most asus computers using alc880 were using asus model in previous
version
>
> >
> > Do the front or surround  playback volume affect the speaker and
headphone
> > in your asus m6s00v ?
>
> front affects both internal speaker and Headphone.
>
> > Do the mic jack works ?
>
> Yes
>
> > Do mic boost and front mic boost affect the mic and internal mic ?
>
> I don't see a mic boost option anywhere. The recording part of alsamixer
that is related to recording on my laptop is 'digital' 'capture' 'capture
1' and 'capture 2' seems to be ignored

How about mic playback volume which allow you hear what is recording from
your mic

Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65
  Mono:
  Front Left: Playback 62 [95%] [27.00dB] [off]
  Front Right: Playback 62 [95%] [27.00dB] [off]

Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Control: name="CD Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="CD Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=4, ofs=0
  Control: name="Line Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Line Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=2, ofs=0
  Control: name="Mic Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=5, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=5, ofs=0
  Amp-In caps: ofs=0x23, nsteps=0x41, stepsize=0x03, mute=1
  Amp-In vals:  [0xbe 0xbe] [0x80 0x80] [0x3b 0x3b] [0x80 0x80] [0xbc 0xbc]
[0x38 0x38] [0x80 0x80] [0x80 0x80]
  Connection: 8
     0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x14 0x15

If node 0x18 is the mic jack , can you hear the internal mic 's recording
when you turn on line playback switch ?

>
> > Try hdajacksensetest to test the jack detection of hp and mic jack
> >
> >
http://git.alsa-project.org/?p=alsa-tools.git;a=tree;f=hdajacksensetest;hb=HEAD
>
> With nothing plugged in:
> /hdajacksensetest -a
> Pin 0x14 (Green Headphone, Rear side): present = No
> Pin 0x15 (Not connected): present = No
> Pin 0x16 (Not connected): present = No
> Pin 0x17 (Not connected): present = No
> Pin 0x18 (Pink Mic, Rear side): present = No
> Pin 0x19 (Not connected): present = No
> Pin 0x1a (Not connected): present = No
> Pin 0x1b (Not connected): present = No
> Pin 0x1c (Internal CD, Mobile-In): present = No
> Pin 0x1d (Not connected): present = No
> Pin 0x1e (Green SPDIF Out, Rear side): present = No
> Pin 0x1f (Not connected): present = No
>
> With Headphones plugged in:
> ./hdajacksensetest -a
> Pin 0x14 (Green Headphone, Rear side): present = No
> Pin 0x15 (Not connected): present = Yes
> Pin 0x16 (Not connected): present = No
> Pin 0x17 (Not connected): present = No
> Pin 0x18 (Pink Mic, Rear side): present = No
> Pin 0x19 (Not connected): present = No
> Pin 0x1a (Not connected): present = Yes
> Pin 0x1b (Not connected): present = No
> Pin 0x1c (Internal CD, Mobile-In): present = No
> Pin 0x1d (Not connected): present = No
> Pin 0x1e (Green SPDIF Out, Rear side): present = No
> Pin 0x1f (Not connected): present = No

It is possible that node 0x15 is the headphone jack since pinctl is OUT ,
but this node is connected to surround playback volume at node 0x0d and HP
amp is not enabled in pin ctls

Node 0x15 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000003f: IN OUT HP 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
  Connection: 1
     0x0d

>
> With Mic plugged in
> ./hdajacksensetest -a
> Pin 0x14 (Green Headphone, Rear side): present = Yes
> Pin 0x15 (Not connected): present = No
> Pin 0x16 (Not connected): present = No
> Pin 0x17 (Not connected): present = No
> Pin 0x18 (Pink Mic, Rear side): present = Yes
> Pin 0x19 (Not connected): present = No
> Pin 0x1a (Not connected): present = No
> Pin 0x1b (Not connected): present = No
> Pin 0x1c (Internal CD, Mobile-In): present = No
> Pin 0x1d (Not connected): present = No
> Pin 0x1e (Green SPDIF Out, Rear side): present = No
> Pin 0x1f (Not connected): present = No
>

1) Nothing plugged in: ./hda-verb /dev/snd/hwC0D0 0x14 SET_PIN_SENSE 0 nid
= 0x14, verb = 0x709, param = 0x0 value = 0x0

./hda-verb /dev/snd/hwC0D0 0x14 GET_PIN_SENSE 0 nid = 0x14, verb = 0xf09,
param = 0x0 value = 0x7fffffff

2) Headphones plugged in in S/PDIF ./hda-verb /dev/snd/hwC0D0 0x14
SET_PIN_SENSE 0 nid = 0x14, verb = 0x709, param = 0x0 value = 0x0

./hda-verb /dev/snd/hwC0D0 0x14 GET_PIN_SENSE 0 nid = 0x14, verb = 0xf09,
param = 0x0 value = 0x7fffffff

3) microphone plugged in 'Mic' ./hda-verb /dev/snd/hwC0D0 0x14
SET_PIN_SENSE 0 nid = 0x14, verb = 0x709, param = 0x0 value = 0x0

./hda-verb /dev/snd/hwC0D0 0x14 GET_PIN_SENSE 0 nid = 0x14, verb = 0xf09,
param = 0x0 value = 0x7fffffff

A returned value of 0x7FFF,FFFF (all 1‟s) indicates that a valid sense
reading is not available, or the sense measurement is busy

Most Significant Bit indicating the state of the Presence Detect
capability.  A 1 indicates that there is “something” plugged into the jack
associated with the Pin Complex 0x80000000

Try node 0x15 and node 0x18


More information about the Alsa-devel mailing list