(OLDER) <- More Stuff -> (NEWER) (NEWEST)
Printer Friendly Version



floppy drive fifo


What is this stuff?

If this isn't exactly what you wanted, please try our Search (there's a LOT of techy and non-techy stuff here about Linux, Unix, Mac OS X and just computers in general!):



From: Bela Lubkin <belal@caldera.com>
Subject: Re: We can't read from floppy on Pentium II, SCO Unix rel. 5.0.0b and 5.0.2
Date: Mon, 21 May 2001 09:05:02 GMT
References: <20010520173049.C23509@caldera.com> <Pine.SCO.3.96.1010521031529.19524A-100000@pp5.progplus.com> 

Robert Weiner wrote:

> > > OSR 5.0.0's /etc/conf/pack.d/fd/space.c has these variables:
> > >   int fd_enable_FIFO = 0;
> > >   int fd_FIFOthresh = 0;
> > > 
> > > but OSR 5.0.5's does not.  Can they be added to space.c under 5.0.5?
> > > 
> > > The 5.0.5 Driver.o does have the symbols, something defined them:
> > >   [Index]   Value      Size    Type  Bind  Other Shndx   Name
> > >   [125]   |       596|       0|NOTY |GLOB |0    |2      |fd_FIFOthresh
> > >   [126]   |       592|       0|NOTY |GLOB |0    |2      |fd_enable_FIFO
> > > 
> > > My problem is with a 5.25" 1.2Mb floppy under 5.0.5 on a dual Pentium III
> > > 500Mhz box (Tyan S1832DL).  3.5" floppys work fine.  The 5.25" floppy
> > > always has I/O errors as described below and in some TAs.
> > > (5.25" Drive is used only to convert old media.)
> > > 
> > > Does anyone know if a 5.25" Teac FD-55GFR has a FIFO?
> > 
> > He was replying to my message from 1997, so we have a nice every-two-
> > years posting rhythm going on this topic (well, I guess I'm a little
> > early):
> 
> Wow, nice to hear something on this topic, even now!  I always welcome new
> information!  :-) 



Well, I really shouldn't be replying until 2005, but...

> > a word of explanation anyway.  Those FIFO variables in fd/space.c were a
> > kludge to cover up for the fact that the guy who first put FIFO support
> > into the floppy driver was too lazy to figure out how to autoconfigure
> > it.  That was later fixed.  If Robert was having I/O errors with his
> > 5.25" floppy on OpenServer 5.0.5, it was probably because the drive
> > hardware was defective.
> 
> Or motherboard issue?  Keep reading... 
> 
> > In particular, the question "Does anyone know if a 5.25" Teac FD-55GFR
> > has a FIFO?" is off-track.  The FIFO is in the floppy _controller_, not
> > the drive.  Thus, the fact that his 3.5" drive worked correctly almost
> > certainly meant that the FIFO was being auto-recognized correctly and
> > that the entire control and data path down from the kernel to the
> > hardware was working fine.
> 
> Interesting...
> 
> >    The 5.25" target hardware was busted.
> 
> Still not the case.  The same not-functioning 5.25" drive worked fine on
> different machines with different motherboards.  The same functioning
> 5.25" drives from different machines did not function on that particular
> Tyan S1832DL board and SCO505.  I mixed and matched 2 old and 3 new drives
> across various machines.  I had success on other non-S1832DL motherboards
> with and without SCO505.  I had partial success under non-SCO505 operating
> systems on the S1832DL.  I could never get it going under SCO505 and the
> S1832DL. 

Lotsa more details deleted...

Well, the code now auto-configures the FIFO.  From what you've said, I
suppose it's possible that this particular motherboard has a floppy
controller chip that supports the FIFO, but the actual FIFO hardware is
broken.  The autoconfig code would not handle that scenario.

> [...]  This is still an open issue for me and one day I will get
> around to doing some more testing on it. 

If you feel like wasting the time, you could try hot-patching those same
variables.  You can no longer control them from space.c, but you can
poke new values into the kernel after booting.  Two tools that can do
this are `pat` (available in some TLS or possibly SLS); and /etc/scodb.
I would choose scodb as it's already present on 5.0.5.  You may have a
startup issue where it whines about not having "stun" files; if so, a
workaround is to add the kernel scodb driver ("N" -> "Y" in
/etc/conf/sdevice.d/scodb); relink the kernel; then remove it ("Y" ->
"N") and relink again.  You don't have to boot the scodb-enabled kernel,
just link it in once to provoke creation of the "stun" files.



In any case, start with `crash`, which you don't need to go to great
trouble to configure.  Use it to read the autoconfig'd values of
fd_enable_FIFO and fd_FIFOthresh.  Is it in fact being enabled?

To dynamically disable the FIFO, patch fd_enable_FIFO to 0.  Then
deliberately cause an I/O error (e.g. try to read from a drive that has
no media in it).

Or if it's been autoconfigured to 0, try patching it to 1.  The
autoconfig isn't terribly smart and doesn't necessarily know about "new"
hardware (post-1990 or so ;-).  Be warned, however, that trying to turn
the FIFO on might cause an FDC that doesn't support it to fail badly (no
hardware damage, but it could plausibly hang the system -- test
cautiously).

>Bela<




Click here to add your comments



Don't miss responses! Subscribe to Comments by RSS or by Email

Click here to add your comments


If you want a picture to show with your comment, go get a Gravatar



/Bofcusm/1165.html copyright 1997-2004 (various authors) All Rights Reserved

Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

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. We appreciate comments and article submissions.

Publishing your articles here

Jump to Comments



Many of the products and books I review are things I purchased for my own use. Some were given to me specifically for the purpose of reviewing them. I resell or can earn commissions from the sale of some of these items. Links within these pages may be affiliate links that pay me for referring you to them. That's mostly insignificant amounts of money; whenever it is not I have made my relationship plain. I also may own stock in companies mentioned here. If you have any question, please do feel free to contact me.

Specific links that take you to pages that allow you to purchase the item I reviewed are very likely to pay me a commission. Many of the books I review were given to me by the publishers specifically for the purpose of writing a review. These gifts and referral fees do not affect my opinions; I often give bad reviews anyway.

We use Google third-party advertising companies to serve ads when you visit our website. These companies may use information (not including your name, address, email address, or telephone number) about your visits to this and other websites in order to provide advertisements about goods and services of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, click here.



More:
       - OSR5
       - Bofcusm
       - Bela


Unix/Linux Consultants

Skills Tests

Guest Post Here











My Favorites

Change Congress