[kde-linux] stop empty floppy drive announcement

Duncan 1i5t5.duncan at cox.net
Wed Nov 13 20:28:01 UTC 2013


Felix Miata posted on Wed, 13 Nov 2013 12:36:30 -0500 as excerpted:

> On 2013-11-13 12:08 (GMT) Duncan composed:
> 
>>> https://bugs.kde.org/show_bug.cgi?id=318061
> 
>> The root problem is one of legacy hardware (lack of) features.  Floppy
>> drives are old enough they predate the hardware removable-media-detect
> 
>> Making problems worse, there's no media-change-detect notification
> 
> How is it that ancient DOS manages? It/they originated "plug & play".

IIRC (and I remember my MS DOS 6 tech reasonably well, along with the 
upgrade to MS Windows 95), it wasn't DOS that originated plug-n-play, but 
W95.  DOS as such did have some support, but it was pretty basic, while 
the /real/ usage was in W95.

And in both cases, they basically don't do auto-media-detect/change-
detect in any form for floppies.  They normally force synchronous writes 
(just as is recommended, tho not forced, with Linux, since Linux does 
have a separate mount/umount concept), and users quickly learn not to 
eject until the drive quits clicking and the I/O LED goes out.  Then the 
user can eject, and because of the synchronous writes, the filesystem 
should be consistent.

Each access either assumes the media hasn't changed and errors out or 
overwrites whatever's there if it has, or carefully checks at least the 
filesystem GUID and possibly re-walks the directory tree before writing a 
new file, depending on how paranoid the author is about assumptions that 
the user won't unexpectedly change media underneath him.

For DOS, drivers were very low level and individual apps implemented much 
of the logic themselves.  That's why each game came with its own 
configuration method for setting video, sound card, mouse support, etc, 
and why many generic soundcards for instance had modes that emulated more 
popular cards, since most games only implemented support for a few of the 
most popular cards.

Win95 was the first widely used platform that presented a general 
hardware interface API to write to at a higher level, with mid-level 
driver layers between the actual hardware driver and the interface W95 
presented to the app, such that apps could write only to the W95 hardware 
access API, instead of to a half-dozen or more individual hardware driver 
APIs.  The existance of those middle layers and the fact that apps were 
now written to the W95 API made it easier to implement pnp as well, and 
that's where the technology really took off.

>> In my opinion, probably the best way for software like kde's device
>> notification is to ignore floppies entirely.
> 
> Probably. Do devs need to actually have floppy drives to be able to
> implement this eminently logical but currently missing option?

Well, in that bug you see requests for and posts of the solid logs, which 
should (hopefully) give the kde devs the information they need to figure 
out what to actually ignore.

However, at this point the focus is increasingly on kde frameworks five, 
with an early release of the base framework and initial 5-frameworks API 
freeze planned in early 2014, after which the app-level implementations 
will start to appear.  (As discussed in other recent threads, frameworks 
five will likely have independent individual apps or category releases, 
which may or may not be version-synced to the core frameworks 5 
releases.  My guess is that some apps will version-sync, others won't.  
Apparently plasma is planning to roll out its frameworks-5 support as 
plasma2, for instance, with the plasma in kde4 being referred to as 
plasma1.)

As a result, it's increasingly likely that particularly the more complex 
bugs will only be addressed for kde frameworks five.  Given the interplay 
with solid in this case, and the fact that the device manager is a 
plasmoid and plasma for kde4 is already announced to be in feature-freeze 
pending 5/frameworks, bug-fix-only for kde4, my guess is that it's 
unlikely there'll every be a fix for this in kde4.

Tho it may well be that a simple "ignore floppies" checkbox might still 
make it into kde4, if there's little actual code needed to parse the 
solid results and figure out what results are actually floppies so they 
can be ignored.  If it's more complex than that, however, particularly if 
solid changes are needed in ordered to get the needed information, almost 
certainly 5/frameworks.

>> What /is/ your actual use case for floppies?
> 
> Floppies don't need software to allow removal/ejection. They have a
> readily accessible button. They can be removed and inserted easily and
> completely while the machine is powered down, so that when it's powered
> up, the system doesn't jump right into an OS installed to non-removable
> media that needs to be shut down before powering back down.

Thank you.  I won't go into each one but it was an honest question and I 
respect your equally honest answers. =:^)

But I can't resist a comment on some of them, like this one. =:^)

Rather than relying on the "hack" of an inserted floppy to prevent the 
system from booting all the way, when I need to, I either change the BIOS 
boot option (either one-time using the appropriate BIOS hotkey, or change 
the BIOS default), or hit a key in grub to stop its automatically booting 
the default, or change the grub default to something other than boot my 
main gentoo install.

To me, that's far easier than fiddling with a floppy that I might not 
have used in a year, and that for all I know, might not even still work. 
(I have the cover off the machine far more often, and perhaps I bumped 
the floppy flat-cable or unplugged it for some reason and plugged it in 
backward when I replugged, or something.  Not to mention the dust that 
has accumulated in the drive mechanism itself, making actually using it 
on a floppy a risky proposition of damaging the floppy.)

But if you find it more convenient to use the floppy for that purpose, 
more power to you.  I won't argue with what works for you on what is 
after all your machine, not mine! =:^)

> Floppies can be made bootable in mere seconds, not requiring complicated
> installation of a big operating system, or a big complicated application
> and operating system to run it to perform the task.

With an appropriate setup, making USB sticks bootable is just as trivial 
(basically format and copy a few files, or copy a pre-made image over, 
leaving the rest of the stick blank if desired), and while burning a CD 
does require an additional step to create the ISOFS before burning it to 
the actual media, with the appropriate tools that's entirely automated.

Meanwhile, keeping floppies around is a pain, and the last thing I did 
use floppies for was to update the BIOS on my old system (2003 vintage) 
before its capacitors eventually popped, using FreeDOS, which I had to 
google for and then download an appropriate floppy image from the net 
for.  Then I mounted that image as FAT on loopback to copy the BIOS 
updater executable and bin image to it, before umounting the loopback and 
using dd to copy the entire image to the floppy.

To me that's /way/ more hassle than simply formatting a USB drive and 
copying a few files to it, or using something like k3b to build an ISO 
and burn it to CD, checking the make bootable option while I'm at it.

But again, your work flow and machines, and I won't argue with what's 
easier for you.  I'm simply noting alternatives here for others who may 
come across the thread via google or whatever.

> Compared to OM drives, floppy drives have proven themselves far more
> reliable on average long-term.

Absolutely contrawise experience here, and this one's probably the thing 
that really killed floppies for me.

But part of that very likely has to do with the environment one is doing 
their computing in.  I'm in Phoenix, AZ, with summer high temps between 
45 and 50C in the shade (~117-118 F normal summer high, 122F=50C record), 
and if I'm gone for the day I have the AC (and computer) off, saving gobs 
of electricity, but at the cost of exposing everything to temps that 
likely exceed 50C at times.

In that environment, it wasn't unusual for me to pick up a floppy and 
find the disc inside was baked in-place.  Even if it was still movable, 
exposure to those temps often damaged the data, such that after a couple 
summers, the floppy was no longer readable and could not hold new data 
either.

By contrast, CDs kept in their case might degrade a bit faster at those 
temps, but if burned at a slow enough speed, the data will last several 
years.

And of course there's those millennial disks, or whatever they're called, 
that are supposed to be good for 25 years or more, if I wanted long-
lasting archive quality.

But USB flash or portable hard drives are definitely a better choice 
there.  I've had mp3 players and thumbdrives still give me readable data 
seven years later, and the same for hard drives.  I believe flash read 
life is estimated to be in the decades, if you're not writing to it 
(that's flash's weakness, a limited number of writes) and you don't have 
the media physically falling apart due to simple wear by then.

In a more reasonable environment, particularly in a temperature 
controlled environment where temps rarely exceed 30C (86F) or fall below 
10C (50F), floppies are likely to be a far more reliable solution than 
they were for me here, and I do remember them being more reliable back in 
the day (when I lived elsewhere, with rather less extreme summer heat), 
but optical will degrade slower at those temps too (tho scratches will 
obviously still be an issue), such that I guess 3-5 years isn't 
unreasonable for a floppy.  But flash-based drives still win this one, 
hands-down.

Never-the-less, it appears floppies are quite reliable /enough/ for you.

> Floppies, unlike common multifunction diagnostic media, having only one
> utility installed, can be booted into to do their thing without working
> keyboard or mouse. e.g. memtest

THAT is a valid point.

Of course, it's quite possible to burn a single utility CD or copy only 
one utility to your USB stick too, but because they're so much bigger 
capacity-wise, even if CDRs are cheaper and more commonly available, it 
still FEELS like more of a waste to just put that single utility on a CDR 
that will hold so much more, even if it's actually cheaper to do, than to 
put it on the floppy that won't /hold/ much more.

> Virtually all my systems are multiboot. DOS is good enough, and faster,
> for various things, does manage somehow to automount floppies when
> inserted, and does not resist ejection via press of a physical button.

Well, it's not so much automount, as DOS lacks the concept of mounting/
umounting at all, and without media-change detection, either simply 
blindly writes over whatever's there, or requires the app to do the 
filesystem GUID verification and/or rewalk the directory tree itself.

And the fact that blocking physical eject on a floppy simply isn't 
possible, has I'm sure resulted in quite a few corrupted floppies over 
the decades, until the users involved learn the hard way not to do that.

The same issue of course applies to USB attached devices...

As for optical drives, the ones often found on laptops and in media 
player hardware (cd players, integrated display/dvd-players, etc), that 
DO have a physical eject button, are nice.  But yes, I too have been 
frustrated with that CD still in the internal CD player on the computer, 
that I have to turn on (that's where the hotkey to go into BIOS or to 
cancel the grub autostart timer comes in) in ordered to properly extract 
the CD.  So I can certainly appreciate that point.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




More information about the kde-linux mailing list