[alsa-devel] ALSA on Alienware M17x
Hi guys,
I'm having a lot of trouble getting sound out of my Alienware M17x. I've attached the output from alsa-info. I'm running kernel version 2.6.28 with ALSA driver version 1.0.18.
There's no sound at all from the speakers or the headphones. In alsamixer, all channels appear un-muted and turned up full.
If you need any further information please let me know.
Regards, Adam Gray
At Fri, 28 Aug 2009 16:21:20 +0930, Adam Gray wrote:
Hi guys,
I'm having a lot of trouble getting sound out of my Alienware M17x. I've attached the output from alsa-info. I'm running kernel version 2.6.28 with ALSA driver version 1.0.18.
1.0.18 is very old. Any chance to try the later version?
Takashi
On Wed, 2 Sep 2009 12:04:48 am you wrote:
At Fri, 28 Aug 2009 16:21:20 +0930,
Adam Gray wrote:
Hi guys,
I'm having a lot of trouble getting sound out of my Alienware M17x. I've attached the output from alsa-info. I'm running kernel version 2.6.28 with ALSA driver version 1.0.18.
1.0.18 is very old. Any chance to try the later version?
Takashi
I'm now running with the latest version (1.0.21), initially with the same results. After some fiddling I've managed to get the headphones working by adding:
options snd-hda-intel model=dell-m6
to /etc/modprobe.d/alsa-base.conf. But still no speakers.
I've attached an updated alsa-info dump.
Regards, Adam Gray
At Wed, 2 Sep 2009 00:09:14 +0930, Adam Gray wrote:
On Wed, 2 Sep 2009 12:04:48 am you wrote:
At Fri, 28 Aug 2009 16:21:20 +0930,
Adam Gray wrote:
Hi guys,
I'm having a lot of trouble getting sound out of my Alienware M17x. I've attached the output from alsa-info. I'm running kernel version 2.6.28 with ALSA driver version 1.0.18.
1.0.18 is very old. Any chance to try the later version?
Takashi
I'm now running with the latest version (1.0.21), initially with the same results. After some fiddling I've managed to get the headphones working by adding:
options snd-hda-intel model=dell-m6
to /etc/modprobe.d/alsa-base.conf. But still no speakers.
Try model=intel first. This will use the BIOS setup together with GPIO1.
Takashi
On Wed, 2 Sep 2009 12:16:28 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:09:14 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:04:48 am you wrote:
At Fri, 28 Aug 2009 16:21:20 +0930,
Adam Gray wrote:
Hi guys,
I'm having a lot of trouble getting sound out of my Alienware M17x. I've attached the output from alsa-info. I'm running kernel version 2.6.28 with ALSA driver version 1.0.18.
1.0.18 is very old. Any chance to try the later version?
Takashi
I'm now running with the latest version (1.0.21), initially with the same results. After some fiddling I've managed to get the headphones working by adding:
options snd-hda-intel model=dell-m6
to /etc/modprobe.d/alsa-base.conf. But still no speakers.
Try model=intel first. This will use the BIOS setup together with GPIO1.
Takashi
After setting model=intel I now have the speakers working, but no headphones.
At Wed, 2 Sep 2009 00:26:33 +0930, Adam Gray wrote:
On Wed, 2 Sep 2009 12:16:28 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:09:14 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:04:48 am you wrote:
At Fri, 28 Aug 2009 16:21:20 +0930,
Adam Gray wrote:
Hi guys,
I'm having a lot of trouble getting sound out of my Alienware M17x. I've attached the output from alsa-info. I'm running kernel version 2.6.28 with ALSA driver version 1.0.18.
1.0.18 is very old. Any chance to try the later version?
Takashi
I'm now running with the latest version (1.0.21), initially with the same results. After some fiddling I've managed to get the headphones working by adding:
options snd-hda-intel model=dell-m6
to /etc/modprobe.d/alsa-base.conf. But still no speakers.
Try model=intel first. This will use the BIOS setup together with GPIO1.
Takashi
After setting model=intel I now have the speakers working, but no headphones.
OK, then attach alsa-info.sh output at this point.
To be sure -- you got both headphones working with model=dell-m6?
Takashi
On Wed, 2 Sep 2009 12:31:08 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:26:33 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:16:28 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:09:14 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:04:48 am you wrote:
At Fri, 28 Aug 2009 16:21:20 +0930,
Adam Gray wrote:
Hi guys,
I'm having a lot of trouble getting sound out of my Alienware M17x. I've attached the output from alsa-info. I'm running kernel version 2.6.28 with ALSA driver version 1.0.18.
1.0.18 is very old. Any chance to try the later version?
Takashi
I'm now running with the latest version (1.0.21), initially with the same results. After some fiddling I've managed to get the headphones working by adding:
options snd-hda-intel model=dell-m6
to /etc/modprobe.d/alsa-base.conf. But still no speakers.
Try model=intel first. This will use the BIOS setup together with GPIO1.
Takashi
After setting model=intel I now have the speakers working, but no headphones.
OK, then attach alsa-info.sh output at this point.
To be sure -- you got both headphones working with model=dell-m6?
Takashi
Sorry. Forgot to attach it the first time.
With model=dell-m6 I only get sound out of the first headphone jack and the line-out jack.
Regards, Adam Gray
At Wed, 2 Sep 2009 00:40:13 +0930, Adam Gray wrote:
[1 <text/plain; iso-8859-1 (7bit)>] On Wed, 2 Sep 2009 12:31:08 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:26:33 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:16:28 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:09:14 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:04:48 am you wrote:
At Fri, 28 Aug 2009 16:21:20 +0930,
Adam Gray wrote: > Hi guys, > > I'm having a lot of trouble getting sound out of my Alienware > M17x. I've attached the output from alsa-info. I'm running kernel > version 2.6.28 with ALSA driver version 1.0.18.
1.0.18 is very old. Any chance to try the later version?
Takashi
I'm now running with the latest version (1.0.21), initially with the same results. After some fiddling I've managed to get the headphones working by adding:
options snd-hda-intel model=dell-m6
to /etc/modprobe.d/alsa-base.conf. But still no speakers.
Try model=intel first. This will use the BIOS setup together with GPIO1.
Takashi
After setting model=intel I now have the speakers working, but no headphones.
OK, then attach alsa-info.sh output at this point.
To be sure -- you got both headphones working with model=dell-m6?
Takashi
Sorry. Forgot to attach it the first time. With model=dell-m6 I only get sound out of the first headphone jack and the line-out jack.
Which I/Os does your machine have? According to alsa-info.sh output, BIOS gives three HP jacks, one mic jack, one built-in speaker, one built-in mic, and one SPDIF out jack.
I guess the problem is due to three HPs. The driver hasn't been tested with three HP jacks, only with two HPs.
thanks,
Takashi
On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:40:13 +0930,
Adam Gray wrote:
Sorry. Forgot to attach it the first time. With model=dell-m6 I only get sound out of the first headphone jack and the line-out jack.
Which I/Os does your machine have? According to alsa-info.sh output, BIOS gives three HP jacks, one mic jack, one built-in speaker, one built-in mic, and one SPDIF out jack.
I guess the problem is due to three HPs. The driver hasn't been tested with three HP jacks, only with two HPs.
thanks,
Takashi
It has two headphone jacks, one line-out jack and one microphone jack, the front speakers and a microphone used with the webcam (I believe).
Regards, Adam Gray
At Wed, 2 Sep 2009 00:55:02 +0930, Adam Gray wrote:
On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:40:13 +0930,
Adam Gray wrote:
Sorry. Forgot to attach it the first time. With model=dell-m6 I only get sound out of the first headphone jack and the line-out jack.
Which I/Os does your machine have? According to alsa-info.sh output, BIOS gives three HP jacks, one mic jack, one built-in speaker, one built-in mic, and one SPDIF out jack.
I guess the problem is due to three HPs. The driver hasn't been tested with three HP jacks, only with two HPs.
thanks,
Takashi
It has two headphone jacks, one line-out jack and one microphone jack, the front speakers and a microphone used with the webcam (I believe).
OK. Try to unmute and adjust "Surround" volume.
Takashi
On Wed, 2 Sep 2009 01:04:11 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:55:02 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:40:13 +0930,
Adam Gray wrote:
Sorry. Forgot to attach it the first time. With model=dell-m6 I only get sound out of the first headphone jack and the line-out jack.
Which I/Os does your machine have? According to alsa-info.sh output, BIOS gives three HP jacks, one mic jack, one built-in speaker, one built-in mic, and one SPDIF out jack.
I guess the problem is due to three HPs. The driver hasn't been tested with three HP jacks, only with two HPs.
thanks,
Takashi
It has two headphone jacks, one line-out jack and one microphone jack, the front speakers and a microphone used with the webcam (I believe).
OK. Try to unmute and adjust "Surround" volume.
Takashi
Unmuted surround and volume is up full. Nothing from the headphones. I also unmuted the PC beep and turned it up (just to check) and still nothing.
At Wed, 2 Sep 2009 01:07:22 +0930, Adam Gray wrote:
On Wed, 2 Sep 2009 01:04:11 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:55:02 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:40:13 +0930,
Adam Gray wrote:
Sorry. Forgot to attach it the first time. With model=dell-m6 I only get sound out of the first headphone jack and the line-out jack.
Which I/Os does your machine have? According to alsa-info.sh output, BIOS gives three HP jacks, one mic jack, one built-in speaker, one built-in mic, and one SPDIF out jack.
I guess the problem is due to three HPs. The driver hasn't been tested with three HP jacks, only with two HPs.
thanks,
Takashi
It has two headphone jacks, one line-out jack and one microphone jack, the front speakers and a microphone used with the webcam (I believe).
OK. Try to unmute and adjust "Surround" volume.
Takashi
Unmuted surround and volume is up full. Nothing from the headphones. I also unmuted the PC beep and turned it up (just to check) and still nothing.
Well, which headphone? The driver tries to mute others when a HP is plugged. You need to figure out which I/O corresponds to which pin. You can try hda-verb to issue the pin detection verb. For example, to check the pin 0x0a, run like:
# hda-verb /dev/snd/hwC0D0 0x0a GET_PIN_SENSE 0
If the jack corresponding to this pin is plugged, the bit 31 should be 1. BIOS shows that pins 0x0a, 0x0b, 0x0d are for HP and line-outs. Figure out which are which.
Also, you can try to toggle power bits of IDT codec, e.g. # hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00 to power up all analog pins.
Takashi
On Wed, 2 Sep 2009 01:15:03 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:07:22 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:04:11 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:55:02 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:40:13 +0930,
Adam Gray wrote:
Sorry. Forgot to attach it the first time. With model=dell-m6 I only get sound out of the first headphone jack and the line-out jack.
Which I/Os does your machine have? According to alsa-info.sh output, BIOS gives three HP jacks, one mic jack, one built-in speaker, one built-in mic, and one SPDIF out jack.
I guess the problem is due to three HPs. The driver hasn't been tested with three HP jacks, only with two HPs.
thanks,
Takashi
It has two headphone jacks, one line-out jack and one microphone jack, the front speakers and a microphone used with the webcam (I believe).
OK. Try to unmute and adjust "Surround" volume.
Takashi
Unmuted surround and volume is up full. Nothing from the headphones. I also unmuted the PC beep and turned it up (just to check) and still nothing.
Well, which headphone? The driver tries to mute others when a HP is plugged. You need to figure out which I/O corresponds to which pin. You can try hda-verb to issue the pin detection verb. For example, to check the pin 0x0a, run like:
# hda-verb /dev/snd/hwC0D0 0x0a GET_PIN_SENSE 0
If the jack corresponding to this pin is plugged, the bit 31 should be
- BIOS shows that pins 0x0a, 0x0b, 0x0d are for HP and line-outs.
Figure out which are which.
Also, you can try to toggle power bits of IDT codec, e.g. # hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00 to power up all analog pins.
Takashi
0x0a = HP1 0x0b = HP2 0x0d = line-out
After running "hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00" and plugging in headphones there's a short burst of sound from them before they cut out.
At Wed, 2 Sep 2009 01:37:26 +0930, Adam Gray wrote:
On Wed, 2 Sep 2009 01:15:03 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:07:22 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:04:11 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:55:02 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:40:13 +0930,
Adam Gray wrote: > Sorry. Forgot to attach it the first time. > With model=dell-m6 I only get sound out of the first headphone > jack and the line-out jack.
Which I/Os does your machine have? According to alsa-info.sh output, BIOS gives three HP jacks, one mic jack, one built-in speaker, one built-in mic, and one SPDIF out jack.
I guess the problem is due to three HPs. The driver hasn't been tested with three HP jacks, only with two HPs.
thanks,
Takashi
It has two headphone jacks, one line-out jack and one microphone jack, the front speakers and a microphone used with the webcam (I believe).
OK. Try to unmute and adjust "Surround" volume.
Takashi
Unmuted surround and volume is up full. Nothing from the headphones. I also unmuted the PC beep and turned it up (just to check) and still nothing.
Well, which headphone? The driver tries to mute others when a HP is plugged. You need to figure out which I/O corresponds to which pin. You can try hda-verb to issue the pin detection verb. For example, to check the pin 0x0a, run like:
# hda-verb /dev/snd/hwC0D0 0x0a GET_PIN_SENSE 0
If the jack corresponding to this pin is plugged, the bit 31 should be
- BIOS shows that pins 0x0a, 0x0b, 0x0d are for HP and line-outs.
Figure out which are which.
Also, you can try to toggle power bits of IDT codec, e.g. # hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00 to power up all analog pins.
Takashi
0x0a = HP1 0x0b = HP2 0x0d = line-out
After running "hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00" and plugging in headphones there's a short burst of sound from them before they cut out.
Issue the power bits verb after plugging the headphone.
Takashi
On Wed, 2 Sep 2009 01:52:15 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:37:26 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:15:03 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:07:22 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:04:11 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:55:02 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote: > At Wed, 2 Sep 2009 00:40:13 +0930, > > Adam Gray wrote: > > Sorry. Forgot to attach it the first time. > > With model=dell-m6 I only get sound out of the first > > headphone jack and the line-out jack. > > Which I/Os does your machine have? > According to alsa-info.sh output, BIOS gives three HP jacks, > one mic jack, one built-in speaker, one built-in mic, and one > SPDIF out jack. > > I guess the problem is due to three HPs. The driver hasn't > been tested with three HP jacks, only with two HPs. > > > thanks, > > Takashi
It has two headphone jacks, one line-out jack and one microphone jack, the front speakers and a microphone used with the webcam (I believe).
OK. Try to unmute and adjust "Surround" volume.
Takashi
Unmuted surround and volume is up full. Nothing from the headphones. I also unmuted the PC beep and turned it up (just to check) and still nothing.
Well, which headphone? The driver tries to mute others when a HP is plugged. You need to figure out which I/O corresponds to which pin. You can try hda-verb to issue the pin detection verb. For example, to check the pin 0x0a, run like:
# hda-verb /dev/snd/hwC0D0 0x0a GET_PIN_SENSE 0
If the jack corresponding to this pin is plugged, the bit 31 should be
- BIOS shows that pins 0x0a, 0x0b, 0x0d are for HP and line-outs.
Figure out which are which.
Also, you can try to toggle power bits of IDT codec, e.g. # hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00 to power up all analog pins.
Takashi
0x0a = HP1 0x0b = HP2 0x0d = line-out
After running "hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00" and plugging in headphones there's a short burst of sound from them before they cut out.
Issue the power bits verb after plugging the headphone.
Takashi
Done. For both headphone jacks with no luck :(
Unfortunately I have to get to bed now. 2am and work tomorrow. Thanks for your help thus far.
Regards, Adam Gray
At Wed, 2 Sep 2009 01:55:18 +0930, Adam Gray wrote:
On Wed, 2 Sep 2009 01:52:15 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:37:26 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:15:03 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:07:22 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:04:11 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:55:02 +0930,
Adam Gray wrote: > On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote: > > At Wed, 2 Sep 2009 00:40:13 +0930, > > > > Adam Gray wrote: > > > Sorry. Forgot to attach it the first time. > > > With model=dell-m6 I only get sound out of the first > > > headphone jack and the line-out jack. > > > > Which I/Os does your machine have? > > According to alsa-info.sh output, BIOS gives three HP jacks, > > one mic jack, one built-in speaker, one built-in mic, and one > > SPDIF out jack. > > > > I guess the problem is due to three HPs. The driver hasn't > > been tested with three HP jacks, only with two HPs. > > > > > > thanks, > > > > Takashi > > It has two headphone jacks, one line-out jack and one microphone > jack, the front speakers and a microphone used with the webcam (I > believe).
OK. Try to unmute and adjust "Surround" volume.
Takashi
Unmuted surround and volume is up full. Nothing from the headphones. I also unmuted the PC beep and turned it up (just to check) and still nothing.
Well, which headphone? The driver tries to mute others when a HP is plugged. You need to figure out which I/O corresponds to which pin. You can try hda-verb to issue the pin detection verb. For example, to check the pin 0x0a, run like:
# hda-verb /dev/snd/hwC0D0 0x0a GET_PIN_SENSE 0
If the jack corresponding to this pin is plugged, the bit 31 should be
- BIOS shows that pins 0x0a, 0x0b, 0x0d are for HP and line-outs.
Figure out which are which.
Also, you can try to toggle power bits of IDT codec, e.g. # hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00 to power up all analog pins.
Takashi
0x0a = HP1 0x0b = HP2 0x0d = line-out
After running "hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00" and plugging in headphones there's a short burst of sound from them before they cut out.
Issue the power bits verb after plugging the headphone.
Takashi
Done. For both headphone jacks with no luck :(
Hm. I'm going to check with the emulator tomorrow.
thanks,
Takashi
At Wed, 2 Sep 2009 01:55:18 +0930, Adam Gray wrote:
On Wed, 2 Sep 2009 01:52:15 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:37:26 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:15:03 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:07:22 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:04:11 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 00:55:02 +0930,
Adam Gray wrote: > On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote: > > At Wed, 2 Sep 2009 00:40:13 +0930, > > > > Adam Gray wrote: > > > Sorry. Forgot to attach it the first time. > > > With model=dell-m6 I only get sound out of the first > > > headphone jack and the line-out jack. > > > > Which I/Os does your machine have? > > According to alsa-info.sh output, BIOS gives three HP jacks, > > one mic jack, one built-in speaker, one built-in mic, and one > > SPDIF out jack. > > > > I guess the problem is due to three HPs. The driver hasn't > > been tested with three HP jacks, only with two HPs. > > > > > > thanks, > > > > Takashi > > It has two headphone jacks, one line-out jack and one microphone > jack, the front speakers and a microphone used with the webcam (I > believe).
OK. Try to unmute and adjust "Surround" volume.
Takashi
Unmuted surround and volume is up full. Nothing from the headphones. I also unmuted the PC beep and turned it up (just to check) and still nothing.
Well, which headphone? The driver tries to mute others when a HP is plugged. You need to figure out which I/O corresponds to which pin. You can try hda-verb to issue the pin detection verb. For example, to check the pin 0x0a, run like:
# hda-verb /dev/snd/hwC0D0 0x0a GET_PIN_SENSE 0
If the jack corresponding to this pin is plugged, the bit 31 should be
- BIOS shows that pins 0x0a, 0x0b, 0x0d are for HP and line-outs.
Figure out which are which.
Also, you can try to toggle power bits of IDT codec, e.g. # hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00 to power up all analog pins.
Takashi
0x0a = HP1 0x0b = HP2 0x0d = line-out
After running "hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00" and plugging in headphones there's a short burst of sound from them before they cut out.
Issue the power bits verb after plugging the headphone.
Takashi
Done. For both headphone jacks with no luck :(
Unfortunately I have to get to bed now. 2am and work tomorrow. Thanks for your help thus far.
Could you try the patch below together with the latest alsa-driver snapshot? The URL is below: ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz Apply it on alsa-driver/alsa-kernel directory with patch -p2 option.
After rebuilding the driver, load the module without model option.
Takashi
--- diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 83a338b..e31e53d 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -83,6 +83,7 @@ enum { STAC_DELL_M6_DMIC, STAC_DELL_M6_BOTH, STAC_DELL_EQ, + STAC_ALIENWARE_M17X, STAC_92HD73XX_MODELS };
@@ -1513,12 +1514,20 @@ static unsigned int dell_m6_pin_configs[13] = { 0x4f0000f0, };
+static unsigned int alienware_m17x_pin_configs[13] = { + 0x0321101f, 0x0321101f, 0x03a11020, 0x03014020, + 0x90170110, 0x4f0000f0, 0x4f0000f0, 0x4f0000f0, + 0x4f0000f0, 0x90a60160, 0x4f0000f0, 0x4f0000f0, + 0x904601b0, +}; + static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, [STAC_DELL_M6_AMIC] = dell_m6_pin_configs, [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, [STAC_DELL_EQ] = dell_m6_pin_configs, + [STAC_ALIENWARE_M17X] = alienware_m17x_pin_configs, };
static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { @@ -1530,6 +1539,7 @@ static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { [STAC_DELL_M6_DMIC] = "dell-m6-dmic", [STAC_DELL_M6_BOTH] = "dell-m6", [STAC_DELL_EQ] = "dell-eq", + [STAC_ALIENWARE_M17X] = "alienware", };
static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { @@ -1567,6 +1577,12 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { {} /* terminator */ };
+static struct snd_pci_quirk stac92hd73xx_codec_id_cfg_tbl[] = { + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02a1, + "Alienware M17x", STAC_ALIENWARE_M17X), + {} /* terminator */ +}; + static unsigned int ref92hd83xxx_pin_configs[10] = { 0x02214030, 0x02211010, 0x02a19020, 0x02170130, 0x01014050, 0x01819040, 0x01014020, 0x90a3014e, @@ -4909,6 +4925,12 @@ static int patch_stac92hd73xx(struct hda_codec *codec) STAC_92HD73XX_MODELS, stac92hd73xx_models, stac92hd73xx_cfg_tbl); + /* check codec subsystem id if not found */ + if (spec->board_config < 0) + spec->board_config = + snd_hda_check_board_codec_sid_config(codec, + STAC_92HD73XX_MODELS, stac92hd73xx_models, + stac92hd73xx_codec_id_cfg_tbl); again: if (spec->board_config < 0) snd_printdd(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", @@ -4983,6 +5005,11 @@ again: break; } break; + case STAC_ALIENWARE_M17X: + spec->num_dmics = STAC92HD73XX_NUM_DMICS; + spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids); + spec->eapd_switch = 0; + break; default: spec->num_dmics = STAC92HD73XX_NUM_DMICS; spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);
On Wed, 2 Sep 2009 08:45:20 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:55:18 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:52:15 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:37:26 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:15:03 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:07:22 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:04:11 am Takashi Iwai wrote: > At Wed, 2 Sep 2009 00:55:02 +0930, > > Adam Gray wrote: > > On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote: > > > At Wed, 2 Sep 2009 00:40:13 +0930, > > > > > > Adam Gray wrote: > > > > Sorry. Forgot to attach it the first time. > > > > With model=dell-m6 I only get sound out of the first > > > > headphone jack and the line-out jack. > > > > > > Which I/Os does your machine have? > > > According to alsa-info.sh output, BIOS gives three HP > > > jacks, one mic jack, one built-in speaker, one built-in > > > mic, and one SPDIF out jack. > > > > > > I guess the problem is due to three HPs. The driver hasn't > > > been tested with three HP jacks, only with two HPs. > > > > > > > > > thanks, > > > > > > Takashi > > > > It has two headphone jacks, one line-out jack and one > > microphone jack, the front speakers and a microphone used > > with the webcam (I believe). > > OK. Try to unmute and adjust "Surround" volume. > > > Takashi
Unmuted surround and volume is up full. Nothing from the headphones. I also unmuted the PC beep and turned it up (just to check) and still nothing.
Well, which headphone? The driver tries to mute others when a HP is plugged. You need to figure out which I/O corresponds to which pin. You can try hda-verb to issue the pin detection verb. For example, to check the pin 0x0a, run like:
# hda-verb /dev/snd/hwC0D0 0x0a GET_PIN_SENSE 0
If the jack corresponding to this pin is plugged, the bit 31 should be 1. BIOS shows that pins 0x0a, 0x0b, 0x0d are for HP and line-outs. Figure out which are which.
Also, you can try to toggle power bits of IDT codec, e.g. # hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00 to power up all analog pins.
Takashi
0x0a = HP1 0x0b = HP2 0x0d = line-out
After running "hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00" and plugging in headphones there's a short burst of sound from them before they cut out.
Issue the power bits verb after plugging the headphone.
Takashi
Done. For both headphone jacks with no luck :(
Unfortunately I have to get to bed now. 2am and work tomorrow. Thanks for your help thus far.
Could you try the patch below together with the latest alsa-driver snapshot? The URL is below:
ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-sn apshot.tar.gz Apply it on alsa-driver/alsa-kernel directory with patch -p2 option.
After rebuilding the driver, load the module without model option.
Takashi
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 83a338b..e31e53d 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -83,6 +83,7 @@ enum { STAC_DELL_M6_DMIC, STAC_DELL_M6_BOTH, STAC_DELL_EQ,
- STAC_ALIENWARE_M17X, STAC_92HD73XX_MODELS
};
@@ -1513,12 +1514,20 @@ static unsigned int dell_m6_pin_configs[13] = { 0x4f0000f0, };
+static unsigned int alienware_m17x_pin_configs[13] = {
- 0x0321101f, 0x0321101f, 0x03a11020, 0x03014020,
- 0x90170110, 0x4f0000f0, 0x4f0000f0, 0x4f0000f0,
- 0x4f0000f0, 0x90a60160, 0x4f0000f0, 0x4f0000f0,
- 0x904601b0,
+};
static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, [STAC_DELL_M6_AMIC] = dell_m6_pin_configs, [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, [STAC_DELL_EQ] = dell_m6_pin_configs,
- [STAC_ALIENWARE_M17X] = alienware_m17x_pin_configs,
};
static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { @@ -1530,6 +1539,7 @@ static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { [STAC_DELL_M6_DMIC] = "dell-m6-dmic", [STAC_DELL_M6_BOTH] = "dell-m6", [STAC_DELL_EQ] = "dell-eq",
- [STAC_ALIENWARE_M17X] = "alienware",
};
static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { @@ -1567,6 +1577,12 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { {} /* terminator */ };
+static struct snd_pci_quirk stac92hd73xx_codec_id_cfg_tbl[] = {
- SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02a1,
"Alienware M17x", STAC_ALIENWARE_M17X),
- {} /* terminator */
+};
static unsigned int ref92hd83xxx_pin_configs[10] = { 0x02214030, 0x02211010, 0x02a19020, 0x02170130, 0x01014050, 0x01819040, 0x01014020, 0x90a3014e, @@ -4909,6 +4925,12 @@ static int patch_stac92hd73xx(struct hda_codec *codec) STAC_92HD73XX_MODELS, stac92hd73xx_models, stac92hd73xx_cfg_tbl);
- /* check codec subsystem id if not found */
- if (spec->board_config < 0)
spec->board_config =
snd_hda_check_board_codec_sid_config(codec,
STAC_92HD73XX_MODELS, stac92hd73xx_models,
stac92hd73xx_codec_id_cfg_tbl);
again: if (spec->board_config < 0) snd_printdd(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", @@ -4983,6 +5005,11 @@ again: break; } break;
- case STAC_ALIENWARE_M17X:
spec->num_dmics = STAC92HD73XX_NUM_DMICS;
spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);
spec->eapd_switch = 0;
default: spec->num_dmics = STAC92HD73XX_NUM_DMICS; spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);break;
Brilliant! Speakers and both headphone jacks and the line-out jack now work.
Thank you very much for that. I owe you a beer :)
Regards, Adam Gray
At Wed, 2 Sep 2009 11:25:06 +0930, Adam Gray wrote:
On Wed, 2 Sep 2009 08:45:20 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:55:18 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:52:15 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:37:26 +0930,
Adam Gray wrote:
On Wed, 2 Sep 2009 01:15:03 am Takashi Iwai wrote:
At Wed, 2 Sep 2009 01:07:22 +0930,
Adam Gray wrote: > On Wed, 2 Sep 2009 01:04:11 am Takashi Iwai wrote: > > At Wed, 2 Sep 2009 00:55:02 +0930, > > > > Adam Gray wrote: > > > On Wed, 2 Sep 2009 12:51:21 am Takashi Iwai wrote: > > > > At Wed, 2 Sep 2009 00:40:13 +0930, > > > > > > > > Adam Gray wrote: > > > > > Sorry. Forgot to attach it the first time. > > > > > With model=dell-m6 I only get sound out of the first > > > > > headphone jack and the line-out jack. > > > > > > > > Which I/Os does your machine have? > > > > According to alsa-info.sh output, BIOS gives three HP > > > > jacks, one mic jack, one built-in speaker, one built-in > > > > mic, and one SPDIF out jack. > > > > > > > > I guess the problem is due to three HPs. The driver hasn't > > > > been tested with three HP jacks, only with two HPs. > > > > > > > > > > > > thanks, > > > > > > > > Takashi > > > > > > It has two headphone jacks, one line-out jack and one > > > microphone jack, the front speakers and a microphone used > > > with the webcam (I believe). > > > > OK. Try to unmute and adjust "Surround" volume. > > > > > > Takashi > > Unmuted surround and volume is up full. Nothing from the > headphones. I also unmuted the PC beep and turned it up (just to > check) and still nothing.
Well, which headphone? The driver tries to mute others when a HP is plugged. You need to figure out which I/O corresponds to which pin. You can try hda-verb to issue the pin detection verb. For example, to check the pin 0x0a, run like:
# hda-verb /dev/snd/hwC0D0 0x0a GET_PIN_SENSE 0
If the jack corresponding to this pin is plugged, the bit 31 should be 1. BIOS shows that pins 0x0a, 0x0b, 0x0d are for HP and line-outs. Figure out which are which.
Also, you can try to toggle power bits of IDT codec, e.g. # hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00 to power up all analog pins.
Takashi
0x0a = HP1 0x0b = HP2 0x0d = line-out
After running "hda-verb /dev/snd/hwC0D0 0x01 0x7ec 0x00" and plugging in headphones there's a short burst of sound from them before they cut out.
Issue the power bits verb after plugging the headphone.
Takashi
Done. For both headphone jacks with no luck :(
Unfortunately I have to get to bed now. 2am and work tomorrow. Thanks for your help thus far.
Could you try the patch below together with the latest alsa-driver snapshot? The URL is below:
ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-sn apshot.tar.gz Apply it on alsa-driver/alsa-kernel directory with patch -p2 option.
After rebuilding the driver, load the module without model option.
Takashi
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 83a338b..e31e53d 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -83,6 +83,7 @@ enum { STAC_DELL_M6_DMIC, STAC_DELL_M6_BOTH, STAC_DELL_EQ,
- STAC_ALIENWARE_M17X, STAC_92HD73XX_MODELS
};
@@ -1513,12 +1514,20 @@ static unsigned int dell_m6_pin_configs[13] = { 0x4f0000f0, };
+static unsigned int alienware_m17x_pin_configs[13] = {
- 0x0321101f, 0x0321101f, 0x03a11020, 0x03014020,
- 0x90170110, 0x4f0000f0, 0x4f0000f0, 0x4f0000f0,
- 0x4f0000f0, 0x90a60160, 0x4f0000f0, 0x4f0000f0,
- 0x904601b0,
+};
static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, [STAC_DELL_M6_AMIC] = dell_m6_pin_configs, [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, [STAC_DELL_EQ] = dell_m6_pin_configs,
- [STAC_ALIENWARE_M17X] = alienware_m17x_pin_configs,
};
static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { @@ -1530,6 +1539,7 @@ static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { [STAC_DELL_M6_DMIC] = "dell-m6-dmic", [STAC_DELL_M6_BOTH] = "dell-m6", [STAC_DELL_EQ] = "dell-eq",
- [STAC_ALIENWARE_M17X] = "alienware",
};
static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { @@ -1567,6 +1577,12 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { {} /* terminator */ };
+static struct snd_pci_quirk stac92hd73xx_codec_id_cfg_tbl[] = {
- SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02a1,
"Alienware M17x", STAC_ALIENWARE_M17X),
- {} /* terminator */
+};
static unsigned int ref92hd83xxx_pin_configs[10] = { 0x02214030, 0x02211010, 0x02a19020, 0x02170130, 0x01014050, 0x01819040, 0x01014020, 0x90a3014e, @@ -4909,6 +4925,12 @@ static int patch_stac92hd73xx(struct hda_codec *codec) STAC_92HD73XX_MODELS, stac92hd73xx_models, stac92hd73xx_cfg_tbl);
- /* check codec subsystem id if not found */
- if (spec->board_config < 0)
spec->board_config =
snd_hda_check_board_codec_sid_config(codec,
STAC_92HD73XX_MODELS, stac92hd73xx_models,
stac92hd73xx_codec_id_cfg_tbl);
again: if (spec->board_config < 0) snd_printdd(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", @@ -4983,6 +5005,11 @@ again: break; } break;
- case STAC_ALIENWARE_M17X:
spec->num_dmics = STAC92HD73XX_NUM_DMICS;
spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);
spec->eapd_switch = 0;
default: spec->num_dmics = STAC92HD73XX_NUM_DMICS; spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids);break;
Brilliant! Speakers and both headphone jacks and the line-out jack now work.
Good to hear. Now I merged the fix to sound git tree.
thanks,
Takashi
Hi Adam,
I've got an Alienware M17X running Ubuntu 9.10 I've been having trouble getting sound working too, although its now running fine.
I added the following lines to alsa-base.conf: options snd-hda-intel model=intel enable=1 index=0 options snd-hda-intel enable_msi=1 alias snd-card-0 snd-hda-intel alias sound-slot-0 snd-hda-intel
As you said, model=intel got the sound coming through the speakers, but not the headphone. For me sound doesn't come through the first headphone jack, but it does for the second. Have you tried that?
Hope this helps.
Cheers, Pete
participants (3)
-
Adam Gray
-
Peter von Konigsmark
-
Takashi Iwai