From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2.1) Gecko/20010901 Description of problem: he floppy is not working with the default installation. During boot I get this message: Floppy drive(s): fd0 is 1.44M floppy0: no floppy controllers found Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.reboot Actual Results: From /var/log/messages Floppy drive(s): fd0 is 1.44M floppy0: no floppy controllers found Expected Results: Floppy OK ?? Additional info: I can use the floppy from Windows so the floppy disc controller should be OK. mount result: # mount -t msdos /dev/fd0 /mnt/floppy/ mount: /dev/fd0 is not a valid block device From dmesg: .... ide1 at 0x170-0x177,0x376 on irq 15 hda: 120103200 sectors (61493 MB) w/1916KiB Cache, CHS=7476/255/63 Partition check: hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 > Floppy drive(s): fd0 is 1.44M floppy0: no floppy controllers found NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP .... My hardware: ASUS P4T-E motherboard (revision 1004), sokcet 478, Intel 850 chipset, Pentium 4. Other hardware: Matrox G450-eTV (marvel), IBM HDD, 512 MB I've also tried the 2.4.16 kernel with the same result. The bug is also posted to the comp.os.linux.hardware newsgroup(6. dec).
This info may be of some help: --- begin of quote --- From: Mikael Pettersson (mikpe.se) Date: Sat Oct 27 2001 - 09:10:59 EST 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 ---
P4T-F just shows the same problem... Maybe it has to do with i850 chipset? Now, there are some frequent changes in BIOS versions at the ASUS German site, one or other will fix it?
One way that might solve the problem is to download kernel source, then say: cd /usr/src/linux-2.4; make xconfig click on option ATA/IDE/MFM/RLL support click on option IDE,ATA, and ATAPE block devices change user multi-mode by default to "n" The recompile the kernel and it seems to work for me.
The above solution needs and addendum. Once in make xconfig -- one should load the configuration for the kerel that is in there now as a starting point. I think for my machine this was /usr/src/linux-2.4/configs/kernel-2.4.7-686.config
I tried both workarounds but neither worked for me. I'm using grub as the boot loader. Do I need a fix to grub as well? BTW, I am sure I am booting the new kernel.
I was also unsuccessful using the above approaches. But I have been able to solve this problem on my system by building the floppy support as a loadable module rather than compiled into the kernel.
No it finally works for me too! Having the floppy support as an module solved the problem. I've changes the state of this bug to WORKSFORME but the floppy should work without having it as a module.
I don't agree this bug be closed, since there is no reliable fix endorsed by RH, to fix it. Lots of people use P4T-E or P4T-F (maybe others) with straight RH kernel, either because they dare not recompile such a vital part of their system, or because they bought support that will not allow them to do so. Sure, floppy usage is not as usual as it was 20 years ago, anyway it's often used (e.g. by students), and on such systems nobody can use "mkbootdisk" anymore. So I wish this bug stay open until RH provides a fix as part of a new kernel release or in "rawhide".
The fix above is no good for a new install which requires drivers. We have 2 MB's with rev 1005 bios which have the same fault. We have installed a standard copy of RH on a single IDE drive which works fine. We are setting up a Adaptec 2400A raid controller which requires a drive disk. This is also complicated becasue there is a bug in RedHat 7.2 and the Adaptec 2400 in the I2O Controller which Redhat released.(Patch available from http://people.redhat.com/tcallawa/dpt/)
This bug hasn't been solved, perja.no has only closed the bug because he (personally) found a workaround involving a custom kernel with floppy support compiled in as a module. The bug has been reopened so Red Hat can verify it, QA it, and come up with a fix if necessary.
Reopened bug as it is still an issue, but closing as a dupe of already open issue, so people finding this bug can redirect themselves to the master bug. *** This bug has been marked as a duplicate of 60887 ***