VMware Communities
SlugiusRex
Contributor
Contributor

VMWare exports a floppy controller, resulting in a phantom floppy drive on Ubuntu (Quantal/Raring)

This issue was identified by several users of the Ubuntu Quantal and Raring releases beginning on or about  2012-09-21 under issue #1054414 (https://bugs.launchpad.net/ubuntu/+source/udisks2/+bug/1054414)

Quantal system attempts to display non-existent Floppy Drive. See attached screenshot (https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1054414/+attachment/3330112/+files/Screenshot%20...)

1) The Home folder displays a floppy drive and none exists. Clicking on the image results in a message box"
       "Error mounting system-managed device /dev/fd0: Command-line `mount "/media/floppy0"' exited with
       non-zero exit status 32: mount: /dev/fd0 is not a valid block device"

2) The Unity Launcher displays a floppy drive. Clicking on image causes nothing to happen. Image canot be closed or unlocked from launcher.

After putting in some time to investigate the issue Martin Pitt (pitti) concludes :

So this seems to be mostly a VMWare bug that even if you configure
without a floppy drive, it still emulates a floppy controller without
any drive attached. Unfortunately there is very little that we can do in
userspace to work around this; floppies come from an age where detailled
automatic hardware detection was still not existant Smiley Sad As soon as you
try to probe a floppy in this case, you will get 30 second
uninterruptible kernel hangs, so we must not try to touch floppies
unless the user explicitly tries to mount one.

0 Kudos
11 Replies
Linjo
Leadership
Leadership

Even when you remove the floppy the floppy-controller will still be there.

What happends if you go into the bios and disables the floppy-controller?

// Linjo

Best regards, Linjo Please follow me on twitter: @viewgeek If you find this information useful, please award points for "correct" or "helpful".
0 Kudos
SlugiusRex
Contributor
Contributor

Hmmmm  -  I assume you mean into the BIOS on the client machine running in VMWare - I dunno - (hold on,,,   starting VMWare...   )

Rafael Keller Tesser (rktesser) reports (https://bugs.launchpad.net/ubuntu/+source/udisks2/+bug/1054414/comments/27)  that "The bug goes away if I disable the floppy in the BIOS configuration.  I never had any problem with this configuration until I upgraded to 12.10."

So I went into the   VM > Power > Power On to BIOS and [Disabled]  the Floppy A.    Now a Floppy no longer appears in the list of Linux Devices.  

So what should happen with a floppy indicated in the BIOS yet not in the Virtual Machine Settings Hardware tab ?  Should the Ubuntu system present it as a viable device?   Cause it never did before version 12.10 (Quantal)

@ Linjo - BTW maybe you could go to LaunchPad Issue #1054414  (https://bugs.launchpad.net/ubuntu/+source/udisks2/+bug/1054414) and subscribe to notifications to this bug.  It sounds like it might be happening on pure physical machines as well.  I would hate to see it get blamed on VMWare unnecessarily

0 Kudos
mfelker
Expert
Expert

I got the   exact same error install Mint 14 (Cinnamon).

At  least  in Mint I could still login to the desktop after dismissing the dialog.

I did the following:

sudo rm -fr /media/floppy* (should be floppy and floppy0)

edit (sudo) /etc/fstab to remove the line mounting /dev/fd0

sudo rm /dev/fd*

Then rebooted - same  message!

Search around in Google and final found soemthing that works

echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf
sudo rmmod floppy
sudo update-initramfs -u

No more error  message after rebooting VM

I  think this is  a  flaw in WS since removing the virtual floppy drive had no  effect.

0 Kudos
Linjo
Leadership
Leadership

Did you also disable the floppy controller in the VM Bios?

Best regards, Linjo Please follow me on twitter: @viewgeek If you find this information useful, please award points for "correct" or "helpful".
0 Kudos
mfelker
Expert
Expert

Didn't think of the patch within the VM  BIOS.  I thought when you removed the virtual floppy disk in settings that would be passed to the OS.  I (rather VMware) seems not to do this with at least Ubuntu based new releases.  Does not occur in previous versions of Ubuntu or MInt.  Let us know if you try the  BIOS method and it works for future reference. I myself am intereseted in getting VM's to work without "phantom devices". If a fix within the virtual OS works then I learn something as well as being able to continue with real work.  You'd think that VMwre would test this before certifying that  Ubuntu Quantel is compatible  with 9.0.1.  Despite somebody from the company saying their testing is "robust" I dispute that - not that it matters to VMware.

0 Kudos
WoodyZ
Immortal
Immortal

Martin Felker wrote: Didn't think of the patch within the VM  BIOS.  I thought when you removed the virtual floppy disk in settings that would be passed to the OS.

It is not at all unreasonable if the BIOS shows a Floppy Drive enabled that it be reflected in the OS, physical or virtual, after all that is the normal behavior for some OSes!  Setting it to Disabled in the BIOS removed it from my install of Ubuntu 12.10 and that was whether or not I had a Floppy configured in the Virtual Machine's Settings. Smiley Wink

(Click image to enlarge.)

Ubuntu_12.10_No_Floppy.png

0 Kudos
mfelker
Expert
Expert

Hmm.  I glad that you discovered that .  However it still doesn't answer the question about how this behavior just started in Ubuntu 12.10.   Just crious -= do you have a directory /media/flopy and /media/floppy0 and does /dev/fd* exist.  The asterisk is becouse if I ls /dev/dev0 I get not only fd0 but directory 1 2 3 4 which I can only assume to be support in the OIS for 4 floppy drives.  If the /media subdirectories still exist  that would be of some interest to me.  I'm going to install Ubuntu 12.10 VM soon ( a few days) in Windows wS and check it out.  I also copy the VM to an Ubunt, Fedora or openSUSE host and see if I need to change the auo pickupl of the virtual CDROPM to specify /dev/sr0.

Forgot to add.  Is this behavior documentmented by VMwae or just something else we have to toy with with help from the community.  O well - there alwasy WS 9.0.2 Smiley Happy

0 Kudos
Linjo
Leadership
Leadership

If you read the bugreport on launchpad (linked in the first post) it seems that ubuntu have change the detection logic and will try to automount floppys if it finds a floppy-controller.

So the workaround is to disable the floppy-controller in the VM Bios and it will not see the controller.

Can't see that this is a WS issue.

// Linjo

Best regards, Linjo Please follow me on twitter: @viewgeek If you find this information useful, please award points for "correct" or "helpful".
0 Kudos
mfelker
Expert
Expert

I just posted this on Launchpad: commenting on the bug in Ubuntu

---------------------------------------------------------------------------

"The following code fro within the Ubuntu 12.10 VM (or Linux Mint 14 for that matter) is:

echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf
sudo rmmod floppy
sudo update-initramfs -u

This immediately (don't need a reboot)removes the bogus floppy icon from the launcher and also /dev/fd0. You may also sudo rm -fr /media/floppy* if you wish.

See discussion

http://communities.vmware.com/thread/426323?tstart=0

This would include your workaround in the VM BIOS.  I agree this isn't   a VMware problem but still requires some digging to fix as we see.

0 Kudos
WoodyZ
Immortal
Immortal

Joel Lindberg wrote: Can't see that this is a WS issue.

I totally agree and it absolutely is not a VMware Product issue, it's a User issue!  It is an industry standard practice for some OSes as far back as I can remember working in IT, over 20 year now, to show a Floppy (much less other hardware as appropriate) in the OSes GUI when not disabled in the BIOS, whether or not the drive actually even exists.  It's not rocket science! Smiley Wink

0 Kudos
mfelker
Expert
Expert

Because of your   20 year of experience it is not "rocket science"  to you no doubt.

I think  you might repost this on Launchpad in reply to the responder to the bug report who  said:

"If a note to check the BIOS could be added to the error message, that would go a long way to neutralising the problem. After all, we can see that it has flummoxed a lot of quite experienced people."

You really should read the entire discussion - it is quite illuminating although I am only a quite experienced person and did find another workaround WITHIN the VM OS itself.

BTW here is a desc of the tee command

"tee is normally used to split the output of a program so that it can be seen on the display and also be saved in a file. The command can also be used to capture intermediate output before the data is altered by another command or program. The tee command readsstandard input, then writes its content to standard output and simultaneously copies it into the specified file(s) or variables. The syntax differs depending on the command's implementation":

In fact the output from the first  command viz

echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf

is in fact

"blacklist floppy" on standard output

I try to learn something new every day Smiley Happy

0 Kudos