Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | Date | Fri, 12 Dec 2003 09:59:37 -0500 (EST) | From | "Richard B. Johnson" <> | Subject | Re: PROBLEM: floppy motor spins when floppy module not installed |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |