floppy disk controller broken

Oliver Fromme olli at lurza.secnetix.de
Thu Sep 18 16:18:48 UTC 2008


Michel Talon wrote:
 > John Baldwin wrote:
 > > It looks like the ioctl to format a track used to never report failures from 
 > > the controller.  The newer driver does.  What I've done with fdformat is to 
 > > make it just ignore the errors in userland instead.  Try this:
 > > 
 > > Index: fdformat.c
 > > ===================================================================
 > > --- fdformat.c        (revision 183112)
 > > +++ fdformat.c        (working copy)
 > > @@ -75,8 +75,7 @@
 > >               f.fd_formb_secno(i) = il[i+1];
 > >               f.fd_formb_secsize(i) = secsize;
 > >       }
 > > -     if(ioctl(fd, FD_FORM, (caddr_t)&f) < 0)
 > > -             err(EX_OSERR, "ioctl(FD_FORM)");
 > > +     (void)ioctl(fd, FD_FORM, (caddr_t)&f);
 > >  }
 > >  
 > >  static int
 > 
 > This doesn't work any more. This time i get 
 > niobe# fdformat fd0
 > Format 1440K floppy `/dev/fd0'? (y/n): y
 > Processing EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE done.
 > 
 > where only the first E takes some time to be printed, and all subsequent
 > ones are printed instantaneously, that is all other formatting is not
 > tried. In principle the formatting process must try each of the
 > "sectors" in turn, and can come up with a series of V and F.
 > 
 > Moreover, trying to write to the floppy:
 > niobe# dd if=/dev/zero of=/dev/fd0 conv=noerror
 > dd: /dev/fd0: Input/output error
 > 5+0 records in
 > 4+0 records out
 > 2048 bytes transferred in 4.054404 secs (505 bytes/sec)
 > 
 > I don't expect such result. Traditionnally writing works, while reading
 > may fail.

Maybe I misunderstand what you're saying, but ...
When I try to write to a floppy that has *not* been
successfully formatted, I very much expect to get
Input/output error.  Anything else would be a bug.

Best regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

"The most important decision in [programming] language design
concerns what is to be left out."  --  Niklaus Wirth


More information about the freebsd-stable mailing list