alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* Intel HDA / ca0132: Multichannel + S/PDIF support
@ 2014-12-30 16:05 Stefan Oltmanns
  2015-01-03  1:30 ` Dylan Reid
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Oltmanns @ 2014-12-30 16:05 UTC (permalink / raw)
  To: alsa-devel

Hi,

I own a Gigabyte G1.Sniper M3 Z77 mainboard with ca0132 onboard audio.
Currently only stereo out and headphone out (at the back, always same
signal) work by default.
I was able to fix S/PDIF out by changing the headphone pin in function
ca0132_config to something below 0x0d, like:

spec->out_pins[1] = 0x0a;

No idea why this fixes S/PDIF, but no other effects noticed. No idea if
it´s going to break something on other devices. Original value is 0x10.

In this function also 3 DACs are listed. The board has a total of 5
stereo outputs:

-Frontpanel (HDA pin connector on mainboard)
4x 3,5mm output at backpanel:
-Stereo out
-Headphone out
-Rear out
-Center/LFE out

I tried to increase the number of channels and create additional outputs
and connected to the other DACs. The maximum I´m able to is to get
different signals out of stereo out and front headphone (not useful,
just some weird mixes) or same signal from all 3 outputs. Rear and c/lfe
out always no signal.

During initialization snd_hda_parse_pin_def_config is called and two
outputs are found. I tried to override that and change spec->autocfg
after that function is called, no success.
Also no matter what I change there, a little later I get this kernel
messages:

kernel: [    2.642972] input: HDA Intel PCH Line Out as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input8
kernel: [    2.643142] input: HDA Intel PCH Front Headphone as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input7
kernel: [    2.644932] input: HDA Intel PCH Line as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input6
kernel: [    2.645050] input: HDA Intel PCH Mic as
/devices/pci0000:00/0000:00:1b.0/sound/card0/input5

I could not find the code where this messages are generated, where is that?

Any ideas what I could/should try to get multichannel support working?
Is there any kind of documentation on the ca0132 that could be helpful?

Best regards
Stefan
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Intel HDA / ca0132: Multichannel + S/PDIF support
  2014-12-30 16:05 Intel HDA / ca0132: Multichannel + S/PDIF support Stefan Oltmanns
@ 2015-01-03  1:30 ` Dylan Reid
  2015-01-03 10:43   ` Stefan Oltmanns
  0 siblings, 1 reply; 9+ messages in thread
From: Dylan Reid @ 2015-01-03  1:30 UTC (permalink / raw)
  To: Stefan Oltmanns; +Cc: alsa-devel@alsa-project.org

On Tue, Dec 30, 2014 at 8:05 AM, Stefan Oltmanns
<stefan-oltmanns@gmx.net> wrote:
> Hi,
>
> I own a Gigabyte G1.Sniper M3 Z77 mainboard with ca0132 onboard audio.
> Currently only stereo out and headphone out (at the back, always same
> signal) work by default.
> I was able to fix S/PDIF out by changing the headphone pin in function
> ca0132_config to something below 0x0d, like:
>
> spec->out_pins[1] = 0x0a;
>
> No idea why this fixes S/PDIF, but no other effects noticed. No idea if
> it´s going to break something on other devices. Original value is 0x10.
>
> In this function also 3 DACs are listed. The board has a total of 5
> stereo outputs:
>
> -Frontpanel (HDA pin connector on mainboard)
> 4x 3,5mm output at backpanel:
> -Stereo out
> -Headphone out
> -Rear out
> -Center/LFE out
>
> I tried to increase the number of channels and create additional outputs
> and connected to the other DACs. The maximum I´m able to is to get
> different signals out of stereo out and front headphone (not useful,
> just some weird mixes) or same signal from all 3 outputs. Rear and c/lfe
> out always no signal.
>
> During initialization snd_hda_parse_pin_def_config is called and two
> outputs are found. I tried to override that and change spec->autocfg
> after that function is called, no success.
> Also no matter what I change there, a little later I get this kernel
> messages:
>
> kernel: [    2.642972] input: HDA Intel PCH Line Out as
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
> kernel: [    2.643142] input: HDA Intel PCH Front Headphone as
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
> kernel: [    2.644932] input: HDA Intel PCH Line as
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
> kernel: [    2.645050] input: HDA Intel PCH Mic as
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
>
> I could not find the code where this messages are generated, where is that?
>
> Any ideas what I could/should try to get multichannel support working?
> Is there any kind of documentation on the ca0132 that could be helpful?

A lot of these capabilities need to be exposed by the DSP on the
ca0132.  What firmware are you loading on it?

>
> Best regards
> Stefan
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Intel HDA / ca0132: Multichannel + S/PDIF support
  2015-01-03  1:30 ` Dylan Reid
@ 2015-01-03 10:43   ` Stefan Oltmanns
  2015-01-04 20:33     ` Dylan Reid
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Oltmanns @ 2015-01-03 10:43 UTC (permalink / raw)
  To: alsa-devel

Am 03.01.2015 um 02:30 schrieb Dylan Reid:
> On Tue, Dec 30, 2014 at 8:05 AM, Stefan Oltmanns
> <stefan-oltmanns@gmx.net> wrote:
>> Hi,
>>
>> I own a Gigabyte G1.Sniper M3 Z77 mainboard with ca0132 onboard audio.
>> Currently only stereo out and headphone out (at the back, always same
>> signal) work by default.
>> I was able to fix S/PDIF out by changing the headphone pin in function
>> ca0132_config to something below 0x0d, like:
>>
>> spec->out_pins[1] = 0x0a;
>>
>> No idea why this fixes S/PDIF, but no other effects noticed. No idea if
>> it´s going to break something on other devices. Original value is 0x10.
>>
>> In this function also 3 DACs are listed. The board has a total of 5
>> stereo outputs:
>>
>> -Frontpanel (HDA pin connector on mainboard)
>> 4x 3,5mm output at backpanel:
>> -Stereo out
>> -Headphone out
>> -Rear out
>> -Center/LFE out
>>
>> I tried to increase the number of channels and create additional outputs
>> and connected to the other DACs. The maximum I´m able to is to get
>> different signals out of stereo out and front headphone (not useful,
>> just some weird mixes) or same signal from all 3 outputs. Rear and c/lfe
>> out always no signal.
>>
>> During initialization snd_hda_parse_pin_def_config is called and two
>> outputs are found. I tried to override that and change spec->autocfg
>> after that function is called, no success.
>> Also no matter what I change there, a little later I get this kernel
>> messages:
>>
>> kernel: [    2.642972] input: HDA Intel PCH Line Out as
>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
>> kernel: [    2.643142] input: HDA Intel PCH Front Headphone as
>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
>> kernel: [    2.644932] input: HDA Intel PCH Line as
>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
>> kernel: [    2.645050] input: HDA Intel PCH Mic as
>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
>>
>> I could not find the code where this messages are generated, where is that?
>>
>> Any ideas what I could/should try to get multichannel support working?
>> Is there any kind of documentation on the ca0132 that could be helpful?
> 
> A lot of these capabilities need to be exposed by the DSP on the
> ca0132.  What firmware are you loading on it?

I tried the one included and none, makes no difference for that problem.
Also the firmware gets loaded after all the input/output configuration,
you´re sure the firmware is needed for multichannel support? Is it
possible/legal to extract it from the windows driver somehow?


_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Intel HDA / ca0132: Multichannel + S/PDIF support
  2015-01-03 10:43   ` Stefan Oltmanns
@ 2015-01-04 20:33     ` Dylan Reid
  2015-01-04 21:26       ` Stefan Oltmanns
  0 siblings, 1 reply; 9+ messages in thread
From: Dylan Reid @ 2015-01-04 20:33 UTC (permalink / raw)
  To: Stefan Oltmanns; +Cc: alsa-devel@alsa-project.org

On Sat, Jan 3, 2015 at 2:43 AM, Stefan Oltmanns <stefan-oltmanns@gmx.net> wrote:
> Am 03.01.2015 um 02:30 schrieb Dylan Reid:
>> On Tue, Dec 30, 2014 at 8:05 AM, Stefan Oltmanns
>> <stefan-oltmanns@gmx.net> wrote:
>>> Hi,
>>>
>>> I own a Gigabyte G1.Sniper M3 Z77 mainboard with ca0132 onboard audio.
>>> Currently only stereo out and headphone out (at the back, always same
>>> signal) work by default.
>>> I was able to fix S/PDIF out by changing the headphone pin in function
>>> ca0132_config to something below 0x0d, like:
>>>
>>> spec->out_pins[1] = 0x0a;
>>>
>>> No idea why this fixes S/PDIF, but no other effects noticed. No idea if
>>> it´s going to break something on other devices. Original value is 0x10.
>>>
>>> In this function also 3 DACs are listed. The board has a total of 5
>>> stereo outputs:
>>>
>>> -Frontpanel (HDA pin connector on mainboard)
>>> 4x 3,5mm output at backpanel:
>>> -Stereo out
>>> -Headphone out
>>> -Rear out
>>> -Center/LFE out
>>>
>>> I tried to increase the number of channels and create additional outputs
>>> and connected to the other DACs. The maximum I´m able to is to get
>>> different signals out of stereo out and front headphone (not useful,
>>> just some weird mixes) or same signal from all 3 outputs. Rear and c/lfe
>>> out always no signal.
>>>
>>> During initialization snd_hda_parse_pin_def_config is called and two
>>> outputs are found. I tried to override that and change spec->autocfg
>>> after that function is called, no success.
>>> Also no matter what I change there, a little later I get this kernel
>>> messages:
>>>
>>> kernel: [    2.642972] input: HDA Intel PCH Line Out as
>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
>>> kernel: [    2.643142] input: HDA Intel PCH Front Headphone as
>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
>>> kernel: [    2.644932] input: HDA Intel PCH Line as
>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
>>> kernel: [    2.645050] input: HDA Intel PCH Mic as
>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
>>>
>>> I could not find the code where this messages are generated, where is that?
>>>
>>> Any ideas what I could/should try to get multichannel support working?
>>> Is there any kind of documentation on the ca0132 that could be helpful?
>>
>> A lot of these capabilities need to be exposed by the DSP on the
>> ca0132.  What firmware are you loading on it?
>
> I tried the one included and none, makes no difference for that problem.
> Also the firmware gets loaded after all the input/output configuration,
> you´re sure the firmware is needed for multichannel support? Is it
> possible/legal to extract it from the windows driver somehow?
>

I'm not sure you need the DSP to do this.  You could try the widows
firmware, but I don't think the driver will know how to communicate
with it.
Sorry I don't have anything more encouraging.

>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Intel HDA / ca0132: Multichannel + S/PDIF support
  2015-01-04 20:33     ` Dylan Reid
@ 2015-01-04 21:26       ` Stefan Oltmanns
  2015-01-05  8:05         ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Oltmanns @ 2015-01-04 21:26 UTC (permalink / raw)
  To: Dylan Reid; +Cc: alsa-devel@alsa-project.org

Am 04.01.2015 um 21:33 schrieb Dylan Reid:
> On Sat, Jan 3, 2015 at 2:43 AM, Stefan Oltmanns <stefan-oltmanns@gmx.net> wrote:
>> Am 03.01.2015 um 02:30 schrieb Dylan Reid:
>>> On Tue, Dec 30, 2014 at 8:05 AM, Stefan Oltmanns
>>> <stefan-oltmanns@gmx.net> wrote:
>>>> Hi,
>>>>
>>>> I own a Gigabyte G1.Sniper M3 Z77 mainboard with ca0132 onboard audio.
>>>> Currently only stereo out and headphone out (at the back, always same
>>>> signal) work by default.
>>>> I was able to fix S/PDIF out by changing the headphone pin in function
>>>> ca0132_config to something below 0x0d, like:
>>>>
>>>> spec->out_pins[1] = 0x0a;
>>>>
>>>> No idea why this fixes S/PDIF, but no other effects noticed. No idea if
>>>> it´s going to break something on other devices. Original value is 0x10.
>>>>
>>>> In this function also 3 DACs are listed. The board has a total of 5
>>>> stereo outputs:
>>>>
>>>> -Frontpanel (HDA pin connector on mainboard)
>>>> 4x 3,5mm output at backpanel:
>>>> -Stereo out
>>>> -Headphone out
>>>> -Rear out
>>>> -Center/LFE out
>>>>
>>>> I tried to increase the number of channels and create additional outputs
>>>> and connected to the other DACs. The maximum I´m able to is to get
>>>> different signals out of stereo out and front headphone (not useful,
>>>> just some weird mixes) or same signal from all 3 outputs. Rear and c/lfe
>>>> out always no signal.
>>>>
>>>> During initialization snd_hda_parse_pin_def_config is called and two
>>>> outputs are found. I tried to override that and change spec->autocfg
>>>> after that function is called, no success.
>>>> Also no matter what I change there, a little later I get this kernel
>>>> messages:
>>>>
>>>> kernel: [    2.642972] input: HDA Intel PCH Line Out as
>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
>>>> kernel: [    2.643142] input: HDA Intel PCH Front Headphone as
>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
>>>> kernel: [    2.644932] input: HDA Intel PCH Line as
>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
>>>> kernel: [    2.645050] input: HDA Intel PCH Mic as
>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
>>>>
>>>> I could not find the code where this messages are generated, where is that?
>>>>
>>>> Any ideas what I could/should try to get multichannel support working?
>>>> Is there any kind of documentation on the ca0132 that could be helpful?
>>>
>>> A lot of these capabilities need to be exposed by the DSP on the
>>> ca0132.  What firmware are you loading on it?
>>
>> I tried the one included and none, makes no difference for that problem.
>> Also the firmware gets loaded after all the input/output configuration,
>> you´re sure the firmware is needed for multichannel support? Is it
>> possible/legal to extract it from the windows driver somehow?
>>
> 
> I'm not sure you need the DSP to do this.  You could try the widows
> firmware, but I don't think the driver will know how to communicate
> with it.
> Sorry I don't have anything more encouraging.
> 

The firmware seems to be directly included in the driver (file is called
ctHda.sys), as I can find the byte sequence MXFL many times in it (this
is how the ctefx.bin file starts). Unfortunately it does not even to be
in one part (there are strings in between). Is there any information
available of the file format of the firmware, like header structure, so
I can find out length of it?

Still the question remains, the input/outputs seem to be generated
before the firmware is loaded, how is that done? How does the driver
know that there are this 4 I/Os and that they are named like that?
That´s not from the patch_ca1032.c. I cannot find any code for that.




_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Intel HDA / ca0132: Multichannel + S/PDIF support
  2015-01-04 21:26       ` Stefan Oltmanns
@ 2015-01-05  8:05         ` Takashi Iwai
  2015-01-06  1:06           ` Stefan Oltmanns
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2015-01-05  8:05 UTC (permalink / raw)
  To: Stefan Oltmanns; +Cc: Dylan Reid, alsa-devel@alsa-project.org

At Sun, 04 Jan 2015 22:26:44 +0100,
Stefan Oltmanns wrote:
> 
> Am 04.01.2015 um 21:33 schrieb Dylan Reid:
> > On Sat, Jan 3, 2015 at 2:43 AM, Stefan Oltmanns <stefan-oltmanns@gmx.net> wrote:
> >> Am 03.01.2015 um 02:30 schrieb Dylan Reid:
> >>> On Tue, Dec 30, 2014 at 8:05 AM, Stefan Oltmanns
> >>> <stefan-oltmanns@gmx.net> wrote:
> >>>> Hi,
> >>>>
> >>>> I own a Gigabyte G1.Sniper M3 Z77 mainboard with ca0132 onboard audio.
> >>>> Currently only stereo out and headphone out (at the back, always same
> >>>> signal) work by default.
> >>>> I was able to fix S/PDIF out by changing the headphone pin in function
> >>>> ca0132_config to something below 0x0d, like:
> >>>>
> >>>> spec->out_pins[1] = 0x0a;
> >>>>
> >>>> No idea why this fixes S/PDIF, but no other effects noticed. No idea if
> >>>> it´s going to break something on other devices. Original value is 0x10.
> >>>>
> >>>> In this function also 3 DACs are listed. The board has a total of 5
> >>>> stereo outputs:
> >>>>
> >>>> -Frontpanel (HDA pin connector on mainboard)
> >>>> 4x 3,5mm output at backpanel:
> >>>> -Stereo out
> >>>> -Headphone out
> >>>> -Rear out
> >>>> -Center/LFE out
> >>>>
> >>>> I tried to increase the number of channels and create additional outputs
> >>>> and connected to the other DACs. The maximum I´m able to is to get
> >>>> different signals out of stereo out and front headphone (not useful,
> >>>> just some weird mixes) or same signal from all 3 outputs. Rear and c/lfe
> >>>> out always no signal.
> >>>>
> >>>> During initialization snd_hda_parse_pin_def_config is called and two
> >>>> outputs are found. I tried to override that and change spec->autocfg
> >>>> after that function is called, no success.
> >>>> Also no matter what I change there, a little later I get this kernel
> >>>> messages:
> >>>>
> >>>> kernel: [    2.642972] input: HDA Intel PCH Line Out as
> >>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
> >>>> kernel: [    2.643142] input: HDA Intel PCH Front Headphone as
> >>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
> >>>> kernel: [    2.644932] input: HDA Intel PCH Line as
> >>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
> >>>> kernel: [    2.645050] input: HDA Intel PCH Mic as
> >>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
> >>>>
> >>>> I could not find the code where this messages are generated, where is that?
> >>>>
> >>>> Any ideas what I could/should try to get multichannel support working?
> >>>> Is there any kind of documentation on the ca0132 that could be helpful?
> >>>
> >>> A lot of these capabilities need to be exposed by the DSP on the
> >>> ca0132.  What firmware are you loading on it?
> >>
> >> I tried the one included and none, makes no difference for that problem.
> >> Also the firmware gets loaded after all the input/output configuration,
> >> you´re sure the firmware is needed for multichannel support? Is it
> >> possible/legal to extract it from the windows driver somehow?
> >>
> > 
> > I'm not sure you need the DSP to do this.  You could try the widows
> > firmware, but I don't think the driver will know how to communicate
> > with it.
> > Sorry I don't have anything more encouraging.
> > 
> 
> The firmware seems to be directly included in the driver (file is called
> ctHda.sys), as I can find the byte sequence MXFL many times in it (this
> is how the ctefx.bin file starts). Unfortunately it does not even to be
> in one part (there are strings in between). Is there any information
> available of the file format of the firmware, like header structure, so
> I can find out length of it?
> 
> Still the question remains, the input/outputs seem to be generated
> before the firmware is loaded, how is that done? How does the driver
> know that there are this 4 I/Os and that they are named like that?
> That´s not from the patch_ca1032.c. I cannot find any code for that.

It's parsed from the pin-default config values set by the hardware.
In the case of onboard audio, usually this is set by BIOS.
Stand-alone boards should set it by themselves, too.

The SPDIF I/O itself has worked even without the DSP (but some volume
controls didn't), IIRC, at least on a Recon3D board I've tested in the
past.

Reassigning the pin is the right fix for your board.  The correct way
would be to add a fixup entry depending on the PCI or codec SSID.


thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Intel HDA / ca0132: Multichannel + S/PDIF support
  2015-01-05  8:05         ` Takashi Iwai
@ 2015-01-06  1:06           ` Stefan Oltmanns
  2015-01-06  9:47             ` Takashi Iwai
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Oltmanns @ 2015-01-06  1:06 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Dylan Reid, alsa-devel@alsa-project.org

Am 05.01.2015 um 09:05 schrieb Takashi Iwai:
> At Sun, 04 Jan 2015 22:26:44 +0100,
> Stefan Oltmanns wrote:
>>
>> Am 04.01.2015 um 21:33 schrieb Dylan Reid:
>>> On Sat, Jan 3, 2015 at 2:43 AM, Stefan Oltmanns <stefan-oltmanns@gmx.net> wrote:
>>>> Am 03.01.2015 um 02:30 schrieb Dylan Reid:
>>>>> On Tue, Dec 30, 2014 at 8:05 AM, Stefan Oltmanns
>>>>> <stefan-oltmanns@gmx.net> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I own a Gigabyte G1.Sniper M3 Z77 mainboard with ca0132 onboard audio.
>>>>>> Currently only stereo out and headphone out (at the back, always same
>>>>>> signal) work by default.
>>>>>> I was able to fix S/PDIF out by changing the headphone pin in function
>>>>>> ca0132_config to something below 0x0d, like:
>>>>>>
>>>>>> spec->out_pins[1] = 0x0a;
>>>>>>
>>>>>> No idea why this fixes S/PDIF, but no other effects noticed. No idea if
>>>>>> it´s going to break something on other devices. Original value is 0x10.
>>>>>>
>>>>>> In this function also 3 DACs are listed. The board has a total of 5
>>>>>> stereo outputs:
>>>>>>
>>>>>> -Frontpanel (HDA pin connector on mainboard)
>>>>>> 4x 3,5mm output at backpanel:
>>>>>> -Stereo out
>>>>>> -Headphone out
>>>>>> -Rear out
>>>>>> -Center/LFE out
>>>>>>
>>>>>> I tried to increase the number of channels and create additional outputs
>>>>>> and connected to the other DACs. The maximum I´m able to is to get
>>>>>> different signals out of stereo out and front headphone (not useful,
>>>>>> just some weird mixes) or same signal from all 3 outputs. Rear and c/lfe
>>>>>> out always no signal.
>>>>>>
>>>>>> During initialization snd_hda_parse_pin_def_config is called and two
>>>>>> outputs are found. I tried to override that and change spec->autocfg
>>>>>> after that function is called, no success.
>>>>>> Also no matter what I change there, a little later I get this kernel
>>>>>> messages:
>>>>>>
>>>>>> kernel: [    2.642972] input: HDA Intel PCH Line Out as
>>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
>>>>>> kernel: [    2.643142] input: HDA Intel PCH Front Headphone as
>>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
>>>>>> kernel: [    2.644932] input: HDA Intel PCH Line as
>>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
>>>>>> kernel: [    2.645050] input: HDA Intel PCH Mic as
>>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
>>>>>>
>>>>>> I could not find the code where this messages are generated, where is that?
>>>>>>
>>>>>> Any ideas what I could/should try to get multichannel support working?
>>>>>> Is there any kind of documentation on the ca0132 that could be helpful?
>>>>>
>>>>> A lot of these capabilities need to be exposed by the DSP on the
>>>>> ca0132.  What firmware are you loading on it?
>>>>
>>>> I tried the one included and none, makes no difference for that problem.
>>>> Also the firmware gets loaded after all the input/output configuration,
>>>> you´re sure the firmware is needed for multichannel support? Is it
>>>> possible/legal to extract it from the windows driver somehow?
>>>>
>>>
>>> I'm not sure you need the DSP to do this.  You could try the widows
>>> firmware, but I don't think the driver will know how to communicate
>>> with it.
>>> Sorry I don't have anything more encouraging.
>>>
>>
>> The firmware seems to be directly included in the driver (file is called
>> ctHda.sys), as I can find the byte sequence MXFL many times in it (this
>> is how the ctefx.bin file starts). Unfortunately it does not even to be
>> in one part (there are strings in between). Is there any information
>> available of the file format of the firmware, like header structure, so
>> I can find out length of it?
>>
>> Still the question remains, the input/outputs seem to be generated
>> before the firmware is loaded, how is that done? How does the driver
>> know that there are this 4 I/Os and that they are named like that?
>> That´s not from the patch_ca1032.c. I cannot find any code for that.
> 
> It's parsed from the pin-default config values set by the hardware.
> In the case of onboard audio, usually this is set by BIOS.
> Stand-alone boards should set it by themselves, too.
> 
> The SPDIF I/O itself has worked even without the DSP (but some volume
> controls didn't), IIRC, at least on a Recon3D board I've tested in the
> past.
> 
> Reassigning the pin is the right fix for your board.  The correct way
> would be to add a fixup entry depending on the PCI or codec SSID.
> 
> 
> thanks,
> 
> Takashi
> 

I was able to extract the firmware from the windows driver, it is loaded
without any problem "ca0132 DOWNLOAD OK :-) DSP IS RUNNING"
Unfortunately after that no analog output at all, digital out is still
working.
I tried the inputs, while device 0,0 gives me digital silence, device
0,2 (mic 2) is only analog silence (there is some very silent random
background noise), so there is an ADC working (tried both inputs-> no
success).
There is still no difference at all in the I/Os found. Where/how are
this fix-up entries done? Is there an good example for a similar device?

Thanks
Stefan


_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Intel HDA / ca0132: Multichannel + S/PDIF support
  2015-01-06  1:06           ` Stefan Oltmanns
@ 2015-01-06  9:47             ` Takashi Iwai
  2015-01-06 22:23               ` Stefan Oltmanns
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2015-01-06  9:47 UTC (permalink / raw)
  To: Stefan Oltmanns; +Cc: Dylan Reid, alsa-devel@alsa-project.org

At Tue, 06 Jan 2015 02:06:36 +0100,
Stefan Oltmanns wrote:
> 
> Am 05.01.2015 um 09:05 schrieb Takashi Iwai:
> > At Sun, 04 Jan 2015 22:26:44 +0100,
> > Stefan Oltmanns wrote:
> >>
> >> Am 04.01.2015 um 21:33 schrieb Dylan Reid:
> >>> On Sat, Jan 3, 2015 at 2:43 AM, Stefan Oltmanns <stefan-oltmanns@gmx.net> wrote:
> >>>> Am 03.01.2015 um 02:30 schrieb Dylan Reid:
> >>>>> On Tue, Dec 30, 2014 at 8:05 AM, Stefan Oltmanns
> >>>>> <stefan-oltmanns@gmx.net> wrote:
> >>>>>> Hi,
> >>>>>>
> >>>>>> I own a Gigabyte G1.Sniper M3 Z77 mainboard with ca0132 onboard audio.
> >>>>>> Currently only stereo out and headphone out (at the back, always same
> >>>>>> signal) work by default.
> >>>>>> I was able to fix S/PDIF out by changing the headphone pin in function
> >>>>>> ca0132_config to something below 0x0d, like:
> >>>>>>
> >>>>>> spec->out_pins[1] = 0x0a;
> >>>>>>
> >>>>>> No idea why this fixes S/PDIF, but no other effects noticed. No idea if
> >>>>>> it´s going to break something on other devices. Original value is 0x10.
> >>>>>>
> >>>>>> In this function also 3 DACs are listed. The board has a total of 5
> >>>>>> stereo outputs:
> >>>>>>
> >>>>>> -Frontpanel (HDA pin connector on mainboard)
> >>>>>> 4x 3,5mm output at backpanel:
> >>>>>> -Stereo out
> >>>>>> -Headphone out
> >>>>>> -Rear out
> >>>>>> -Center/LFE out
> >>>>>>
> >>>>>> I tried to increase the number of channels and create additional outputs
> >>>>>> and connected to the other DACs. The maximum I´m able to is to get
> >>>>>> different signals out of stereo out and front headphone (not useful,
> >>>>>> just some weird mixes) or same signal from all 3 outputs. Rear and c/lfe
> >>>>>> out always no signal.
> >>>>>>
> >>>>>> During initialization snd_hda_parse_pin_def_config is called and two
> >>>>>> outputs are found. I tried to override that and change spec->autocfg
> >>>>>> after that function is called, no success.
> >>>>>> Also no matter what I change there, a little later I get this kernel
> >>>>>> messages:
> >>>>>>
> >>>>>> kernel: [    2.642972] input: HDA Intel PCH Line Out as
> >>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
> >>>>>> kernel: [    2.643142] input: HDA Intel PCH Front Headphone as
> >>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
> >>>>>> kernel: [    2.644932] input: HDA Intel PCH Line as
> >>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
> >>>>>> kernel: [    2.645050] input: HDA Intel PCH Mic as
> >>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
> >>>>>>
> >>>>>> I could not find the code where this messages are generated, where is that?
> >>>>>>
> >>>>>> Any ideas what I could/should try to get multichannel support working?
> >>>>>> Is there any kind of documentation on the ca0132 that could be helpful?
> >>>>>
> >>>>> A lot of these capabilities need to be exposed by the DSP on the
> >>>>> ca0132.  What firmware are you loading on it?
> >>>>
> >>>> I tried the one included and none, makes no difference for that problem.
> >>>> Also the firmware gets loaded after all the input/output configuration,
> >>>> you´re sure the firmware is needed for multichannel support? Is it
> >>>> possible/legal to extract it from the windows driver somehow?
> >>>>
> >>>
> >>> I'm not sure you need the DSP to do this.  You could try the widows
> >>> firmware, but I don't think the driver will know how to communicate
> >>> with it.
> >>> Sorry I don't have anything more encouraging.
> >>>
> >>
> >> The firmware seems to be directly included in the driver (file is called
> >> ctHda.sys), as I can find the byte sequence MXFL many times in it (this
> >> is how the ctefx.bin file starts). Unfortunately it does not even to be
> >> in one part (there are strings in between). Is there any information
> >> available of the file format of the firmware, like header structure, so
> >> I can find out length of it?
> >>
> >> Still the question remains, the input/outputs seem to be generated
> >> before the firmware is loaded, how is that done? How does the driver
> >> know that there are this 4 I/Os and that they are named like that?
> >> That´s not from the patch_ca1032.c. I cannot find any code for that.
> > 
> > It's parsed from the pin-default config values set by the hardware.
> > In the case of onboard audio, usually this is set by BIOS.
> > Stand-alone boards should set it by themselves, too.
> > 
> > The SPDIF I/O itself has worked even without the DSP (but some volume
> > controls didn't), IIRC, at least on a Recon3D board I've tested in the
> > past.
> > 
> > Reassigning the pin is the right fix for your board.  The correct way
> > would be to add a fixup entry depending on the PCI or codec SSID.
> > 
> > 
> > thanks,
> > 
> > Takashi
> > 
> 
> I was able to extract the firmware from the windows driver, it is loaded
> without any problem "ca0132 DOWNLOAD OK :-) DSP IS RUNNING"
> Unfortunately after that no analog output at all, digital out is still
> working.

You still need your patch, right?  Or does it work without patching if
the firmawre is loaded?

> I tried the inputs, while device 0,0 gives me digital silence, device
> 0,2 (mic 2) is only analog silence (there is some very silent random
> background noise), so there is an ADC working (tried both inputs-> no
> success).
> There is still no difference at all in the I/Os found. Where/how are
> this fix-up entries done? Is there an good example for a similar device?

Looking back at patch_ca0132, I have to correct my memory.  The pins
are hard-coded there, and this might be a part of the problem.
We need a bit more surgery there...


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Intel HDA / ca0132: Multichannel + S/PDIF support
  2015-01-06  9:47             ` Takashi Iwai
@ 2015-01-06 22:23               ` Stefan Oltmanns
  0 siblings, 0 replies; 9+ messages in thread
From: Stefan Oltmanns @ 2015-01-06 22:23 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Dylan Reid, alsa-devel@alsa-project.org

Am 06.01.2015 um 10:47 schrieb Takashi Iwai:
> At Tue, 06 Jan 2015 02:06:36 +0100,
> Stefan Oltmanns wrote:
>>
>> Am 05.01.2015 um 09:05 schrieb Takashi Iwai:
>>> At Sun, 04 Jan 2015 22:26:44 +0100,
>>> Stefan Oltmanns wrote:
>>>>
>>>> Am 04.01.2015 um 21:33 schrieb Dylan Reid:
>>>>> On Sat, Jan 3, 2015 at 2:43 AM, Stefan Oltmanns <stefan-oltmanns@gmx.net> wrote:
>>>>>> Am 03.01.2015 um 02:30 schrieb Dylan Reid:
>>>>>>> On Tue, Dec 30, 2014 at 8:05 AM, Stefan Oltmanns
>>>>>>> <stefan-oltmanns@gmx.net> wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I own a Gigabyte G1.Sniper M3 Z77 mainboard with ca0132 onboard audio.
>>>>>>>> Currently only stereo out and headphone out (at the back, always same
>>>>>>>> signal) work by default.
>>>>>>>> I was able to fix S/PDIF out by changing the headphone pin in function
>>>>>>>> ca0132_config to something below 0x0d, like:
>>>>>>>>
>>>>>>>> spec->out_pins[1] = 0x0a;
>>>>>>>>
>>>>>>>> No idea why this fixes S/PDIF, but no other effects noticed. No idea if
>>>>>>>> it´s going to break something on other devices. Original value is 0x10.
>>>>>>>>
>>>>>>>> In this function also 3 DACs are listed. The board has a total of 5
>>>>>>>> stereo outputs:
>>>>>>>>
>>>>>>>> -Frontpanel (HDA pin connector on mainboard)
>>>>>>>> 4x 3,5mm output at backpanel:
>>>>>>>> -Stereo out
>>>>>>>> -Headphone out
>>>>>>>> -Rear out
>>>>>>>> -Center/LFE out
>>>>>>>>
>>>>>>>> I tried to increase the number of channels and create additional outputs
>>>>>>>> and connected to the other DACs. The maximum I´m able to is to get
>>>>>>>> different signals out of stereo out and front headphone (not useful,
>>>>>>>> just some weird mixes) or same signal from all 3 outputs. Rear and c/lfe
>>>>>>>> out always no signal.
>>>>>>>>
>>>>>>>> During initialization snd_hda_parse_pin_def_config is called and two
>>>>>>>> outputs are found. I tried to override that and change spec->autocfg
>>>>>>>> after that function is called, no success.
>>>>>>>> Also no matter what I change there, a little later I get this kernel
>>>>>>>> messages:
>>>>>>>>
>>>>>>>> kernel: [    2.642972] input: HDA Intel PCH Line Out as
>>>>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
>>>>>>>> kernel: [    2.643142] input: HDA Intel PCH Front Headphone as
>>>>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
>>>>>>>> kernel: [    2.644932] input: HDA Intel PCH Line as
>>>>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
>>>>>>>> kernel: [    2.645050] input: HDA Intel PCH Mic as
>>>>>>>> /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
>>>>>>>>
>>>>>>>> I could not find the code where this messages are generated, where is that?
>>>>>>>>
>>>>>>>> Any ideas what I could/should try to get multichannel support working?
>>>>>>>> Is there any kind of documentation on the ca0132 that could be helpful?
>>>>>>>
>>>>>>> A lot of these capabilities need to be exposed by the DSP on the
>>>>>>> ca0132.  What firmware are you loading on it?
>>>>>>
>>>>>> I tried the one included and none, makes no difference for that problem.
>>>>>> Also the firmware gets loaded after all the input/output configuration,
>>>>>> you´re sure the firmware is needed for multichannel support? Is it
>>>>>> possible/legal to extract it from the windows driver somehow?
>>>>>>
>>>>>
>>>>> I'm not sure you need the DSP to do this.  You could try the widows
>>>>> firmware, but I don't think the driver will know how to communicate
>>>>> with it.
>>>>> Sorry I don't have anything more encouraging.
>>>>>
>>>>
>>>> The firmware seems to be directly included in the driver (file is called
>>>> ctHda.sys), as I can find the byte sequence MXFL many times in it (this
>>>> is how the ctefx.bin file starts). Unfortunately it does not even to be
>>>> in one part (there are strings in between). Is there any information
>>>> available of the file format of the firmware, like header structure, so
>>>> I can find out length of it?
>>>>
>>>> Still the question remains, the input/outputs seem to be generated
>>>> before the firmware is loaded, how is that done? How does the driver
>>>> know that there are this 4 I/Os and that they are named like that?
>>>> That´s not from the patch_ca1032.c. I cannot find any code for that.
>>>
>>> It's parsed from the pin-default config values set by the hardware.
>>> In the case of onboard audio, usually this is set by BIOS.
>>> Stand-alone boards should set it by themselves, too.
>>>
>>> The SPDIF I/O itself has worked even without the DSP (but some volume
>>> controls didn't), IIRC, at least on a Recon3D board I've tested in the
>>> past.
>>>
>>> Reassigning the pin is the right fix for your board.  The correct way
>>> would be to add a fixup entry depending on the PCI or codec SSID.
>>>
>>>
>>> thanks,
>>>
>>> Takashi
>>>
>>
>> I was able to extract the firmware from the windows driver, it is loaded
>> without any problem "ca0132 DOWNLOAD OK :-) DSP IS RUNNING"
>> Unfortunately after that no analog output at all, digital out is still
>> working.
> 
> You still need your patch, right?  Or does it work without patching if
> the firmawre is loaded?

I tried the non-modified driver with the new frimware, S/PDIF not
working (nothing is working).


>> I tried the inputs, while device 0,0 gives me digital silence, device
>> 0,2 (mic 2) is only analog silence (there is some very silent random
>> background noise), so there is an ADC working (tried both inputs-> no
>> success).
>> There is still no difference at all in the I/Os found. Where/how are
>> this fix-up entries done? Is there an good example for a similar device?
> 
> Looking back at patch_ca0132, I have to correct my memory.  The pins
> are hard-coded there, and this might be a part of the problem.
> We need a bit more surgery there...

I got analog stereo audio working again by changeing spec->out_pins[0]
to anything between 0x1 and 0x4 (function ca0132_config). With 0x5 I get
a mono downmix ("speaker-test -D hw:0,0 -c 2" gives a constant signal on
both channels). Values above 0x5 result in no output all.
I only get output from stereo out and headphone out (always same
signal). I also tried increasing number of channels, same weird downmix
as before.
I looked into the inf file of the windows driver to see if there are
some settings like pin ids in plaintext (unfortunately no), but what I
noticed lspci reports the device as 8086:1e20, the windows driver is for
1102:0011. Subsys is in both cases 1458a016. Why the difference?

Stefan

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-01-06 22:23 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-30 16:05 Intel HDA / ca0132: Multichannel + S/PDIF support Stefan Oltmanns
2015-01-03  1:30 ` Dylan Reid
2015-01-03 10:43   ` Stefan Oltmanns
2015-01-04 20:33     ` Dylan Reid
2015-01-04 21:26       ` Stefan Oltmanns
2015-01-05  8:05         ` Takashi Iwai
2015-01-06  1:06           ` Stefan Oltmanns
2015-01-06  9:47             ` Takashi Iwai
2015-01-06 22:23               ` Stefan Oltmanns

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).