Where did /dev/fd0 go?

Hello,

I recently installed 11.2 via the DVD. The box previously ran 10.3.

I didn’t notice it at first but now I realise that I have no floppy disc facility.

There is no /dev/fd0 and boot.msg makes no mention of a floppy being detected.

If I do a hardware list via yast, however, there’s my floppy!

There’s a rule for floppies in the /lib/udev/rules.d/50-udev-default.rules file.

In boot.msg, I see the following message “<4> 0.000000] ACPI Error: A valid RSDP was not found 20090521 tbxfroot-219”. I googled that but nothing I found suggested that it was the cause of my disappearing drive.

The device itself is fully functional in that I can boot DOS from it and so on.

Any advice on how to resolve this would be most appreciated.

dmesg | grep fd0

antttikutoja wrote:
> Hello,
>
> I recently installed 11.2 via the DVD. The box previously ran 10.3.
>
> I didn’t notice it at first but now I realise that I have no floppy
> disc facility.
>
> There is no /dev/fd0 and boot.msg makes no mention of a floppy being
> detected.
>
> If I do a hardware list via yast, however, there’s my floppy!
>
> There’s a rule for floppies in the
> /lib/udev/rules.d/50-udev-default.rules file.
>
> In boot.msg, I see the following message “<4> 0.000000] ACPI Error:
> A valid RSDP was not found 20090521 tbxfroot-219”. I googled that but
> nothing I found suggested that it was the cause of my disappearing
> drive.
>
> The device itself is fully functional in that I can boot DOS from it
> and so on.
>
> Any advice on how to resolve this would be most appreciated.
>
>
hmmmm…very strange indeed…

i do not think the ACPI error has a bearing here…

i guess you tried mounting it from a command line…did it return an
error saying it couldn’t find/does not exist /dev/fd0 ??

i think i would (with the machine shut down) wiggle the wires
connected to the back of the floppy drive…and gently wiggle the
other ends of those wires where the connect to the motherboard…(yes,
i heard you say it works and you can boot DOS…but still maybe one
of those connections has just a bit too much resistance (old, corroded
connection) and we can’t see it as a valid drive…maybe)

if that doesn’t work i’m out of ideas (except:
-swap in a different cable and/or drive
-did you md5sum check the iso prior to burning the install disk?
-did you http://tinyurl.com/yajm2aq before actuall installing
-did you have any errors during install?)

hmmmmm…(i’m still on 10.3 and can’t check if i have a fd0 so maybe
THIS is the real answer) did you read the release notes of 11.2,
because since so many boxes today don’t even have those tiny antique
so-last-century drives :wink: anymore, maybe their support is no longer
in the default install… maybe??

so, maybe google has the answer…


palladium

Just tested: put in a floppy drive in a spare machine with 11.2 on it. After boot I have /dev/fd0 …

Knurpht wrote:
> Just tested: put in a floppy drive in a spare machine with 11.2 on it.
> After boot I have /dev/fd0 …

maybe it tests during bootup and if the drive is empty there is no fd0…


palladium

Hi all and thanks for the replies.

please_try_again:

@OWEN:/dev> dmesg|egrep fd0
@OWEN:/dev>

Palladium:
OWEN:/dev # !mount
mount /dev/fd0 /media/floppy
mount: special device /dev/fd0 does not exist
OWEN:/dev #

knurpht:

Yes, I have also another box running 11.2 that has its fd0 in place and working fine.

The md5 checked out fine and the install was straight-forward - no errors or anything.

/lib/udev has in it a “create_floppy_devices” that would get run by /lib/udev/rules.d/50-udev-default.rules if there was a match for these:

KERNEL==“fd[0-9]”, GROUP=“floppy”
KERNEL==“fd[0-9]”, ACTION==“add”, ATTRS{cmos}=="?", RUN+=“create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k”
KERNEL=="hd
", SUBSYSTEMS==“ide”, ATTRS{media}==“floppy”, OPTIONS+=“all_partitions”

I have just run “create_floppy_devices” as follows:
/lib/udev/create_floppy_devices -c -m 2 -t 3 -U root -G floppy -M 0640 /dev/fd0

This gave me these in /dev…

brw-r----- 1 root floppy 2, 84 2010-02-11 18:51 fd0u1040
brw-r----- 1 root floppy 2, 88 2010-02-11 18:51 fd0u1120
brw-r----- 1 root floppy 2, 12 2010-02-11 18:51 fd0u360
brw-r----- 1 root floppy 2, 16 2010-02-11 18:51 fd0u720
brw-r----- 1 root floppy 2, 120 2010-02-11 18:51 fd0u800
brw-r----- 1 root floppy 2, 52 2010-02-11 18:51 fd0u820
brw-r----- 1 root floppy 2, 68 2010-02-11 18:51 fd0u830

…Now comes some voodoo! I linked fd0u1040 to fd0 and tried to mount a floppy. That worked fine and I could list the floppy contents. I then unmounted the floppy and here’s what’s left in /dev…

brw-rw---- 1 root floppy 2, 0 2010-02-11 19:01 fd0
brw-r----- 1 root floppy 2, 84 2010-02-11 18:51 fd0u1040
brw-r----- 1 root floppy 2, 88 2010-02-11 18:51 fd0u1120
brw-r----- 1 root floppy 2, 12 2010-02-11 18:51 fd0u360
brw-r----- 1 root floppy 2, 16 2010-02-11 18:51 fd0u720
brw-r----- 1 root floppy 2, 120 2010-02-11 18:51 fd0u800
brw-r----- 1 root floppy 2, 52 2010-02-11 18:51 fd0u820
brw-r----- 1 root floppy 2, 68 2010-02-11 18:51 fd0u830

…my link is gone, replaced by a new node of the same name.

I’m going to reboot now and see what happens.

Thanks you all, I will report on what happens after the boot.

Well well well…

After the reboot all those “fd0” files in /dev are gone! Is /dev rebuilt every boot? All the timestamps in there are about the time of the reboot, nothing earlier. So who and what and from where decides what goes in there?

Nothing in boot.msg about floppies and nothing in messages after the reboot.

Maybe re-install but that seems a bit drastic. I can do the “create” thing, mknod maybe and all the rest but if it disappears on reboot, then it’s a nogo.

your problem is FAR above my ability…bye, and good luck…
but, i will read if you continue to post…


palladium

Yes udev creates those devices each boot. That’s the reason for the line:

KERNEL==“fd[0-9]”, ACTION==“add”, ATTRS{cmos}=="?*", RUN+=“create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k”

However the match is not succeeding so the action indicated by RUN is not triggered. This may be related to your kernel not detecting the floppy. Are you loading the floppy module after boot? Does

lsmod | grep floppy

contain anything? If not, try

modprobe floppy

and see if the devices get created by udev.

Hi guys,

Well, a couple more tries with the create_floppy thing including manually running SuSEconfig but nothing survives the reboot.

ken_yap, bear with me.

I have put the following into boot.local:
/lib/udev/create_floppy_devices -c -m 2 -t 4 -U root -G floppy -M 0640 /dev/fd0
ln -s /dev/fd0u1440 /dev/fd0
ls -l /dev/fd0*

This gives the following in /dev:

lrwxrwxrwx 1 root root 13 Feb 13 20:02 /dev/fd0 → /dev/fd0u1440
brw-r----- 1 root floppy 2, 84 Feb 13 20:02 /dev/fd0u1040
brw-r----- 1 root floppy 2, 88 Feb 13 20:02 /dev/fd0u1120
brw-r----- 1 root floppy 2, 28 Feb 13 20:02 /dev/fd0u1440
brw-r----- 1 root floppy 2, 124 Feb 13 20:02 /dev/fd0u1600
brw-r----- 1 root floppy 2, 44 Feb 13 20:02 /dev/fd0u1680
brw-r----- 1 root floppy 2, 60 Feb 13 20:02 /dev/fd0u1722
brw-r----- 1 root floppy 2, 76 Feb 13 20:02 /dev/fd0u1743
brw-r----- 1 root floppy 2, 96 Feb 13 20:02 /dev/fd0u1760
brw-r----- 1 root floppy 2, 116 Feb 13 20:02 /dev/fd0u1840
brw-r----- 1 root floppy 2, 100 Feb 13 20:02 /dev/fd0u1920
brw-r----- 1 root floppy 2, 12 Feb 13 20:02 /dev/fd0u360
brw-r----- 1 root floppy 2, 16 Feb 13 20:02 /dev/fd0u720
brw-r----- 1 root floppy 2, 120 Feb 13 20:02 /dev/fd0u800
brw-r----- 1 root floppy 2, 52 Feb 13 20:02 /dev/fd0u820
brw-r----- 1 root floppy 2, 68 Feb 13 20:02 /dev/fd0u830

This allows me to use the floppy albeit with the need to mount the drive first. After the mount, the link (fd0 to /dev/fd0u1440) disappears to be replaced by:

brw-rw---- 1 root floppy 2, 0 2010-02-13 20:15 fd0

How or why that has happened is beyond my knowledge at the moment.

ken_yap - re the lsmod. The “floppy” module is not there after the boot but appears after I have mounted the floppy.

OWEN:/lib/udev # lsmod |egrep floppy
OWEN:/lib/udev # mount /dev/fd0 /media/floppy
OWEN:/lib/udev # cd /media/floppy/
OWEN:/media/floppy # ll
total 77
drwxr-xr-x 2 root root 7168 1970-01-01 02:00 .
drwxr-xr-x 3 root root 4096 2010-02-13 19:24 …
-rwxr-xr-x 1 root root 66721 2010-02-13 19:30 owentar.tar.gz.dd
OWEN:/media/floppy # !lsm
lsmod |egrep floppy
floppy 61540 1

This problem is clearly down to the floppy not being recognised at boot time so udev doesn’t know to create the fd.

Why is it not being recognised? That remains a mystery. I am thinking to re-install from scratch but have no idea what’s caused the behaviour. This kernel seems quite able to see new hardware so I’m head-scratching at the moment.

Oh! One more thing. I used to have APIC=force as a boot param.

Have removed that and now I don’t get the APIC error I mentioned in the opening post.

Mounting fd0 dynamically loaded the floppy module. The system is set up that any opening of device /dev/fd0 will cause the module to be loaded. Which is why the hardware list caused it to appear. If you want it to be there all the time, make the kernel always load it. Edit /etc/sysconfig/kernel and add floppy to the list in MODULES_LOADED_ON_BOOT.

What application are you running that needs /dev/fd0? If your application opens /dev/fd0, it will appear in the same way. So the system is working as it should. If your only concern was that you couldn’t see /dev/fd0 in the directory, you can stop worrying. It may feel strange this dynamic creation of devices but it’s normal these days.

ken_yap

Thanks for this and sorry for not monitoring the thread more closely.

As I mentioned in an earlier post, when I try the first mount of a floppy, I get this:

OWEN:/dev # !mount
mount /dev/fd0 /media/floppy
mount: special device /dev/fd0 does not exist
OWEN:/dev #

Not to worry though and thanks for the replies.

Well although it not worrying (with USB flash drives as an alternative) it is disappointing.
Floppy disk support has been rather chaotic since openSUSE 11.2,
e.g. compare the mounting and unmounting of floppy disks in KDE and Gnome:

openSUSE 11.2 - Dolphin or Nautilus

  1. Left click once - the sound of floppy disk access.
  2. Left click a second time -> message: “An error occurred whilst accessing “Floppy Drive”, the system responded:
    org.freedesktop.Hal.Device.Volume.AlreadyMounted: Device /dev/fd0 is already mounted”.

After 1 or 2 if you explore /media then you find an openable floppy disk icon such as “disk”. Unfortunately I have been anable to find any way of unmounting floppies in any gui application so the only options remaining seem to be a reboot or the “umount” command as root.

openSUSE 11.3 - Dolphin

Similar to 11.2 above. However if you unmount the floppy disk with the 11.3 Gnome utility Nautilus, then remounting the floppy will result in icon labelled “disk-1”. Successive unmounting and remounting produces “disk-2”, “disk-3” etc.

openSUSE 11.3 - Nautilus

  1. Left click once - Simply opens a window to the floppy disk top-level directory.
  2. Unmount by right clicking on floppy disk icon in navigation panel and selecting “Unmount”.

Although this next bit not really within the scope of this thread, after comparing the mounting/unmounting of hard drives (such as esata or anything else you don’t want assigned/mounted at startup in fstab) using Dolphin and Nautilus, I would say that the Gnome and KDE teams appear to be on different pages in 11.3 on that topic as well.

Terry.

WIthout /dev/fd0, opensuse cannot be installed.

Why?

Nonsense! Where did you get that idea?

It can be a problem IF the BIOS says there is a FD and there is not one. There can be lengthy delays in the install

Yes, but usually you can just disable in the BIOS (legacy hardware).