2004-04-02 20:37:19

by Roland Mas

[permalink] [raw]
Subject: Drivers *dropped* between releases? (sis5513.c)

Hi,

Just got myself a new El Cheapo PC, motherboard is an "ASRock K7S8X".
IDE chipset is SiS746FX. Tried installing Debian (latest beta3 of the
installer, based on kernel 2.4.25) on it, but I couldn't: the IDE
detection code would load the sis5513 module, then sort of hand for
various amounts of time (during which the loggers complained about
"hda: lost interrupt" and "hdc: lost interrupt"). Eventually, a
timeout would be reached, but the hard drive (hda) woud still not be
usable, and the CD-ROM drive (hdc) wouldn't be usable anymore (after
having been used as a source for loading the modules).

I've looked around a bit, and it seems that sis5513.c has seen a
change between 2.4.21 and 2.4.22 removing support for the SiS746
chipset. Well, removing lines mentionint it, at least, but I'm not
enough of a guru to see what it should change.

So I'm wondering, is this a mistake from my part (which I'll do my
best to solve), from the debian-installer (in which case I'll report
it to them), or has this support really been dropped, in which case
could it please be re-enabled?

Thanks for any hint,

Roland.
--
Roland Mas

C'est dans la boue la plus naus?euse que plongent les racines de
l'?tincelante fleur de lotus. -- in Sri Raoul le petit yogi (Gaudelette)


2004-04-02 22:39:31

by Lionel Bouton

[permalink] [raw]
Subject: Re: Drivers *dropped* between releases? (sis5513.c)

Roland Mas wrote the following on 04/02/04 22:37 :

>Hi,
>
>Just got myself a new El Cheapo PC, motherboard is an "ASRock K7S8X".
>IDE chipset is SiS746FX. Tried installing Debian (latest beta3 of the
>installer, based on kernel 2.4.25) on it, but I couldn't: the IDE
>detection code would load the sis5513 module,
>

Good.

> then sort of hand for
>various amounts of time (during which the loggers complained about
>"hda: lost interrupt" and "hdc: lost interrupt"). Eventually, a
>timeout would be reached, but the hard drive (hda) woud still not be
>usable, and the CD-ROM drive (hdc) wouldn't be usable anymore (after
>having been used as a source for loading the modules).
>
>
>

Less good.

> I've looked around a bit, and it seems that sis5513.c has seen a
>change between 2.4.21 and 2.4.22 removing support for the SiS746
>chipset. Well, removing lines mentionint it, at least, but I'm not
>enough of a guru to see what it should change.
>
>
>

The driver uses 2 ways of finding SiS Ide chips :
- by northbridge PCI ids, which is what was always used historically
(and so you had to manually add each known SiS northbridge to a table),
- by probing the controller directly (avoids depending on a lazy coder
to add entries in a table to make your chip work).

When the last was added, some PCI ids were removed from the table (being
superfluous).

The very fact that the sis5513.c outputs something in your log means
that it has found something to handle, so the detection routine
(whichever it is) works.

I think there's a common problem with SiS chips : interrupt handling. I
believe it is the source of your problem. I may find time to hack on this.

You could try to remove PCI cards and/or disable VGA IRQ in the bios. On
one of my SiS-based systems for example adding a PCI card can make it
unbootable.

Regards,

--
Lionel Bouton - inet6
---------------------------------------------------------------------
o Siege social: 51, rue de Verdun - 92158 Suresnes
/ _ __ _ Acces Bureaux: 33 rue Benoit Malon - 92150 Suresnes
/ /\ /_ / /_ France
\/ \/_ / /_/ Tel. +33 (0) 1 41 44 85 36
Inetsys S.A. Fax +33 (0) 1 46 97 20 10


2004-04-03 08:19:24

by Roland Mas

[permalink] [raw]
Subject: Re: Drivers *dropped* between releases? (sis5513.c)

Lionel Bouton, 2004-04-03 00:50:09 +0200 :

[...]

> The driver uses 2 ways of finding SiS Ide chips :
> - by northbridge PCI ids, which is what was always used historically
> (and so you had to manually add each known SiS northbridge to a table),
> - by probing the controller directly (avoids depending on a lazy coder
> to add entries in a table to make your chip work).
>
> When the last was added, some PCI ids were removed from the table
> (being superfluous).
>
> The very fact that the sis5513.c outputs something in your log means
> that it has found something to handle, so the detection routine
> (whichever it is) works.

Indeed. The logs do show the type and brand of both the hard disk
drive and the CD-ROM drive. It's just that, uh, well, the kernel
doesn't want to do anything with them afterwards...

> I think there's a common problem with SiS chips : interrupt
> handling. I believe it is the source of your problem. I may find
> time to hack on this.

Thanks already :-)

> You could try to remove PCI cards and/or disable VGA IRQ in the
> bios. On one of my SiS-based systems for example adding a PCI card
> can make it unbootable.

Hm. There's only one PCI card (Radeon 7000), and I'm not sure I can
boot without it, as there's no on-board VGA controller. I'll try the
BIOS hack though.

More relevant info (maybe): I got an old version of the Debian
installer, which uses an older kernel, and the process goes on
normally (well, it halts later because the built-in NIC has a stupid
MAC address, but that's another problem).

Thanks for the tips, I'll see how it goes.

Roland.
--
Roland Mas

Food, shelter, source code.
-- Cyclic Software

2004-04-03 08:40:28

by Lionel Bouton

[permalink] [raw]
Subject: Re: Drivers *dropped* between releases? (sis5513.c)

Roland Mas wrote the following on 04/03/2004 10:19 AM :

>[...]
> More relevant info (maybe): I got an old version of the Debian
>installer, which uses an older kernel, and the process goes on
>normally (well, it halts later because the built-in NIC has a stupid
>MAC address, but that's another problem).
>
>
>

If you can find the time, please check that this old installer doesn't
use the sis5513 driver or DMA transfers. If it does both, I'd be really
interested by the exact kernel version used. If it doesn't, you'd
probably found yourself a workaround by disabling dma at boot time.

Best regards,

--
Lionel Bouton - inet6
---------------------------------------------------------------------
o Siege social: 51, rue de Verdun - 92158 Suresnes
/ _ __ _ Acces Bureaux: 33 rue Benoit Malon - 92150 Suresnes
/ /\ /_ / /_ France
\/ \/_ / /_/ Tel. +33 (0) 1 41 44 85 36
Inetsys S.A. Fax +33 (0) 1 46 97 20 10


2004-04-04 15:51:46

by Roland Mas

[permalink] [raw]
Subject: Re: Drivers *dropped* between releases? (sis5513.c)

Lionel Bouton, 2004-04-03 10:50:08 +0200 :

> Roland Mas wrote the following on 04/03/2004 10:19 AM :
>
>>[...]
>> More relevant info (maybe): I got an old version of the Debian
>>installer, which uses an older kernel, and the process goes on
>>normally (well, it halts later because the built-in NIC has a stupid
>>MAC address, but that's another problem).
>
> If you can find the time, please check that this old installer
> doesn't use the sis5513 driver or DMA transfers. If it does both,
> I'd be really interested by the exact kernel version used.

uname -a reports "2.4.22-1-386", although I suppose it's been patched
by the debian-installer team. After hardware detection has run and
worked (as in, no hangs), sis5513 does indeed appear in lsmod, and
"dmesg | grep -i dma" tells me hda and hdc do use DMA.

> If it doesn't, you'd probably found yourself a workaround by
> disabling dma at boot time.

I couldn't find out how to do that. I tried booting with a long
"linux nodma hda=nodma hdc=nodma ide=nodma idebus=nodma" command-line,
but that didn't seem to change much. I also tried disabling
everything that looked like DMA in the BIOS setup, to no avail. dmesg
still tells me the kernel uses DMA (or maybe I don't understand what
dmesg tells me, which is of course entirely possible).

Roland.
--
Roland Mas

Late frost burns the bloom / Would a fool not let the belt / Restrain the body?
-- in Good Omens (Terry Pratchett and Neil Gaiman)