[alsa-devel] Intel HDA / ca0132: support for Alienware 15 Creative Sound Core3D-EX

Takashi Iwai tiwai at suse.de
Mon Apr 27 11:09:07 CEST 2015


At Sat, 25 Apr 2015 02:50:23 +0200,
Gabriele Martino wrote:
> 
> Hi,
> the new Alienware 15 laptop (2015, not the M15x) has a Creative Sound
> Core3D-EX Audio which seems to work with ca0132.
> I'm using a 4.0.0 kernel with gentoo patchset, but with the default
> configuration:
> - the line out/headphone jack doesn't work, it only outputs some white noise
> - alsamixer shows only "Master" and "PCM" channel, no "Front", "Line
> Out" or similar
> - alsamixer has a toggle switch for the "HP/Speaker" but no
> headphone/line out switch
> - the jack detection is enabled on the "line in" jack instead of the
> "line out" (if I plug something on the "line in", the speakers are muted)
> - if I play too much with these switches, the speakers stop working
> until suspend/reboot
> 
> To fix the first issue I run "hdajacksensetest" to get the headphone
> jack pin:
> hdajacksensetest -c 1 -a
> Pin 0x0b (Internal Speaker): present = Yes
> Pin 0x0c (Not connected): present = No
> Pin 0x0d (Not connected): present = No
> Pin 0x0e (Not connected): present = No
> Pin 0x0f (Not connected): present = Yes
> Pin 0x10 (Not connected): present = No
> Pin 0x11 (Black Line In, Left side): present = No
> Pin 0x12 (Internal Mic, Mobile-In): present = No
> Pin 0x13 (Not connected): present = No
> Pin 0x18 (Not connected): present = No
> 
> and replaced the pin number:
> 
> --- /usr/src/linux-4.0.0-gentoo/sound/pci/hda/patch_ca0132.c.old       
> 2015-04-13 00:12:50.000000000 +0200
> +++ /usr/src/linux-4.0.0-gentoo/sound/pci/hda/patch_ca0132.c   
> 2015-04-25 01:43:09.607531550 +0200
> @@ -4625,7 +4625,7 @@
>  
>         spec->num_outputs = 2;
>         spec->out_pins[0] = 0x0b; /* speaker out */
> -       spec->out_pins[1] = 0x10; /* headphone out */
> +       spec->out_pins[1] = 0x0f; /* default: 0x10 - headphone out -0x0f
> on Alienware 15 2015 */
>         spec->shared_out_nid = 0x2;
>  
>         spec->num_inputs = 3;
> 
> Now the "HP/Speaker Auto Detect" is ignored on both jacks, but I can
> switch between headphones and speakers manually with the "HP/Speaker" item.
> 
> This is a dirty hack (and probably won't work on different cards), is
> there a better way to fix this and get at least the jack detection working?

In general, we check either PCI or codec SSID to identify the model
and applies the quirk accordingly.  Does your board have also a unique
SSID?


Takashi


More information about the Alsa-devel mailing list