I've got some problems with the floppy controller. During boot I get
this messages:
Floppy drive(s): fd0 is 1.44M
floppy0: no floppy controllers found
I also have WindowsXP installed where the floppy works fine so I guess
the FDC is working OK. I've also tried to upgrade the kernel to 2.4.9
and 2.4.16 (latest) but with the same result.
I've checked that the floppy is enabled in the BIOS and that its not a
module (modprobe floppy). There also exists a patch to the kernel
(2.4.9?) that fixes some other problem with the floppy. This patch is
included in 2.4.16 (but the problem is still there):
http://marc.theaimsgroup.com/?l=linux-kernel&m=100419190720402&w=2
My motherboard is a ASUS P4T-E, Intel 850 chipset, Pentium 4, 478
socket. The distribution I've installed is RedHat 7.2.
Does anyone else got this problem or know how I can solve it? Maybe
there is some flags I forgot to set when I compiled the 2.4.16 kernel.
Thanks
Per Thomas Jahr
After few change on BIOS test on several different version of RH (7.0
7.1 and 7.2), they all fail on detecting floppy disk controller after
loading kernel.
I already sent an email to ASUS tech support and hopefully they will
have new BIOS update soon.
YC
Per Thomas Jahr <pe...@localhost.localdomain> wrote in message news:<m3k7w0m...@localhost.localdomain>...
The new 1004 BIOS update did resolve the floppy drive problem.
Asus web site really sucks, none of the link is working properly.
YC_H...@HOTMAIL.COM (YC) wrote in message news:<71d73f6d.01120...@posting.google.com>...
The patch below fixes an incompatibility in arch/i386/boot/bootsect.S,
which kills Linux' floppy driver on some recent motherboards (e.g. my
new ASUS P4T-E Pentium4/I850/S478 mb).
After reading the kernel image, bootsect.S calls kill_motor to stop
the floppy drive, which it does by poking port 0x3f2. On the P4T-E,
this locks up the FDC, casing drivers/block/floppy to report:
Floppy drive(s): fd0 is 1.44M
// long delay here
floppy0: no floppy controllers found
drivers/block/floppy.c:reset_fdc() knows about different vintages of
FDCs, and uses a different method for non-antique FDCs (poking port
0x3f4 instead). If I use that method in bootsect.S, then the FDC doesn't
hang and the floppy driver can identify and use it properly.
However, instead of poking an I/O port there is a BIOS call to reset
the FDC: bootsect.S itself uses that call further up, so my patch simply
replaces the broken I/O port poke with that BIOS call. Tested on a
number of different boxes here, with no breakage observed.
/Mikael
--- linux-2.4.13-ac2/arch/i386/boot/bootsect.S.~1~ Sun Sep 23 21:06:30 2001
+++ linux-2.4.13-ac2/arch/i386/boot/bootsect.S Sat Oct 27 13:35:13 2001
@@ -395,9 +395,15 @@
# NOTE: Doesn't save %ax or %dx; do it yourself if you need to.
kill_motor:
+#if 1
+ xorw %ax, %ax # reset FDC
+ xorb %dl, %dl
+ int $0x13
+#else
movw $0x3f2, %dx
xorb %al, %al
outb %al, %dx
+#endif
ret
sectors: .word 0
-
--- end of quote ---
...
> The new 1004 BIOS update did resolve the floppy drive problem.
It did? I also updated the BIOS to 1004 from:
ftp://ftp.asuscom.de/pub/ASUSCOM/BIOS/Socket_478/INTEL_Chipset/i850/P4T-E/1004e.zip
but it didn't resolve the problem for me. Did you change anything else
to get it working (BIOS settings)? I will try the 1005 revision later
when it comes in a final release.
Per Thomas
Strange, upgrading to the 1004 BIOS did _not_ eliminate the FDC lockup
problem on my P4T-E (for old unpatched kernels, that is).
/Mikael
--
Mikael Pettersson (mi...@csd.uu.se)
Computing Science Department, Uppsala University
Thanks to all!
Per Thomas