I recently came upon two needs for needing to use a 3.5″ floppy in Linux. First was to go through this stack of disks to recover any data off of them. Secondly, in my latest effort to dig up the musical talents I once used regularly about two decades ago, I acquired a Korg N364 that has a 3.5″ floppy drive on it and I wanted to transfer data on and off of it.
The great news is, openSUSE Tumbleweed running KDE Plasma recognized and utilized the drive immediately but oddly, I could not write to the drive. My first task was to go through the stack of floppies and copy all the data off and archive it. I found some great files from the 90s that I rescued from bit-rot.
The problem I ran into was my inability to write to disk. So much so that I even called into the Ask Noah Show. With some poking around and help from the IRC channel, I tried a few things:
sudo mount -o remount,rw /run/media/user/disk
Which was seemingly successful as it did remount the disk. I had one particular disk that I could not modify its contents. I had to double check that the disk was write enabled as it seems that I can’t remember what I did in the 90s to write protect or enable a disk.
My next step was to format some of the problem / unreadable disks. I tried to format the disk from KFloppy with this error
Internal error: device not correctly defined.
I can’t be sure as running KFloppy in terminal didn’t yield much more information.
Fortunately, I am able to format the floppy disks in terminal with this:
sudo /sbin/mkfs.vfat /dev/sdc
This seems to have worked for most of my disks but it looks like some of the disks are far too degraded which seems to be the source of my problems. To correct the issue which has only been somewhat successful I ran this in terminal to fix the file system:
sudo fsck /dev/sdc
Even though the output looks unsuccessful, it actually was quite successful.
fsck from util-linux 2.31.1
e2fsck 1.43.9 (8-Feb-2018)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks…
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdc
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
e2fsck -b 32768 <device>
I wouldn’t trust any critical data on this disk but I am able to transfer files back and forth without issue and I tried several files including making directories, so I am quite sure it is working well enough, at least for my purposes.
Floppy Drives are Cool
Many of our modern Solid state devices just lack something special to them that I don’t know how to capture in words. You just can’t have fun with USB flash drives like this hugely creative and industrious techy did with 3.5″ floppies.
The issue with KFloppy maybe that it is likely expecting a non-USB floppy, meaning, it is looking for the floppy drive at /dev/fd0 or /dev/fd1. The USB floppy disk mounts as an /dev/sdc on my system since it is being attached to the computer via the USB bus.
I don’t know how much I am actually going to use the floppy drive but I do have some more disks to at least pull data from. I wasn’t able to transfer any data to the Korg N364 due to a floppy drive failure but that is another project for another time.