Re: [alsa-devel] getting the sound to work on my asus m6s00v
2015-3-28 下午5:52 於 "Christian Gleerup" cromozon@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
participants (1)
-
Raymond Yau