2001-11-04 04:48:33

by Sean Middleditch

[permalink] [raw]
Subject: Via Onboard Audio - Round #2

Hi all!

OK, I seemed to have made a realization:

When the via82cxxx_audio driver loads (this is in 2.4.12, Debian
version, which I think is Linus tree with a couple patches), I get these
errors (which I also think I had on the RH kernels, tho I can't exactly
check that anymoe, since RH is gone):

IEQ routing conflict for 00:07.5, have irq 5, want irq 11
PCI: Sharing IRQ 11 with 00:0a.0
PCI: Sharing IRQ 11 with 00.0b.0
via82cxxx: timeout while reading AC97 codec (0xAA0000)
via82cxxx: timeout while reading AC97 codec (0xAA0000)
via82cxxx: Codec rate locked at 48Khz
via82cxxx: timeout while reading AC97 codec (0x800000)
ac97_codec: AC97 codec, id: 0x4144:0x5361 (Unknown)
via82cxxx: board #1 at 0x1000, IRQ 5

(note, those were hand typed, I'm writing this up on my workstation not
the laptop, so no cut and paste, and I'm too lazy to deal with floppies
at the moment).

In /proc/pci, the audio board is at IRQ 5, device 9 on bus 9.
lspci says it is device 00:07.5 (as does the above notice).

pcitweak -l reports, for the device:
PCI: 00:07.5: chip 1106,3058 card 0e11,0097 rev 50 class 04,01,00 hdr 00

In any event, I'm thinking perhaps there is an IRQ conflict happening
here? I looked in the BIOS, and the BIOS gives me *no* options relating
to IRQ's (All I see are a couple lpt options, boot order, and
suspend/resume disabling). I tried modprobe via82cxx_audio irq=5 but
that gave me errors about the irq option not being valid. How can I
force the IEQ to 5, or 11, or whatever other IRQ I want?

Also, Pierre Rousselet suggested there may be memory issues. Although
2.4.12 has never given me problems, 2.4.13 crashed and burned, the 2.4.7
that came with RH 7.2 crashed and burned, I never had problems with
2.4.9, no problems with 2.2.17 (Debian install) although I didn't run
those last too for long at all, and 2.2.19 seemed to choke when I loaded
my nic dirver (8139too). I don't know if those were all related to
kernel bugs (the 2.2.19 was only on the nic, and only a couple 2.4.x
gave me issues). In any event, the reason I bought this laptop over a
better linux-supported one was the price, which was due to the fact it
was a returned laptop, leading me to believe there is a good chance the
memory *may* be bad, although again I have had no problems with some
kernels, even after having it run for hours.

Anyways, how could I better debug memory? I've managed some mean
compilations on the good kernels, and seen C++ compiler crash horribly
on 2.4.13. That's the best memory tester I know of. ~,^

Again, I'm not on the list, way too much mental strain with all that
traffic. CC replies to me, please.

Thanks again everyone for all your excellent help!
Sean Etc.


2001-11-04 05:03:57

by Jeff Garzik

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2

Sean Middleditch wrote:
>
> Hi all!
>
> OK, I seemed to have made a realization:
>
> When the via82cxxx_audio driver loads (this is in 2.4.12, Debian
> version, which I think is Linus tree with a couple patches), I get these
> errors (which I also think I had on the RH kernels, tho I can't exactly
> check that anymoe, since RH is gone):
>
> IEQ routing conflict for 00:07.5, have irq 5, want irq 11
> PCI: Sharing IRQ 11 with 00:0a.0
> PCI: Sharing IRQ 11 with 00.0b.0
> via82cxxx: timeout while reading AC97 codec (0xAA0000)
> via82cxxx: timeout while reading AC97 codec (0xAA0000)
> via82cxxx: Codec rate locked at 48Khz
> via82cxxx: timeout while reading AC97 codec (0x800000)
> ac97_codec: AC97 codec, id: 0x4144:0x5361 (Unknown)
> via82cxxx: board #1 at 0x1000, IRQ 5
>
> (note, those were hand typed, I'm writing this up on my workstation not
> the laptop, so no cut and paste, and I'm too lazy to deal with floppies
> at the moment).
>
> In /proc/pci, the audio board is at IRQ 5, device 9 on bus 9.
> lspci says it is device 00:07.5 (as does the above notice).
>
> pcitweak -l reports, for the device:
> PCI: 00:07.5: chip 1106,3058 card 0e11,0097 rev 50 class 04,01,00 hdr 00
>
> In any event, I'm thinking perhaps there is an IRQ conflict happening
> here? I looked in the BIOS, and the BIOS gives me *no* options relating
> to IRQ's (All I see are a couple lpt options, boot order, and
> suspend/resume disabling). I tried modprobe via82cxx_audio irq=5 but
> that gave me errors about the irq option not being valid. How can I
> force the IEQ to 5, or 11, or whatever other IRQ I want?

You cannot, through driver options.

The IRQ routing conflict is definitely the problem. You can try booting
with "PNP OS: No" and maybe other irq options are hidden in your BIOS
setup under an advanced menu.

--
Jeff Garzik | Only so many songs can be sung
Building 1024 | with two lips, two lungs, and one tongue.
MandrakeSoft | - nomeansno

2001-11-04 05:26:19

by Sean Middleditch

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2

On Sun, 2001-11-04 at 00:03, Jeff Garzik wrote:
>
> You cannot, through driver options.
>
> The IRQ routing conflict is definitely the problem. You can try booting
> with "PNP OS: No" and maybe other irq options are hidden in your BIOS
> setup under an advanced menu.
>

There is no option. Trust me, I know BIOS setups, and unless they
really hid the option well (I.E., not having it in the menus at all)
it's not there. The audio worked fine in WindowXP, obviously an OS and
drivers can handle it. This is a limitation and/or problem with Linux
and it's Via Audio driver. How can I get around this, or do I need to
reinstall WindowsXP to use the audio?

(Sorry if I sounded harsh, but I just got done bitching at a couple
companies pissing me off lately... I'm not in a put-up-with-crap mood
right now ^,^ After I sleep a little I will behave better, I promise.)

Thanks guys,
Sean Etc.

> --
> Jeff Garzik | Only so many songs can be sung
> Building 1024 | with two lips, two lungs, and one tongue.
> MandrakeSoft | - nomeansno
>


2001-11-04 13:20:48

by Anton Altaparmakov

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2

At 05:30 04/11/2001, Sean Middleditch wrote:
>On Sun, 2001-11-04 at 00:03, Jeff Garzik wrote:
> > You cannot, through driver options.
> >
> > The IRQ routing conflict is definitely the problem. You can try booting
> > with "PNP OS: No" and maybe other irq options are hidden in your BIOS
> > setup under an advanced menu.
>
>There is no option.

You mean you bios doesn't allow you to choose whether you have a PNP OS or
not?!? That would be very unusual (unless you have a Dell...). Linux is not
a PNP OS and hence problems like yours often get fixed by setting in the
BIOS that you are not using a PNP OS. Windows still works fine with PNP OS
= NO btw. - On my P4 I had to set PNP OS = NO otherwise I couldn't get my
sound card to work...

Anton


--
"I've not lost my mind. It's backed up on tape somewhere." - Unknown
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Linux NTFS Maintainer / WWW: http://linux-ntfs.sf.net/
ICQ: 8561279 / WWW: http://www-stu.christs.cam.ac.uk/~aia21/

2001-11-04 13:45:11

by Jeff Garzik

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2

Anton Altaparmakov wrote:
> Linux is not
> a PNP OS and hence problems like yours often get fixed by setting in the
> BIOS that you are not using a PNP OS.

Incorrect. PCI IRQ routing (net effect of "PNP OS: Yes") works fine for
everybody except those with Sean's type of PCI IRQ routing table.

--
Jeff Garzik | Only so many songs can be sung
Building 1024 | with two lips, two lungs, and one tongue.
MandrakeSoft | - nomeansno

2001-11-04 13:46:01

by Jeff Garzik

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2


--
Jeff Garzik | Only so many songs can be sung
Building 1024 | with two lips, two lungs, and one tongue.
MandrakeSoft | - nomeansno

2001-11-04 13:49:02

by Jeff Garzik

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2

Sean Middleditch wrote:
> drivers can handle it. This is a limitation and/or problem with Linux
> and it's Via Audio driver. How can I get around this, or do I need to
> reinstall WindowsXP to use the audio?

This has absolutely nothing to do with the audio driver.

Linux is having trouble with your PCI IRQ routing table that is
presented by your BIOS to Linux.

Can you provide 'dmesg -s 16384' output, after changing line 7 of
arch/i386/kernel/pci-i386.h thusly:
-#undef DEBUG
+#define DEBUG 1

This will show me your PCI IRQ routing table.

--
Jeff Garzik | Only so many songs can be sung
Building 1024 | with two lips, two lungs, and one tongue.
MandrakeSoft | - nomeansno

2001-11-04 13:54:31

by Anton Altaparmakov

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2

At 13:44 04/11/2001, Jeff Garzik wrote:
>Anton Altaparmakov wrote:
> > Linux is not
> > a PNP OS and hence problems like yours often get fixed by setting in the
> > BIOS that you are not using a PNP OS.
>
>Incorrect. PCI IRQ routing (net effect of "PNP OS: Yes") works fine for
>everybody except those with Sean's type of PCI IRQ routing table.

Well, if I reboot set it to YES and boot into Linux my SB Live stops
working. As does my wintv pci (or my network card, can't remember)... If I
reboot, set it to NO and boot again then all is fine. Fully reproducible.

In Windows everything works with either setting, in Linux it doesn't.

And that's a fact with my Asus P4B mobo + P4 1.7GHz CPU, SB Live!, 3c9xyz,
wintv pci, advansys scsi, and loads of peripherals (usb, etc).

Sorry, but I am correct at least for my hardware.

Anton


--
"I've not lost my mind. It's backed up on tape somewhere." - Unknown
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Linux NTFS Maintainer / WWW: http://linux-ntfs.sf.net/
ICQ: 8561279 / WWW: http://www-stu.christs.cam.ac.uk/~aia21/

2001-11-04 13:56:41

by Jeff Garzik

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2

Anton Altaparmakov wrote:
>
> At 13:44 04/11/2001, Jeff Garzik wrote:
> >Anton Altaparmakov wrote:
> > > Linux is not
> > > a PNP OS and hence problems like yours often get fixed by setting in the
> > > BIOS that you are not using a PNP OS.
> >
> >Incorrect. PCI IRQ routing (net effect of "PNP OS: Yes") works fine for
> >everybody except those with Sean's type of PCI IRQ routing table.
>
> Well, if I reboot set it to YES and boot into Linux my SB Live stops
> working. As does my wintv pci (or my network card, can't remember)... If I
> reboot, set it to NO and boot again then all is fine. Fully reproducible.

Can you do the same thing requested of Sean?

Set PNP OS: Yes in BIOS, enable debugging in
arch/i386/kernel/pci-i386.h, reboot, and post the 'dmesg' output.

--
Jeff Garzik | Only so many songs can be sung
Building 1024 | with two lips, two lungs, and one tongue.
MandrakeSoft | - nomeansno

2001-11-04 16:05:29

by Sean Middleditch

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2

On Sun, 2001-11-04 at 08:48, Jeff Garzik wrote:
> Sean Middleditch wrote:
> > drivers can handle it. This is a limitation and/or problem with Linux
> > and it's Via Audio driver. How can I get around this, or do I need to
> > reinstall WindowsXP to use the audio?
>
> This has absolutely nothing to do with the audio driver.
>
> Linux is having trouble with your PCI IRQ routing table that is
> presented by your BIOS to Linux.
>
> Can you provide 'dmesg -s 16384' output, after changing line 7 of
> arch/i386/kernel/pci-i386.h thusly:
> -#undef DEBUG
> +#define DEBUG 1
>
> This will show me your PCI IRQ routing table.

That I will do when I get the chance (hopefully soon).

>
> --
> Jeff Garzik | Only so many songs can be sung
> Building 1024 | with two lips, two lungs, and one tongue.
> MandrakeSoft | - nomeansno
>


2001-11-05 03:30:27

by Sean Middleditch

[permalink] [raw]
Subject: Re: Via Onboard Audio - Round #2

Aye, made the changes, here is the output.

On Sun, 2001-11-04 at 08:48, Jeff Garzik wrote:
> Sean Middleditch wrote:
> > drivers can handle it. This is a limitation and/or problem with Linux
> > and it's Via Audio driver. How can I get around this, or do I need to
> > reinstall WindowsXP to use the audio?
>
> This has absolutely nothing to do with the audio driver.
>
> Linux is having trouble with your PCI IRQ routing table that is
> presented by your BIOS to Linux.
>
> Can you provide 'dmesg -s 16384' output, after changing line 7 of
> arch/i386/kernel/pci-i386.h thusly:
> -#undef DEBUG
> +#define DEBUG 1
>
> This will show me your PCI IRQ routing table.
>
> --
> Jeff Garzik | Only so many songs can be sung
> Building 1024 | with two lips, two lungs, and one tongue.
> MandrakeSoft | - nomeansno
>


Attachments:
dmesg (9.14 kB)
requested output