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

Raymond Yau superquad.vortex2 at gmail.com
Sat Mar 28 11:33:36 CET 2015


2015-3-28 下午5:52 於 "Christian Gleerup" <cromozon at swn.nu> 寫道:
>
> Trying again with my previous kernel since the new kernel seems broken
regarding loading the sound module
>
> nothin plugged in
> ../hdajacksensetest/hdajacksensetest -a; for i in 0x14 0x15 0x15; do
./hda-verb /dev/snd/hwC0D0 $i SET_PIN_SENSE 0 nid ;./hda-verb
/dev/snd/hwC0D0 $i GET_PIN_SENSE 0 nid; done
> 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 = 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
> nid = 0x14, verb = 0x709, param = 0x0
> value = 0x0
> nid = 0x14, verb = 0xf09, param = 0x0
> value = 0x7fffffff
> nid = 0x15, verb = 0x709, param = 0x0
> value = 0x0
> nid = 0x15, verb = 0xf09, param = 0x0
> value = 0xffffffff
> nid = 0x15, verb = 0x709, param = 0x0
> value = 0x0
> nid = 0x15, verb = 0xf09, param = 0x0
> value = 0xffffffff
>
> Headphone plugged in
>  ../hdajacksensetest/hdajacksensetest -a; for i in 0x14 0x15 0x15; do
./hda-verb /dev/snd/hwC0D0 $i SET_PIN_SENSE 0 nid ;./hda-verb
/dev/snd/hwC0D0 $i GET_PIN_SENSE 0 nid; done
> 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
> nid = 0x14, verb = 0x709, param = 0x0
> value = 0x0
> nid = 0x14, verb = 0xf09, param = 0x0
> value = 0x7fffffff
> nid = 0x15, verb = 0x709, param = 0x0
> value = 0x0
> nid = 0x15, verb = 0xf09, param = 0x0
> value = 0xffffffff
> nid = 0x15, verb = 0x709, param = 0x0
> value = 0x0
> nid = 0x15, verb = 0xf09, param = 0x0
> value = 0xffffffff

0xffffffff = 0x80000000 + 0x7ffffff

Try the modified version of hda_jack_sense_test.py which need hda_analyzer
's codec parser and alsa python

https://bugzilla.kernel.org/show_bug.cgi?id=66621#c39

it need time for the impedance measurement to complete and become stable,
You may need to increase  time.sleep(0.02) if you still get 0xffffffff

https://bugzilla.kernel.org/show_bug.cgi?id=66621#c41

# the hda_codec.py file comes from Jaroslav Kysela's hda_analyzer program.
from hda_codec import *
import time

def parseoptions():
    from optparse import OptionParser
    parser = OptionParser()
    parser.add_option("-c", "--card", dest="cardindex", default=0,
metavar="CARD",
        help="card index (as can be seen in /proc/asound/cards)")
    parser.add_option("-i", "--codec", dest="codecindex", default=0,
metavar="CODEC",
        help="codec index (as can be seen in /proc/asound/cardX/codecY)")
    (options, args) = parser.parse_args()
    return int(options.cardindex), int(options.codecindex)

cardindex, codecindex = parseoptions()
codec = HDACodec(cardindex, codecindex)
codec.analyze()
for nid in codec.nodes:
    node = codec.get_node(nid)
    if WIDGET_TYPE_IDS[node.wtype] == 'PIN':
pd = "   "
        impedance = "    "
if ((node.pincaps & 4) == 4):
    if (node.pincaps & 2):
                codec.rw(nid, VERBS['SET_PIN_SENSE'], 0)
                time.sleep(0.02)
            sense = codec.rw(nid, VERBS['GET_PIN_SENSE'], 0)
            if (node.pincaps & 1):
impedance = "Imp=%d" % (sense & 0x7fffffff)
            if (sense & 0x80000000):
pd = "PD=1"
    else:
pd = "PD=0"
        print "Pin 0x%.2x [%s] %s %s at %s (%s) %s : %s %s" % (nid,
node.jack_conn_name, node.jack_type_name, node.jack_location_name,
node.jack_location2_name, node.jack_color_name, node.defcfg_misc , pd,
impedance)
>
> Mic plugged in
>  ../hdajacksensetest/hdajacksensetest -a; for i in 0x14 0x15 0x15; do
./hda-verb /dev/snd/hwC0D0 $i SET_PIN_SENSE 0 nid ;./hda-verb
/dev/snd/hwC0D0 $i GET_PIN_SENSE 0 nid; done
> 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 = 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
> nid = 0x14, verb = 0x709, param = 0x0
> value = 0x0
> nid = 0x14, verb = 0xf09, param = 0x0
> value = 0xffffffff
> nid = 0x15, verb = 0x709, param = 0x0
> value = 0x0
> nid = 0x15, verb = 0xf09, param = 0x0
> value = 0x7fffffff
> nid = 0x15, verb = 0x709, param = 0x0
> value = 0x0
> nid = 0x15, verb = 0xf09, param = 0x0
> value = 0x7fffffff
>
>
>
>
>
>


More information about the Alsa-devel mailing list