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