APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed


This article is from a FAQ concerning SCO operating systems. While some of the information may be applicable to any OS, or any Unix or Linux OS, it may be specific to SCO Xenix, Open This is an old article about floppy drive reliability on SCO Unix and is only left here for historical purposes. There is lots of Linux, Mac OS X and general Unix info elsewhere on this site: Search this site is the best way to find anything.

My floppy drive doesn't work reliably (Old Sco Unix)

First things first - it may be a bad diskette, a bad floppy drive, or the cable connecting your floppy drive to its controller may be loose. If this is newer SCO, it probably is. Older SCO may be helped by the rest of this discussion.

If the problem gets worse if the system is under load (particularly, when anything is doing DMA - and that usually means a SCSI host adapter) and is particularly bad when trying to format a floppy, you may be running into a problem with the FIFO on the floppy controller.

Briefly, older floppy controllers have a one-byte buffer, and the system must grab that byte before the next byte is read from the drive or else you have a problem. If the DMA controller (floppies use DMA) is blocked long enough, usually by a SCSI host adapter, the buffer gets overwritten. Newer controllers generally have a 16-byte buffer, but it may or may not be turned on by your BIOS. SCO Unix doesn't program the buffer by default, but the floppy driver in OSR5 can be set to use the buffer if you wish.

Make a backup of /etc/conf/pack.d/fd/space.c (just in case). Now edit the file. At the bottom you will see

int fd_enable_FIFO = 0;
int fd_FIFOthresh = 0;

Change them to

int fd_enable_FIFO = 1;
int fd_FIFOthresh = 15;

The first one simply enables or disables programming of the FIFO; the second one sets the FIFO's size if you've enabled it. There's probably no reason to set it to anything other than 15.

Relink and reboot to activate the change.

Making this change can actually be counterproductive if your system is working properly. Some floppy drive controllers will not work properly if you try enabling the FIFO, and you will end up with a system with floppy drives which do not work. Trust me on this one.

See Bela Lubkin's discussion of DMA at scotec9.html#vhand also.

Got something to add? Send me email.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> My floppy drive doesn't work reliably (SCO Unix)

Printer Friendly Version

Have you tried Searching this site?

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Printer Friendly Version

If you don't know anything about computers, just remember that they are machines that do exactly what you tell them but often surprise you in the result. (Richard Dawkins)



Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode