Floppy drive APM on Ascentia 900n

Assassin (assassin@reality.halo.nu)
Thu, 30 Sep 1999 02:51:15 -0500 (CDT)


Hi, i'm having problems trying to access the floppy drive under Linux
2.0.3x on an AST Ascentia 900n when it's running off the battery. Error
messages include "floppy0: unexpected interrupt", "floppy0: sensei", and
"floppy0: floppy timeout called" (the first two can be silenced by adding
floppy=no_expected_interrupts at the LILO prompt). During the timeout --
which may last several seconds and repeat a few times -- a load of stuff
is dumped to the screen:

floppy driver state
-------------------
now=169488 last interrupt=168884 last called
handler=00000000
timeout_message=lock fdc
last output bytes:
1 90 167990
b 90 167990

(20-30 lines more of that follows)

The above problems occur when starting to access the drive (e.g. mounting,
reading a file, etc). In addition, unexpected interrupt and sensei errors
are displayed ~3 seconds after the drive's light turns off following a
read. All this strange behavior is caused by the APM of my floppy disk
controller. A program downloaded from the manufacturer (which is labeled
as a fix for Windows NT being completely unable to identify the drive)
fixes things by toggling a CMOS bit to disable the FDC's APM, but only if
the machine *stays* in turbo mode 100% of the time. Even entering
non-turbo mode momentarily (15-20 seconds; switching for only a few
seconds doesn't seem to harm things) will screw up subsequent attempts to
access the drive (regardless of whether i've switched back into turbo).
Meanwhile, an OS/2 user reports different behavior.. He can operate in
non-turbo mode provided that CMOS bit is toggled.

Compiling APM into the kernel didn't help anything.. Also, the 900n is
one the machines win95 will not support APM 1.1 on, although that could be
completely unrelated to this.

Is there a way to make the BIOS not meddle with the FDC? Or perhaps a
longer waiting period is needed when the drive awakes from low-power mode?
Strangely, Linux identifies this FDC as an 8272A, which i didn't think had
power management (at least the powerdown bit at port 0x3F4 is "reserved"
on that model). Maybe the laptop manufacturer included a propietary
controller that identifies itself as an 8272A (?).

Any help or info on this would be greatly appreciated..

thanks

assassin@reality.halo.nu

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