Re: [alsa-devel] Bug report - patch_realtek.c - Laptop HP COMPAQ B1900 Series
Btw, for the code modification, I modified model will in patch_realtek.c which works same as the hda-verb command. From: static const struct hda_verb alc260_will_verbs[] = { {0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, {0x0b, AC_VERB_SET_CONNECT_SEL, 0x00}, {0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, {0x0f, AC_VERB_SET_EAPD_BTLENABLE, 0x02}, {0x1a, AC_VERB_SET_COEF_INDEX, 0x07}, {0x1a, AC_VERB_SET_PROC_COEF, 0x3040}, {} }; To: static const struct hda_verb alc260_will_verbs[] = { {0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, {0x0b, AC_VERB_SET_CONNECT_SEL, 0x00}, {0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, {0x0f, AC_VERB_SET_EAPD_BTLENABLE, 0x02}, {0x1a, AC_VERB_SET_COEF_INDEX, 0x07}, {0x1a, AC_VERB_SET_PROC_COEF, 0x3040}, {0x01, AC_VERB_SET_GPIO_MASK, 0x01}, {0x01, AC_VERB_SET_GPIO_DIRECTION, 0x01}, {} };
在 2012年2月15日 上午9:18,Joey Jiao joey.jiaojg@gmail.com 写道:
Hi all, I solved the speaker problem of B1900, and I have you can fix the driver in next alsa release. I use hda-verb tool to enable sound from speaker. Commands as below: sudo hda-verb /dev/snd/hwC0D0 0x01 0x716 0x01 sudo hda-verb /dev/snd/hwC0D0 0x01 0x717 0x01
Perhaps you need to add a new model besides will. Meanwhile, auto detect of headphone inserting is not function, so speaker and headphone don't switch automatically.
在 2012年2月15日 上午8:50,Raymond Yau superquad.vortex2@gmail.com 写道:
2012/2/11, Jonathan Woithe jwoithe@just42.net:
Hi Joey
For future reference, please email reports like this to the alsa-devel list. The relevant developers are far more likely to respond to messages on the list than they are to messages sent privately.
I have copied this to the list to maximise its distribution.
On Sat, Feb 11, 2012 at 09:17:05AM +0800, joey.jiaojg wrote:
I'm reporting a bug related to ALSA and ALC260, which perhaps only you can solve. Appreciate if you can check. We got a lot of users using HP COMPAQ B1900 series which using ATI SB450 and ALC260 for linux systems like Debian, Ubuntu and etc. The problem is that there is no sound from speaker while enable model=will can hear from earphone. The problem and alsa-info.txt is reported here https://answers.launchpad.net/ubuntu/+source/alsa-driver/+question/186698, which thought be a bug of ALC260 driver bug. Hope you can check what we can do to solve it.
From the above I am not entirely sure what the problem is. You seem to be talking about two separate conditions. In the first (where I presume the module is loaded without any parameters you say there's no sound from the speaker. Do other aspects of the card work correctly in this case?
The second situation is where "model=will" is specified as a module parameter. Here you say you can get audio from the headphone, but again what about other aspects of the soundcard - do they work normally?
At a rough guess, it sounds like there are two underlying issues. The first is that this system requires some model-specific handing in order to map chip outputs correctly. The second is that if such model-specific details are required then the driver preferrably would activate these automatically without the need to specify "model=will".
Another possibility is that there is something about this laptop system which is confusing the auto-probing of the alc260 codec code.
I'm not sure what is the best way of proceeding here. I suspect other more active developers will have a streamlined approach to help rectify the trouble. In the first instance I would tend to load the module with "model=test" and experiment with the resulting alsamixer controls to determine what chip outputs are connected to which pins. However, this is quite "old school" now - while it's the approach I used when getting my system working, my impression is that its use has been mostly deprecated by the automatic parser which is now present.
In the above-referenced launchpad report the question is asked about the ALC260 datasheet. This is readily available on the net. I doubt it is all that necessary now since I think the base infrastructure is pretty solid, but if you do need it and have difficulty finding it please contact me off-list.
The auto-parser require correct pin default
Refer to alc260 General Description
Realtek's proprietary impedance sensing and jack detect techniques allow device loads on inputs and outputs to be auto-detected. All analog IOs are input and output capable. Headphone amplifiers are also integrated at each analog output. All analog IOs can be re-tasked according to user's definitions, or automatically switched to suit the connecting device (Universal Audio Jack®).
Reserve analog mixer architecture is backwards compatible with AC'97
-- -Joey Jiao
2012/2/15, Joey Jiao joey.jiaojg@gmail.com:
Btw, for the code modification, I modified model will in patch_realtek.c which works same as the hda-verb command. From: static const struct hda_verb alc260_will_verbs[] = { {0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, {0x0b, AC_VERB_SET_CONNECT_SEL, 0x00}, {0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, {0x0f, AC_VERB_SET_EAPD_BTLENABLE, 0x02}, {0x1a, AC_VERB_SET_COEF_INDEX, 0x07}, {0x1a, AC_VERB_SET_PROC_COEF, 0x3040}, {} }; To: static const struct hda_verb alc260_will_verbs[] = { {0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, {0x0b, AC_VERB_SET_CONNECT_SEL, 0x00}, {0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, {0x0f, AC_VERB_SET_EAPD_BTLENABLE, 0x02}, {0x1a, AC_VERB_SET_COEF_INDEX, 0x07}, {0x1a, AC_VERB_SET_PROC_COEF, 0x3040}, {0x01, AC_VERB_SET_GPIO_MASK, 0x01}, {0x01, AC_VERB_SET_GPIO_DIRECTION, 0x01}, {} };
在 2012年2月15日 上午9:18,Joey Jiao joey.jiaojg@gmail.com 写道:
Hi all, I solved the speaker problem of B1900, and I have you can fix the driver in next alsa release. I use hda-verb tool to enable sound from speaker. Commands as below: sudo hda-verb /dev/snd/hwC0D0 0x01 0x716 0x01 sudo hda-verb /dev/snd/hwC0D0 0x01 0x717 0x01
Perhaps you need to add a new model besides will. Meanwhile, auto detect of headphone inserting is not function, so speaker and headphone don't switch automatically.
在 2012年2月15日 上午8:50,Raymond Yau superquad.vortex2@gmail.com 写道:
The auto-parser require correct pin default
Refer to alc260 General Description
Realtek's proprietary impedance sensing and jack detect techniques allow device loads on inputs and outputs to be auto-detected. All analog IOs are input and output capable. Headphone amplifiers are also integrated at each analog output. All analog IOs can be re-tasked according to user's definitions, or automatically switched to suit the connecting device (Universal Audio Jack®).
Reserve analog mixer architecture is backwards compatible with AC'97
the function is_jack_detectable() has been changed to check AC_DEFCFG_MISC_NO_PRESENCE
http://thread.gmane.org/gmane.linux.alsa.devel/90911/focus=91215
I guess Takashi Iwai expect you to provide a pin fixup patch which provide the pin location of the speaker , internal mic, headphone and external mic jack for the auto parser
Refer to #25
Adding micphone detect: $ sudo hda-verb /dev/snd/hwC0D0 0x12 0xF09 0x0 nid = 0x12, verb = 0xf09, param = 0x0 value = 0x800000c8
does impedence sense require some delay to get the accurate reading ? it seem the microphone has a much higher impedenance than your result 0xc8
participants (2)
-
Joey Jiao
-
Raymond Yau