Re: floppy disk controller broken



On Thursday 18 September 2008 3:53:06 am Michel Talon wrote:
On Wed, Sep 17, 2008 at 05:13:39PM -0400, John Baldwin wrote:
On Wednesday 17 September 2008 11:04:33 am Michel Talon wrote:
Hello,

when testing FreeBSD-7.1-BETA i discovered that the floppy disk
controller doesn't work correctly. Trying to format a floppy (perhaps
with bad blocks) i get:
Processing fdformat: ioctl(FD_FORM): Device not configured
instead of the normal E letter. I then checked the same problem is
present on FreeBSD-6.3 and it has been reported by Beech Rintoul (*) in
2006! Of course the floppy disk driver is particularly messy, but
this is not pretty.

(*) i386/103862: Error with fdformat

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


--
John Baldwin

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. Here reading fails with incoherent messages:
dd: /dev/fd0: Device not configured
3+0 records in
3+0 records out
1536 bytes transferred in 2.595216 secs (592 bytes/sec)
repeated a large number of times. But nothing in dmesg, contrary to the
tradition which showed the defective sectors.

In conclusion i am under the impression that the in kernel driver is
severely botched. Of course nobody uses floppies any more, but this is
quite ugly.

There are actually changes to the floppy driver in HEAD that I think address
this. I don't recall if they were MFC'd to 7.

--
John Baldwin
_______________________________________________
freebsd-stable@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: Cannot Read 3.5" High Density Diskette
    ... Back in the days when floppies were common, some copy protect schemes required the actual license disk to be used -- a copied floppy wouldn't work. ... Not all the links are still live, but the one for the driver still works. ... the same in the way Windows 98 and Windows XP format and access floppy ... Since *most* floppy disk drives from Japanese ...
    (microsoft.public.windowsxp.general)
  • Re: Floppy formatting questions
    ... floppy disks work, but I cannot explain myself several things and I ... What does this format mean ... ... that it had to do something with the fact that the floppy disk secrots/ ... A floppy usually has 512 byte sectors, so changing to, say, ...
    (comp.programming)
  • Re: Floppy disk problem
    ... cure my chronic FD problems by installing the 3 mode driver from that site. ... I had a friend format a floppy and write to it on his 98 machine, ... > everything technically SHOULD bethe same in the way Windows 98 and Windows ...
    (microsoft.public.windowsxp.hardware)
  • Re: floppy disks
    ... >>This fix works for the know floppy problem, ... > floppy, format it ... > Windows 98 and Windows ... > floppy driver. ...
    (microsoft.public.windowsxp.basics)
  • Re: raw file system ?
    ... I think my PC has gone loco, the last accessable floppy I ... without floppies. ... My floppy A drive cannot format a brand ... Many computers no longer include floppy drives these days. ...
    (microsoft.public.windowsxp.general)