Re: PROBLEM: floppy motor spins when floppy module not installed

From: Richard B. Johnson
Date: Fri Dec 12 2003 - 10:03:05 EST


On Fri, 12 Dec 2003, Dale Mellor wrote:

> 1. Floppy motor spins when floppy module not installed.
>
> 2. From the moment of bootup, the floppy drive motor spins when the kernel is
> compiled to use the floppy driver as a module and this is not installed (the
> motor stops as soon as the module is installed).
>
> 3. Keywords: floppy, module, kernel, boot.
>

Kernel version 2.6.0-test11

[SNIPPED...]

This was reported a long time ago and there were some patches
around to fix it. I guess it didn't get into the "main-line",
perhaps because people don't think it's important.

Your temporary fix is to disable the "floppy-seek" on boot and
to change the boot-sequence so the floppy is not accessed on
boot (change the BIOS to boot C: before A:). That will "fix"
the problem for the moment.

The correct fix, that nobody wanted to do, is to reset the
motor control bit in the FDC motor control register upon
startup. This was previously shown and patches exist.

There were doom-sayers that claimed that the earth may stop
turning (or something like that) if this was done which is
probably why it didn't get fixed. If you are bold and want
to try again, somewhere convenient in
../linux-nn.nn/arch/i386/boot/setup.S
write a zero byte out port 0x3f2. This port is used only
for the FDC motor so it won't hurt if the controller's not
even there.

Something like:

--- setup.S.orig Tue Oct 7 09:24:33 2003
+++ setup.S Fri Dec 12 09:52:32 2003
@@ -777,6 +777,10 @@
movb $0xFB, %al # mask all irq's but irq2 which
outb %al, $0x21 # is cascaded

+ movw $0x3f2, %dx
+ xorb %al, %al # Turn OFF FDC motor
+ outb %al, %dx
+
# Well, that certainly wasn't fun :-(. Hopefully it works, and we don't
# need no steenking BIOS anyway (except for the initial loading :-).
# The BIOS-routine wants lots of unnecessary data, and it's less



Cheers,
Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/