[alsa-devel] Trying to get unsupported CODEC to work
HelloI have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD Audio controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
Two alsa-info outputs in different circumstances http://www.alsa-project.org/db/?f=20c86e755fdbbdbc8761c8c2f4de76bce2ea0c11 http://www.alsa-project.org/db/?f=15c5e5eab0104622a84b2dd0df03f26c17c7242d
Output of codecgraph with "modprobe hda-intel probe_mask=2" http://pastebin.com/f54b6a9b8
What's the next step to get this supported?
Alex Austin wrote:
HelloI have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD Audio controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
Two alsa-info outputs in different circumstances http://www.alsa-project.org/db/?f=20c86e755fdbbdbc8761c8c2f4de76bce2ea0c11 http://www.alsa-project.org/db/?f=15c5e5eab0104622a84b2dd0df03f26c17c7242d
Output of codecgraph with "modprobe hda-intel probe_mask=2" http://pastebin.com/f54b6a9b8
What's the next step to get this supported?
In both alsa-info.sh outputs, you have outputs turned on, but they are at zero volume. Have you tried running alsamixer to turn up volumes? If you are running pulseaudio you might have to use pulse to turn up volumes, I don't use it so I can't help with that.
Alsa starts with volumes at zero by default.
The other thing is you are using an older version of everything. I think the latest is at 1.0.18, and there are links on the page as http://www.alsa-project.org to get a tar ball of the very latest version available. There are no guarantees, but it might help as changes go in every day.
The problem, at this point, is that the mixer isn't even showing all the channels for the second codec. Secondly, I can only see one codec at a time, and I need to use both for my setup. The mentioned pastebin is the SVG output of codecgraph on the second codec on this system.
On Thu, Dec 11, 2008 at 5:55 PM, stan ghjeold_i_mwee@cox.net wrote:
Alex Austin wrote:
HelloI have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD Audio controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
Two alsa-info outputs in different circumstances http://www.alsa-project.org/db/?f=20c86e755fdbbdbc8761c8c2f4de76bce2ea0c11 http://www.alsa-project.org/db/?f=15c5e5eab0104622a84b2dd0df03f26c17c7242d
Output of codecgraph with "modprobe hda-intel probe_mask=2" http://pastebin.com/f54b6a9b8
What's the next step to get this supported?
In both alsa-info.sh outputs, you have outputs turned on, but they are at zero volume. Have you tried running alsamixer to turn up volumes? If you are running pulseaudio you might have to use pulse to turn up volumes, I don't use it so I can't help with that.
Alsa starts with volumes at zero by default.
The other thing is you are using an older version of everything. I think the latest is at 1.0.18, and there are links on the page as http://www.alsa-project.org to get a tar ball of the very latest version available. There are no guarantees, but it might help as changes go in every day.
At Thu, 11 Dec 2008 16:28:28 -0600, Alex Austin wrote:
HelloI have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD Audio controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
The analog outputs on both codecs are really used at the same time? Then it doesn't work right now. Simply "not implemented". And no concrete plan to fix it yet. This might require a fundamental re-design.
Takashi
Two alsa-info outputs in different circumstances http://www.alsa-project.org/db/?f=20c86e755fdbbdbc8761c8c2f4de76bce2ea0c11 http://www.alsa-project.org/db/?f=15c5e5eab0104622a84b2dd0df03f26c17c7242d
Output of codecgraph with "modprobe hda-intel probe_mask=2" http://pastebin.com/f54b6a9b8
What's the next step to get this supported?
- Alex Austin
(651) 238-9273
"...and then I visited Wikipedia ...and the next 8 hours are a blur." _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Shoot. The DAE-3 is a controller for a 5-CH Amplifier card driving speakers directly, but I still need the subwoofer output from the ALC888. I may be able to get by without the ALC using high-level inputs on the sub amp. Even without it, what do I need to do to enable the DAE-3? I'm comfortable in C, but I don't know ALSA much, if at all, yet.
On Fri, Dec 12, 2008 at 1:02 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 11 Dec 2008 16:28:28 -0600, Alex Austin wrote:
HelloI have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD
Audio
controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
The analog outputs on both codecs are really used at the same time? Then it doesn't work right now. Simply "not implemented". And no concrete plan to fix it yet. This might require a fundamental re-design.
Takashi
Two alsa-info outputs in different circumstances
http://www.alsa-project.org/db/?f=20c86e755fdbbdbc8761c8c2f4de76bce2ea0c11
http://www.alsa-project.org/db/?f=15c5e5eab0104622a84b2dd0df03f26c17c7242d
Output of codecgraph with "modprobe hda-intel probe_mask=2" http://pastebin.com/f54b6a9b8
What's the next step to get this supported?
- Alex Austin
(651) 238-9273
"...and then I visited Wikipedia ...and the next 8 hours are a blur." _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Fri, 12 Dec 2008 02:54:25 -0600, Alex Austin wrote:
Shoot. The DAE-3 is a controller for a 5-CH Amplifier card driving speakers directly, but I still need the subwoofer output from the ALC888. I may be able to get by without the ALC using high-level inputs on the sub amp. Even without it, what do I need to do to enable the DAE-3? I'm comfortable in C, but I don't know ALSA much, if at all, yet.
The codec parser isn't present for DAE-3, and the generic parser obviously doesn't work for it. So, you need to create a new codec parser such as other patch_*.c.
Takashi
On Fri, Dec 12, 2008 at 1:02 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 11 Dec 2008 16:28:28 -0600, Alex Austin wrote:
HelloI have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD
Audio
controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
The analog outputs on both codecs are really used at the same time? Then it doesn't work right now. Simply "not implemented". And no concrete plan to fix it yet. This might require a fundamental re-design.
Takashi
Two alsa-info outputs in different circumstances
http://www.alsa-project.org/db/?f=20c86e755fdbbdbc8761c8c2f4de76bce2ea0c11
http://www.alsa-project.org/db/?f=15c5e5eab0104622a84b2dd0df03f26c17c7242d
Output of codecgraph with "modprobe hda-intel probe_mask=2" http://pastebin.com/f54b6a9b8
What's the next step to get this supported?
- Alex Austin
(651) 238-9273
"...and then I visited Wikipedia ...and the next 8 hours are a blur." _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
--
- Alex Austin
(651) 238-9273
"...and then I visited Wikipedia ...and the next 8 hours are a blur." _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Perhaps I'm just showing my ignorance, but why are CODEC-specific parser's necessary? Doesn't /proc/asound/card0/codec#1 contain most of the necessary info to support it? I know codecgraph displayed much more than the generic parser offered.
On Fri, Dec 12, 2008 at 3:23 AM, Takashi Iwai tiwai@suse.de wrote:
At Fri, 12 Dec 2008 02:54:25 -0600, Alex Austin wrote:
Shoot. The DAE-3 is a controller for a 5-CH Amplifier card driving
speakers
directly, but I still need the subwoofer output from the ALC888. I may be able to get by without the ALC using high-level inputs on the sub amp.
Even
without it, what do I need to do to enable the DAE-3? I'm comfortable in
C,
but I don't know ALSA much, if at all, yet.
The codec parser isn't present for DAE-3, and the generic parser obviously doesn't work for it. So, you need to create a new codec parser such as other patch_*.c.
Takashi
On Fri, Dec 12, 2008 at 1:02 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 11 Dec 2008 16:28:28 -0600, Alex Austin wrote:
HelloI have an MSI Media Live DIVA motherboard. It has an AMD SB600
HD
Audio
controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
The analog outputs on both codecs are really used at the same time? Then it doesn't work right now. Simply "not implemented". And no concrete plan to fix it yet. This might require a fundamental re-design.
Takashi
Two alsa-info outputs in different circumstances
http://www.alsa-project.org/db/?f=20c86e755fdbbdbc8761c8c2f4de76bce2ea0c11
http://www.alsa-project.org/db/?f=15c5e5eab0104622a84b2dd0df03f26c17c7242d
Output of codecgraph with "modprobe hda-intel probe_mask=2" http://pastebin.com/f54b6a9b8
What's the next step to get this supported?
- Alex Austin
(651) 238-9273
"...and then I visited Wikipedia ...and the next 8 hours are a blur." _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
--
- Alex Austin
(651) 238-9273
"...and then I visited Wikipedia ...and the next 8 hours are a blur." _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Fri, 12 Dec 2008 03:29:20 -0600, Alex Austin wrote:
Perhaps I'm just showing my ignorance, but why are CODEC-specific parser's necessary? Doesn't /proc/asound/card0/codec#1 contain most of the necessary info to support it? I know codecgraph displayed much more than the generic parser offered.
As I wrote, the generic parser doesn't work for your codec. You can improve the generic parser, of course, instead of codec-specific parser...
Takashi
On Fri, Dec 12, 2008 at 3:23 AM, Takashi Iwai tiwai@suse.de wrote:
At Fri, 12 Dec 2008 02:54:25 -0600, Alex Austin wrote: > > Shoot. The DAE-3 is a controller for a 5-CH Amplifier card driving speakers > directly, but I still need the subwoofer output from the ALC888. I may be > able to get by without the ALC using high-level inputs on the sub amp. Even > without it, what do I need to do to enable the DAE-3? I'm comfortable in C, > but I don't know ALSA much, if at all, yet. The codec parser isn't present for DAE-3, and the generic parser obviously doesn't work for it. So, you need to create a new codec parser such as other patch_*.c. Takashi > On Fri, Dec 12, 2008 at 1:02 AM, Takashi Iwai <tiwai@suse.de> wrote: > > > At Thu, 11 Dec 2008 16:28:28 -0600, > > Alex Austin wrote: > > > > > > HelloI have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD > > Audio > > > controller, and two CODECs on the HDA bus. > > > > > > First is an ALC888 > > > Second is an Intersil DAE-3. > > > > The analog outputs on both codecs are really used at the same time? > > Then it doesn't work right now. Simply "not implemented". And no > > concrete plan to fix it yet. This might require a fundamental > > re-design. > > > > > > Takashi > > > > > > > > Two alsa-info outputs in different circumstances > > > > > http://www.alsa-project.org/db/?f= 20c86e755fdbbdbc8761c8c2f4de76bce2ea0c11 > > > > > http://www.alsa-project.org/db/?f= 15c5e5eab0104622a84b2dd0df03f26c17c7242d > > > > > > Output of codecgraph with "modprobe hda-intel probe_mask=2" > > > http://pastebin.com/f54b6a9b8 > > > > > > What's the next step to get this supported? > > > -- > > > - Alex Austin > > > (651) 238-9273 > > > > > > "...and then I visited Wikipedia ...and the next 8 hours are a blur." > > > _______________________________________________ > > > Alsa-devel mailing list > > > Alsa-devel@alsa-project.org > > > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > > > > > > > > > -- > - Alex Austin > (651) 238-9273 > > "...and then I visited Wikipedia ...and the next 8 hours are a blur." > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >
--
- Alex Austin
(651) 238-9273
"...and then I visited Wikipedia ...and the next 8 hours are a blur."
I know this thread is ancient, but the question has come to my forefront again, so I'll see if I can ask it better now.
On Fri, Dec 12, 2008 at 3:23 AM, Takashi Iwai tiwai@suse.de wrote:
Alex Austin wrote:
Shoot. The DAE-3 is a controller for a 5-CH Amplifier card driving speakers directly, but I still need the subwoofer output from the ALC888.
I
may be able to get by without the ALC using high-level inputs on the sub
amp.
Even without it, what do I need to do to enable the DAE-3? I'm
comfortable in
C, but I don't know ALSA much, if at all, yet.
The codec parser isn't present for DAE-3, and the generic parser obviously doesn't work for it. So, you need to create a new codec parser such as other patch_*.c.
Takashi
Since the output of codecgraph looks pretty simple, what codec parser would you recommend starting with as a base?
On Fri, Dec 12, 2008 at 1:02 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 11 Dec 2008 16:28:28 -0600, Alex Austin wrote:
Hello, I have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD Audio controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
The analog outputs on both codecs are really used at the same time? Then it doesn't work right now. Simply "not implemented". And no concrete plan to fix it yet. This might require a fundamental re-design.
Takashi
Is this still the case? Structurally, why can't this be supported now?
Thanks much, - Alex Austin
At Thu, 5 Nov 2009 03:15:52 -0600, Alex Austin wrote:
I know this thread is ancient, but the question has come to my forefront again, so I'll see if I can ask it better now.
On Fri, Dec 12, 2008 at 3:23 AM, Takashi Iwai tiwai@suse.de wrote:
Alex Austin wrote:
Shoot. The DAE-3 is a controller for a 5-CH Amplifier card driving speakers directly, but I still need the subwoofer output from the ALC888.
I
may be able to get by without the ALC using high-level inputs on the sub
amp.
Even without it, what do I need to do to enable the DAE-3? I'm
comfortable in
C, but I don't know ALSA much, if at all, yet.
The codec parser isn't present for DAE-3, and the generic parser obviously doesn't work for it. So, you need to create a new codec parser such as other patch_*.c.
Takashi
Since the output of codecgraph looks pretty simple, what codec parser would you recommend starting with as a base?
Hard to say... Maybe the one in patch_cirrus.c or patch_ca0110.c, which are relatively straightforward parsers. patch_sigmatel.c includes many fix-ups. Ditto for realtek.
On Fri, Dec 12, 2008 at 1:02 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 11 Dec 2008 16:28:28 -0600, Alex Austin wrote:
Hello, I have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD Audio controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
The analog outputs on both codecs are really used at the same time? Then it doesn't work right now. Simply "not implemented". And no concrete plan to fix it yet. This might require a fundamental re-design.
Takashi
Is this still the case? Structurally, why can't this be supported now?
The problem is that the driver device tree is based on the PCI device. That is, each card-object is created for each PCI device, not for each codec.
The re-design I mentioned above is to create a HD-audio bus per PCI device and a card instance for each codec chip on that bus. But, this results in the incompatibility with the current setup, and so far, no real hardware requires that.
Alternatively, you can add quirks for both codecs to create controls freely with different names or with unique indices so that they don't conflict with each other.
Takashi
On Thu, Nov 5, 2009 at 4:21 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 5 Nov 2009 03:15:52 -0600, Alex Austin wrote:
I know this thread is ancient, but the question has come to my forefront again, so I'll see if I can ask it better now.
On Fri, Dec 12, 2008 at 3:23 AM, Takashi Iwai tiwai@suse.de wrote:
Alex Austin wrote:
Shoot. The DAE-3 is a controller for a 5-CH Amplifier card driving speakers directly, but I still need the subwoofer output from the
ALC888.
I
may be able to get by without the ALC using high-level inputs on the
sub
amp.
Even without it, what do I need to do to enable the DAE-3? I'm
comfortable in
C, but I don't know ALSA much, if at all, yet.
The codec parser isn't present for DAE-3, and the generic parser obviously doesn't work for it. So, you need to create a new codec parser such as other patch_*.c.
Takashi
Since the output of codecgraph looks pretty simple, what codec parser would you recommend starting with as a base?
Hard to say... Maybe the one in patch_cirrus.c or patch_ca0110.c, which are relatively straightforward parsers. patch_sigmatel.c includes many fix-ups. Ditto for realtek.
Thanks. I'll start there. Since I'll be trying to work from codecgraph
output, can someone supply me a codecgraph for either a cirrus or ca0110 codec to compare against the parser source?
On Fri, Dec 12, 2008 at 1:02 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 11 Dec 2008 16:28:28 -0600, Alex Austin wrote:
Hello, I have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD Audio controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
The analog outputs on both codecs are really used at the same time? Then it doesn't work right now. Simply "not implemented". And no concrete plan to fix it yet. This might require a fundamental re-design.
Takashi
Is this still the case? Structurally, why can't this be supported now?
The problem is that the driver device tree is based on the PCI device. That is, each card-object is created for each PCI device, not for each codec.
The re-design I mentioned above is to create a HD-audio bus per PCI device and a card instance for each codec chip on that bus. But, this results in the incompatibility with the current setup, and so far, no real hardware requires that.
Alternatively, you can add quirks for both codecs to create controls freely with different names or with unique indices so that they don't conflict with each other.
Takashi
So, the only reason it won't work now is because of duplicate control names?
On a related note, can audio be routed from an analog input on one codec to an analog output on another within the controller, or would that need to be done via a userspace app?
At Thu, 5 Nov 2009 04:27:49 -0600, Alex Austin wrote:
On Thu, Nov 5, 2009 at 4:21 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 5 Nov 2009 03:15:52 -0600, Alex Austin wrote:
I know this thread is ancient, but the question has come to my forefront again, so I'll see if I can ask it better now.
On Fri, Dec 12, 2008 at 3:23 AM, Takashi Iwai tiwai@suse.de wrote:
Alex Austin wrote:
Shoot. The DAE-3 is a controller for a 5-CH Amplifier card driving speakers directly, but I still need the subwoofer output from the
ALC888.
I
may be able to get by without the ALC using high-level inputs on the
sub
amp.
Even without it, what do I need to do to enable the DAE-3? I'm
comfortable in
C, but I don't know ALSA much, if at all, yet.
The codec parser isn't present for DAE-3, and the generic parser obviously doesn't work for it. So, you need to create a new codec parser such as other patch_*.c.
Takashi
Since the output of codecgraph looks pretty simple, what codec parser would you recommend starting with as a base?
Hard to say... Maybe the one in patch_cirrus.c or patch_ca0110.c, which are relatively straightforward parsers. patch_sigmatel.c includes many fix-ups. Ditto for realtek.
Thanks. I'll start there. Since I'll be trying to work from codecgraph
output, can someone supply me a codecgraph for either a cirrus or ca0110 codec to compare against the parser source?
You can find many alsa-info / codec proc files in hda-emu git tree. git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/hda-emu.git
On Fri, Dec 12, 2008 at 1:02 AM, Takashi Iwai tiwai@suse.de wrote:
At Thu, 11 Dec 2008 16:28:28 -0600, Alex Austin wrote:
Hello, I have an MSI Media Live DIVA motherboard. It has an AMD SB600 HD Audio controller, and two CODECs on the HDA bus.
First is an ALC888 Second is an Intersil DAE-3.
The analog outputs on both codecs are really used at the same time? Then it doesn't work right now. Simply "not implemented". And no concrete plan to fix it yet. This might require a fundamental re-design.
Takashi
Is this still the case? Structurally, why can't this be supported now?
The problem is that the driver device tree is based on the PCI device. That is, each card-object is created for each PCI device, not for each codec.
The re-design I mentioned above is to create a HD-audio bus per PCI device and a card instance for each codec chip on that bus. But, this results in the incompatibility with the current setup, and so far, no real hardware requires that.
Alternatively, you can add quirks for both codecs to create controls freely with different names or with unique indices so that they don't conflict with each other.
Takashi
So, the only reason it won't work now is because of duplicate control names?
Basically yes. PCM devices are assigned more or less dynamically.
On a related note, can audio be routed from an analog input on one codec to an analog output on another within the controller,
Not in the driver. Only if the hardware does.
or would that need to be done via a userspace app?
A user-space daemon such as pulseaudio or jack can do.
Takashi
On Thu, Nov 5, 2009 at 4:47 AM, Takashi Iwai tiwai@suse.de wrote:
...snip...
So, the only reason it won't work now is because of duplicate control names?
Basically yes. PCM devices are assigned more or less dynamically.
So, assuming no control names conflict, what will alsamixer display for "Chip:"? Just curious. Doesn't really matter.
At Thu, 5 Nov 2009 05:44:51 -0600, Alex Austin wrote:
On Thu, Nov 5, 2009 at 4:47 AM, Takashi Iwai tiwai@suse.de wrote:
...snip...
So, the only reason it won't work now is because of duplicate control names?
Basically yes. PCM devices are assigned more or less dynamically.
So, assuming no control names conflict, what will alsamixer display for "Chip:"? Just curious. Doesn't really matter.
This would be the name of the last codec chip to be set. The mixer->chip identification doesn't work for this kind of hardware, obviously...
Note that we had once multiple mixer interfaces on the card, but we abandoned it because this resulted in nothing but complexity.
Takashi
participants (3)
-
Alex Austin
-
stan
-
Takashi Iwai