ICE1712 Sound Card Fails

4 views
Skip to first unread message

Diego Garcia

unread,
Dec 26, 2021, 10:57:31 AM12/26/21
to
ICE1712, actually M-Audio Audiophile 2496, doesn't work.

Alsa modules load properly but alsa lists "no devices found."

What I can discover is this:

lspci -v

04:02.0 Multimedia audio controller: VIA Technologies Inc. Device 0712 (rev 02)
Subsystem: VIA Technologies Inc. Device c634
Flags: medium devsel, IRQ 255
I/O ports at 2040 [disabled] [size=32]
I/O ports at 2060 [disabled] [size=16]
I/O ports at 2070 [disabled] [size=16]
I/O ports at 2000 [disabled] [size=64]
Capabilities: [80] Power Management version 1

Why are these I/O ports disabled?

The kernel boot log for the same device shows:

kernel: pci_bus 0000:04: extended config space not accessible
kernel: pci 0000:04:02.0: [1412:0712] type 00 class 0x040100
kernel: pci 0000:04:02.0: reg 0x10: [io 0x0000-0x001f]
kernel: pci 0000:04:02.0: reg 0x14: [io 0x0000-0x000f]
kernel: pci 0000:04:02.0: reg 0x18: [io 0x0000-0x000f]
kernel: pci 0000:04:02.0: reg 0x1c: [io 0x0000-0x003f]
kernel: pci 0000:04:02.0: supports D2

What is meant by "extended config space not accessible" and,
if this is the problem, how can it be fixed?

This card is from 2003, but it is still very good. It has a PCI 2.1
universal connector that should fit in a recent PCI slot, but maybe
not.


--
Scratch your technical itch:
https://www.linuxfromscratch.org/

Diego Garcia

unread,
Dec 26, 2021, 11:57:41 AM12/26/21
to
On Sun, 26 Dec 2021 15:57:27 +0000, Diego Garcia wrote:

>
> What I can discover is this:
>
> lspci -v
>
> 04:02.0 Multimedia audio controller: VIA Technologies Inc. Device 0712 (rev 02)
> Subsystem: VIA Technologies Inc. Device c634
> Flags: medium devsel, IRQ 255
> I/O ports at 2040 [disabled] [size=32]
> I/O ports at 2060 [disabled] [size=16]
> I/O ports at 2070 [disabled] [size=16]
> I/O ports at 2000 [disabled] [size=64]
> Capabilities: [80] Power Management version 1
>

According to my motherboards docs, the PCI slots are connected to the
main PCIe (PCI Express) bus via a PCIe to PCI bridge.

Maybe the fault is here. What kernel module is needed to control
the PCIe to PCI bridge?

Andreas Kohlbach

unread,
Dec 26, 2021, 12:04:56 PM12/26/21
to
On Sun, 26 Dec 2021 15:57:27 +0000, Diego Garcia wrote:
>
> ICE1712, actually M-Audio Audiophile 2496, doesn't work.
>
> Alsa modules load properly but alsa lists "no devices found."
>
> What I can discover is this:
>
> lspci -v
>
> 04:02.0 Multimedia audio controller: VIA Technologies Inc. Device 0712 (rev 02)
> Subsystem: VIA Technologies Inc. Device c634
> Flags: medium devsel, IRQ 255
> I/O ports at 2040 [disabled] [size=32]
> I/O ports at 2060 [disabled] [size=16]
> I/O ports at 2070 [disabled] [size=16]
> I/O ports at 2000 [disabled] [size=64]
> Capabilities: [80] Power Management version 1
>
> Why are these I/O ports disabled?

Here sound (Azalia onboard) works, but I also get "disabled". Suppose
that has nothing to do with the problem.

> The kernel boot log for the same device shows:
>
> kernel: pci_bus 0000:04: extended config space not accessible
> kernel: pci 0000:04:02.0: [1412:0712] type 00 class 0x040100
> kernel: pci 0000:04:02.0: reg 0x10: [io 0x0000-0x001f]
> kernel: pci 0000:04:02.0: reg 0x14: [io 0x0000-0x000f]
> kernel: pci 0000:04:02.0: reg 0x18: [io 0x0000-0x000f]
> kernel: pci 0000:04:02.0: reg 0x1c: [io 0x0000-0x003f]
> kernel: pci 0000:04:02.0: supports D2
>
> What is meant by "extended config space not accessible" and,
> if this is the problem, how can it be fixed?

Would also ignore this.

> This card is from 2003, but it is still very good. It has a PCI 2.1
> universal connector that should fit in a recent PCI slot, but maybe
> not.

Do you have more than one sound card? May be this one and an additional
onboard? Open alsamixer and press F6 to see (and manage) if there is more
than one card.
--
Andreas

Diego Garcia

unread,
Dec 26, 2021, 12:22:18 PM12/26/21
to
On Sun, 26 Dec 2021 12:04:52 -0500, Andreas Kohlbach wrote:

>
> Do you have more than one sound card? May be this one and an additional
> onboard?
>

I have on-board sound, but I disable it in the BIOS before I install
the ice1712.

>
> Open alsamixer
>

Alsamixer is useless because alsa detects no sound card;

aplay -l

no devices found

When the ice1712 modules are loaded via modprobe, there should
be an entry in the kernel log that shows the detected sound card.
But there is none. It's as if the card is not there.

Diego Garcia

unread,
Dec 26, 2021, 1:14:18 PM12/26/21
to
On Sun, 26 Dec 2021 12:04:52 -0500, Andreas Kohlbach wrote:

>
> Here sound (Azalia onboard) works, but I also get "disabled". Suppose
> that has nothing to do with the problem.
>

I need to find a live distro that claims to support the ice1712 and
then boot with that. If success then there is a problem (somewhere)
with my configuration.

Eric Pozharski

unread,
Dec 27, 2021, 1:33:12 PM12/27/21
to
with <87tuevm...@usenet.ankman.de> Andreas Kohlbach wrote:
> On Sun, 26 Dec 2021 17:22:14 +0000, Diego Garcia wrote:
>> On Sun, 26 Dec 2021 12:04:52 -0500, Andreas Kohlbach wrote:

*SKIP*
>> When the ice1712 modules are loaded via modprobe, there should be an
>> entry in the kernel log that shows the detected sound card. But
>> there is none. It's as if the card is not there.
> Us the modules actually loaded? Check
> lsmod
> for that.

Also, my "lspci -v" at the end of each entry says "Kernel modules:
blah-blah" and "Kernel driver in use: blah_blah" (if appropriate,
checked three times). (in already vanished) I don't see those in this
output.

--
Torvalds' goal for Linux is very simple: World Domination
Stallman's goal for GNU is even simpler: Freedom

Diego Garcia

unread,
Dec 27, 2021, 2:45:47 PM12/27/21
to
On Sun, 26 Dec 2021 15:00:40 -0500, Andreas Kohlbach wrote:

>
> Us the modules actually loaded?
>

Yes, they are loaded. modprobe loads all necessary modules
or gives an error if it fails.

Everything is configured the way it should. The card is not
found. It must be a hardware issue of a recent motherboard
being unable to handle an older PCI card.

I have only a single machine that still has legacy PCI slots.
Most newer MBs only have PCIe slots.

I have other things to do ATM and this issue will be on the
back burner for a while.

Paul

unread,
Dec 28, 2021, 1:47:37 AM12/28/21
to
Three page product preview.

https://www.datasheetarchive.com/pdf/download.php?id=2ce3e57be49f4c47db40eb37b8a0f6b31301ec&type=M&term=ICE1712

Driver.

https://github.com/torvalds/linux/blob/master/sound/pci/ice1712/ice1712.c

You might contact M-Audio and ask them if there is a utility
to re-flash the EEPROM onboard.

It has some sort of configuration information. The extended info might
be what the driver fetches, for this sort of stuff.

snd_iprintf(buffer, "%s\n\n", ice->card->longname);
snd_iprintf(buffer, "EEPROM:\n");

snd_iprintf(buffer, " Subvendor : 0x%x\n", ice->eeprom.subvendor);
snd_iprintf(buffer, " Size : %i bytes\n", ice->eeprom.size);
snd_iprintf(buffer, " Version : %i\n", ice->eeprom.version);
snd_iprintf(buffer, " Codec : 0x%x\n", ice->eeprom.data[ICE_EEP1_CODEC]);
snd_iprintf(buffer, " ACLink : 0x%x\n", ice->eeprom.data[ICE_EEP1_ACLINK]);
snd_iprintf(buffer, " I2S ID : 0x%x\n", ice->eeprom.data[ICE_EEP1_I2SID]);
snd_iprintf(buffer, " S/PDIF : 0x%x\n", ice->eeprom.data[ICE_EEP1_SPDIF]);
snd_iprintf(buffer, " GPIO mask : 0x%x\n", ice->eeprom.gpiomask);
snd_iprintf(buffer, " GPIO state : 0x%x\n", ice->eeprom.gpiostate);
snd_iprintf(buffer, " GPIO direction : 0x%x\n", ice->eeprom.gpiodir);
snd_iprintf(buffer, " AC'97 main : 0x%x\n", eeprom_double(ice, ICE_EEP1_AC97_MAIN_LO));
snd_iprintf(buffer, " AC'97 pcm : 0x%x\n", eeprom_double(ice, ICE_EEP1_AC97_PCM_LO));
snd_iprintf(buffer, " AC'97 record : 0x%x\n", eeprom_double(ice, ICE_EEP1_AC97_REC_LO));
snd_iprintf(buffer, " AC'97 record src : 0x%x\n", ice->eeprom.data[ICE_EEP1_AC97_RECSRC]);

You would need a better PDF than the 3 page product preview, to understand
what else is in the config EEPROM.

I would guess the EEPROM got erased somehow.

The product might be quite old, and if you contacted M-Audio they
might disavow all knowledge. What you'd be looking for is either

A utility to re-load the EEPROM

A file with the proper values, so you could use an EEPROM
programmer to reload the chip.

If it is the EEPROM which is in the socket, it might have
come loose and needs to be pressed back into the socket.
Make sure the legs are aligned with the holes before
pressing it home. If you don't pre-load the legs properly
to the holes, it won't slide in nicely.

If someone ships you a replacement EEPROM and the chip
is socketed, that's another way to do a repair.

That's about the only wild guesses I can make with the
available info.

The socketed chip has a strange logo on it, which does not
look like an EEPROM.

The pci.ids shows that they distinguish the devices via
the SUBSYS field. And the VIA identifier is not molested.
And that SUBSYS field has to be stored *somewhere*.

1412 VIA Technologies Inc.
1712 ICE1712 [Envy24] PCI Multi-Channel I/O Controller
1412 1712 Hoontech ST Audio DSP 24
1412 d630 M-Audio Delta 1010
1412 d631 M-Audio Delta DiO
1412 d632 M-Audio Delta 66
1412 d633 M-Audio Delta 44
1412 d634 M-Audio Delta Audiophile 2496
\_______/
SUBSYS

Paul

Eric Pozharski

unread,
Dec 28, 2021, 5:33:18 AM12/28/21
to
with <87mtkl9...@usenet.ankman.de> Andreas Kohlbach wrote:
> On Mon, 27 Dec 2021 15:26:24 +0000, Eric Pozharski wrote:
>> with <87tuevm...@usenet.ankman.de> Andreas Kohlbach wrote:
>>> On Sun, 26 Dec 2021 17:22:14 +0000, Diego Garcia wrote:
>>>> On Sun, 26 Dec 2021 12:04:52 -0500, Andreas Kohlbach wrote:

>> *SKIP*
>>>> When the ice1712 modules are loaded via modprobe, there should be
>>>> an entry in the kernel log that shows the detected sound card. But
>>>> there is none. It's as if the card is not there.
>>> Us the modules actually loaded? Check lsmod for that.
>> Also, my "lspci -v" at the end of each entry says "Kernel modules:
>> blah-blah" and "Kernel driver in use: blah_blah" (if appropriate,
>> checked three times). (in already vanished) I don't see those in
>> this output.
> Not lspci.

Yes lspci, quoting:

00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA)
Subsystem: ASUSTeK Computer Inc. Device 82ea
Flags: bus master, slow devsel, latency 64, IRQ 16
Memory at fbcf4000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Kernel driver in use: snd_hda_intel

I must correct myself, in one out of three instances there isn't "Kernel
modules" line (weird, in this instance I don't see *any* "Kernel
modules" line at all). Still, module can be derived easily from "Kernel
driver in use" line. Neither "KM" nor "KDIU" line is present in
(already vanished) "lspci -v" output by OP.

> Look up what lsmod says about the particular module. Is it loaded ad
> possibly used by something?

I support this route wholeheartedly, missing OP's input on this (by
providing "lsmod | grep snd" output) already. However, from experience,
there might be dragons.

Diego Garcia

unread,
Dec 28, 2021, 10:06:34 AM12/28/21
to
On Tue, 28 Dec 2021 06:47:30 -0500, Paul wrote:

>
> I would guess the EEPROM got erased somehow.
>

No. The card works on a Mickeysoft machine with the latest
driver put out by M-Audio.

What I did not check was whether or not the /dev/snd nodes
are actually present after the snd-ice1712 modules are loaded.
That is how the card is accessed. This will have to wait for later.

Is there any software available that allows reading/testing
the PCI bus for Linux? It would not be worth the time to have
to write my own stuff.

Diego Garcia

unread,
Dec 28, 2021, 12:08:38 PM12/28/21
to
On Tue, 28 Dec 2021 15:06:20 +0000, Diego Garcia wrote:

>
> Is there any software available that allows reading/testing
> the PCI bus for Linux? It would not be worth the time to have
> to write my own stuff.
>

This link might do it:

https://burgers.io/pci-access-without-a-driver

I wish that I could get to it now but I am presentlt at a slave labor
camp.


Diego Garcia

unread,
Dec 28, 2021, 6:39:00 PM12/28/21
to
On Tue, 28 Dec 2021 15:06:20 +0000, Diego Garcia wrote:

>
> What I did not check was whether or not the /dev/snd nodes
> are actually present after the snd-ice1712 modules are loaded.
>

I had some time today -- barely.

But I checked if the device nodes are created. They are not.

For example, if I use my on-board sound chip and execute:

modprobe snd-hda-intel

The alsa device nodes are created under /dev/snd.

But using the ice1712 card, if I execute:

modprobe snd-ice1712

A lot of modules are loaded, with no error messages, but no
device nodes are created under /dev/snd.

This may be the problem, but also maybe not.

Since (e)udev is creating the nodes do I need to create a custom
rule file?
Reply all
Reply to author
Forward
0 new messages