External USB floppy drives

Polytropon freebsd at edvax.de
Sun Mar 26 23:11:07 UTC 2017

Re-including list, hope that's okay.

On Sun, 26 Mar 2017 15:09:39 -0700, john drake wrote:
> On version 5.3, the mount command for an internal 3.5 inch floppy was
> mount_msdosfs -o rw /dev/fd0  /mnt

That is correct and even works on FreeBSD 10, as long as you have
an internal floppy, like this:

	fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
	fd0: <1440-KB 3.5" drive> on fdc0 drive 0

Yes, that is an _actual_ floppy disk drive in my home PC. :-)

> On version 10.2, the mount command for a thumb drive is 
> mount_msdosfs -o rw /dev/da0s1 /met

Yes. The use of "da0" vs. "da0s1" depends on partitioning. I'm not
fully sure if "s1" needs to be appended in case of using da0. I do
not have the external drive at hand so I cannot check, but if I
remember correctly, "s1" was not needed for floppies formatted
with FAT. At least it worked that way in FreeBSD 10.1, so we can
assume it will also work that way in FreeBSD 10.2, 10.3, and 11.

> Does this mean that both versions are using the same file structure
> and any windows compatible  USB floppy drive will work with
> FreeBSD 10.2

The mount_msdosfs program interprets the device used for mounting
as FAT data, no matter if it's provided via /dev/fd0 or /dev/da0.
As long as your "Windows" creates a standard FAT file system on
the floppy, it will work.

However, the actual device access is something more "low level"
than the file system driver. As long as the external floppy drive
identifies itself as a USB direct access device _and_ implements
the functionality required by the USB standard, it will work. It
might be possible that "Windows" requires drivers specific to the
drive (and the "Windows" version of course), but FreeBSD does not.
Everything that "talks SCSI over USB" will be picked up by the "da"
driver - and will work. Imagine it like this: First the USB generic
driver (ugen) will identify the device, then the USB mass storage
driver will be loaded (umass) and "connected" to the direct access
driver (da), which mount_msdosfs will access and then mount the
content as FAT into the file system hierarchy. All those points
will have to be met in order to work.

You can easily verify if a drive works or not if you attach it to
a laptop running FreeBSD (or a FreeBSD live CD, or even the install
CD or USB stick will be okay for this test). If the device is
finally recognized by the "da" driver (see my example mentioned
before), everything will be fine. If you only end up with a "ugen"
device, the floppy drive is not conforming to the standards and
should not be purchased - it probably only works with a specific
version of "Windows".

See "man da", "man umass", "man ugen", and "man msdosfs" for details.

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list