# # My floppy drive doesn't work reliably (SCO Unix)
APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed


I've removed advertising from most of this site and will eventually clean up the few pages where it remains.

While not terribly expensive to maintain, this does cost me something. If I don't get enough donations to cover that expense, I will be shutting the site down in early 2020.

If you found something useful today, please consider a small donation.

Some material is very old and may be incorrect today

© December 2003 (various)

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.

If you found something useful today, please consider a small donation.

Got something to add? Send me email.

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

Printer Friendly Version

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

Inexpensive and informative Apple related e-books:

Take Control of High Sierra

Take Control of Apple Mail, Third Edition

Take Control of Upgrading to El Capitan

Take Control of Preview

Take Control of iCloud, Fifth Edition

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)

Linux posts

Troubleshooting posts

This post tagged:



Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode