bin/174711: [fdc] Floppy drive 5.25" 360Kb bug.

Emil Mamedov emil80386 at yahoo.com
Sun May 5 14:54:11 UTC 2013


Dear reader!

I've seen my old bug report about 5.25" DD floppy disk. During last months,
I've fixed numerious bugs in the standart FreeBSD 8.3 floppy driver (fdc.c)
and floppy utilites. 

First.
The file fdcio.c set has #define for DD disk in HD drive, but #define for
DD disk in DD drive has missed. I changed transfer rate from 300kbps to 250kbps
and also sector gap from 0x23 to 0x2A. However DD disks in HD drives
need to speed 300kbps and sector gap 0x23.

Second.
I've found that my DD floppy drive has "Ready" signal (pin 34)
instead "Disk Change". I've opened RY jumper and was able to mount diskette.
I set fd.0.flags="0x10"(drive doesn't support changeline),
but this flag hasn't effect. In the case of RY jumper is installed,
I can not mount DD floppy. Flag FD_NO_CHLINE doesn't work properly.

Third.
System doesn't detect absence disk in the DD FDD and too long
positions floppy drive heads during boot process.

Fourth.
System anomally long unmount diskettes (previously mount with:
mount_msdos -o rw
even if I did not made writing files to diskette! I really don't sure
that is a bag, maybe it is the feature of file systems' driver?

Fifth.
Autoselect floppy works properly in the case DD floppy disk in a 1.2Mb(HD) FDD,
flag FL_2STEP  set properly. But I can read cylinder 0 only (first 18 sectors).
Under MS-DOS DD disk in HD drive is read/wrote properly. I seem that code
appropriating  FL_2STEP flag doesn't works properly.

Sixth.
When I run fdformat utility question "y/n" appears.
But if I print "n" system long positions  heads and only after 
this returns to command prompt. I think, system must be returning
to command prompt immediately after "n".

My modifications.
I've added code which recognize FD_NO_CHLINE flag, changed function fdautoselect
(for found sectors per track), corrected and renamed #define variables in fdcio.h

I've found that implied seek (on enhanced fdc) make 2step operations
impossible. I've added code by disabling implied seek when FL_2STEP
flag is enable. Also, I've made many small changes.

In the fdcontrol utility I've exluded unnecesarry flag [-a].
I've found flag [-d dbg] in the fdcontrol "usage", but this flag
doesn't appropriating code. I've deleted [-d] flag from "usage".
I've deleted string return(0) from if (showfmt)...{} operator.
Also, I've made some small changes.

In the fdformat utility I've exluded y/n request.

Also, I've edited the file fdutil.c and made small changed in the fdcontrol
and fdformat man pages.
The file fdcio.h has in the 2 location: "/usr/include/sys" and "/usr/sys/sys".

All my changes in the attachment tarball floppy.tgz.
I hope for you authority comments.
With kindest regards, Emil.

--- On Tue, 12/25/12, FreeBSD-gnats-submit at FreeBSD.org <FreeBSD-gnats-submit at FreeBSD.org> wrote:

From: FreeBSD-gnats-submit at FreeBSD.org <FreeBSD-gnats-submit at FreeBSD.org>
Subject: Re: i386/174711: Floppy drive 5.25" 360Kb bug.
To: "Emil Mamedov" <emil80386 at yahoo.com>
Date: Tuesday, December 25, 2012, 11:40 PM

Thank you very much for your problem report.
It has the internal identification `i386/174711'.
The individual assigned to look at your
report is: freebsd-i386. 

You can access the state of your problem report at any time
via this link:

http://www.freebsd.org/cgi/query-pr.cgi?pr=174711

>Category:       i386
>Responsible:    freebsd-i386
>Synopsis:       Floppy drive 5.25" 360Kb bug.
>Arrival-Date:   Wed Dec 26 07:40:00 UTC 2012


More information about the freebsd-i386 mailing list