Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Dec 2017 17:03:43 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        Cy Schubert <Cy.Schubert@komquats.com>, Hans Petter Selasky <hps@selasky.org>,  Eitan Adler <lists@eitanadler.com>,  "Rodney W. Grimes" <freebsd-rwg@pdx.rh.cn85.dnsmgr.net>,  "freebsd-arch@freebsd.org" <arch@freebsd.org>
Subject:   Re: Deprecating / Removing floppy drive support
Message-ID:  <CANCZdfrHq61_D9cXg36UqAgZ%2BLCFfrJO2bjpd22POz2Qj-Fxxg@mail.gmail.com>
In-Reply-To: <20171204092457.I961@besplex.bde.org>
References:  <freebsd-rwg@pdx.rh.CN85.dnsmgr.net> <201712031655.vB3GtIME041023@pdx.rh.CN85.dnsmgr.net> <201712032005.vB3K5Zki034723@slippy.cwsent.com> <CANCZdfq%2BiRDJeNFP9hKZXrDmcZZPn4jqzYZDpspiohJ%2BFMj9hA@mail.gmail.com> <20171204092457.I961@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Dec 3, 2017 at 4:40 PM, Bruce Evans <brde@optusnet.com.au> wrote:

> On Sun, 3 Dec 2017, Warner Losh wrote:
>
> On Sun, Dec 3, 2017 at 1:05 PM, Cy Schubert <Cy.Schubert@komquats.com>
>> wrote:
>>
>> In message <201712031655.vB3GtIME041023@pdx.rh.CN85.dnsmgr.net>, "Rodney
>>> W.
>>> Gri
>>> mes" writes:
>>>
>>
> The inner quoting is more broken than usual (split in the middle of
> rgrimes' name).


The googles are hating me... That is to say gmail does this automatically,
and apparently with malice of forethought when rgrimes is involved.

**RANT ON**
>>>>
>>>> Data point:  OpenBSD still supports install from floppies.. so
>>>> my guess is that OpenBSD has been able to keep this code running,
>>>> it is a "Sad State of Affairs" that FreeBSD with 300+ developers
>>>> can not manage the same.  As Eitan pointed out, its only a 1000
>>>> lines so of code.   Really now, we can manage to keep the mass
>>>> of clang and zfs running, but we can not keep a 1000 line fdc.c
>>>> running?
>>>>
>>>
> Actually 5000+ lines of code: at least:
> - 2835 lines in dev/fdc
> - 195 lines in sys/fdcio.h
> - 335 lines in man4/fdc.4
> - 2578 lines in fdcontrol, fdformat, fdread and fdwrite
>
> The floppy driver itself is fine. It relies, however, on ISADMA working. It
>> got broken and nobody noticed. Also, FreeBSD has SMP while OpenBSD does
>> not, so that's been a much larger code velocity over all.
>>
>> Reading works OK. It's writing that fails. So this datapoint is consistent
>> with my experience. There's other issues that need to be fixed apart from
>> ISADMA, but those are minor in comparison.
>>
>
> ISADMA worked for writing by fdformat and cp of 1 floppy under -current
> here.
> I used a UP i386 system with 1GB.  If the bug only affects SMP, and64 or
> large memory, then it is easy to work around by not using these.  Memory
> above 4GB is especially easy to avoid using a boot option.


I may have been booting a MP kernel when I tried. I'll have to give it
another try. Just to confirm, this was a FreeBSD/i386 kernel, not a
FreeBSD/amd64 kernel, right? And was this for a 5.25" drive or 3.5" drive?
I know both on the same controller cannot work due to some unfortunate
assumptions in the code that looked hard to change...

If the code is actually working today, for both read and write, then that
changes my attitude, though not by a huge amount... Working code for old
devices is almost never removed from the tree unless the device has lost
all relevance (a hard case to be made here, since people still use them
more often than many of the other things in the tree).

I've spent some time thinking about this while cleaning up the yard of old
>>> leaves today. All three of my machines downstairs still have fdc(4)
>>> controllers and take a poke at it.
>>>
>>> USB floppy does also work. The ufdformat USB floppy format (not yet
>>> committed, thank you bms@) also works in 12 (it didn't in 7 due to
>>> borked
>>> USB in 7). I've yet to decide whether to commit it as is or merge it into
>>> the existing fdformat.
>>>
>>
>> I'd commit it as is (ufdformat). It's functionality is quite a bit
>> different because the CDBs are much less expressive than the full NEC 765
>> chip supports (which is itself a subset of what you can do on a floppy,
>> but
>> I digress).
>>
>
> So usb floppy drives can't even duplicate fdformat's functionality?
> There is also hard to replace functionality in other utilites.


The problem is that USB floppy definition is only for 3.5" 1.44MB
diskettes. Well, to be honest, that's not entirely true, it also supports
720k DD 3.5" diskette and a total oddball 1.25MB HD diskette (77 tracks, 8
sectors, 1024 bytes per sector). See table 35 in
http://www.usb.org/developers/docs/devclass_docs/usbmass-ufi10.pdf if you
want the details. I was disappointed that 5.25" wasn't supported at all in
the specification, or there wasn't some generic way to specify things when
I was looking at this for some rx50 work I did earlier this year..

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrHq61_D9cXg36UqAgZ%2BLCFfrJO2bjpd22POz2Qj-Fxxg>