Funny floppy drive failure
Hi,
I have sw 12 on three boxes and two are waiting. On my main box I have a funny thing happening. Its dual boot. In expee the floppy drive works fine, I can format, copy and read files. In Linux I can do nothing. Mdir says plain_io: Input/output error; superformat fails with: Fatal error while measuring raw capacity & fdformat formats, fails on track 0 verification. (expected 18432, read -1). I've tried different drives and different media. I upgrade the bios to the last six different versions, it only adds a new problem: splitting of the via_rhine and phy devices. I then went back to the original version of the BIOS. Anybody with any ideas? Regards, llk |
What device in /dev is being used?
|
I had similar stuff happen, I got it to work by compiling 'floppy' as a module not as built-in. It's odd, and I have no idea why it worked. What kernel are you using ?
|
Floppy failures
1. /dev/fd0h1440
2. Will try the compile as module approach. Regards, llk |
Tried no avail
Module iso built-in does not solve it.
llk. |
kernel
Quote:
Rgrds, llk |
So, what happens when you mount the floppy ? Have you tried that ?
|
I have noticed the same problem. The problem follows the 2.6 kernel around and is on some but by no means all machines. The floppy works fine from boot disks or Slackware 10 on a stick but not from Slackware 12 installed or a live CD based on 2.6.
If you look in /var/log/messages at one that works and one that does not you will see the difference. On ones that do not work the floppy is identified but no drive routine put up. I too have tried the compile it as a module trick without success. Anyone know how to proceed from here ? John |
"So, what happens when you mount the floppy ? Have you tried that ?"
1. modprobe -a floppy 2. fdmount fd0 /mnt/floppy/ fdmount (/dev/fd0): error reading boot/super block: Input/output error 3. mount /dev/fd0 /mnt/floppy -t vfat mount: /dev/fd0: can't read superblock 4. mount /dev/fd0 /mnt/floppy -t msdos mount: /dev/fd0: can't read superblock 5. superformat /dev/fd0h1440 Measuring drive 0's raw capacity Fatal error while measuring raw capacity 0: 40 1: 01 2: 00 3: 00 4: 00 5: 01 6: 08 and so I can continue. I don't think it should make a difference, but here is it: uname -a Linux olifant 2.6.23.9 #2 SMP Wed Dec 19 00:47:21 SAST 2007 i686 Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz GenuineIntel GNU/Linux Motherboard: Jetway P4M9PM Rgrds, llk:scratch: |
What's the output of:
Code:
ls -l /dev | grep fd0 |
ls -l /dev | grep fd0
lrwxrwxrwx 1 root root 8 2007-12-20 11:55 fd0 -> floppy/0 brw-rw---- 1 root floppy 2, 4 2007-12-20 11:55 fd0d360 brw-rw---- 1 root floppy 2, 8 2007-12-20 11:55 fd0h1200 brw-rw---- 1 root floppy 2, 40 2007-12-20 11:55 fd0h1440 brw-rw---- 1 root floppy 2, 56 2007-12-20 11:55 fd0h1476 brw-rw---- 1 root floppy 2, 72 2007-12-20 11:55 fd0h1494 brw-rw---- 1 root floppy 2, 92 2007-12-20 11:55 fd0h1600 brw-rw---- 1 root floppy 2, 20 2007-12-20 11:55 fd0h360 brw-rw---- 1 root floppy 2, 24 2007-12-20 11:55 fd0h720 brw-rw---- 1 root floppy 2, 80 2007-12-20 11:55 fd0h880 brw-rw---- 1 root floppy 2, 28 2007-12-20 11:55 fd0u1440 brw-rw---- 1 root floppy 2, 124 2007-12-20 11:55 fd0u1600 brw-rw---- 1 root floppy 2, 44 2007-12-20 11:55 fd0u1680 brw-rw---- 1 root floppy 2, 60 2007-12-20 11:55 fd0u1722 brw-rw---- 1 root floppy 2, 76 2007-12-20 11:55 fd0u1743 brw-rw---- 1 root floppy 2, 96 2007-12-20 11:55 fd0u1760 brw-rw---- 1 root floppy 2, 116 2007-12-20 11:55 fd0u1840 brw-rw---- 1 root floppy 2, 100 2007-12-20 11:55 fd0u1920 brw-rw---- 1 root floppy 2, 32 2007-12-20 11:55 fd0u2880 brw-rw---- 1 root floppy 2, 104 2007-12-20 11:55 fd0u3200 brw-rw---- 1 root floppy 2, 108 2007-12-20 11:55 fd0u3520 brw-rw---- 1 root floppy 2, 112 2007-12-20 11:55 fd0u3840 |
So what is the output of:
ls -l /dev/fd0 and ls -l /dev/floppy/0 Do you have an entry in fstab for /mnt/floppy? If you have an netry in fstab you usually can't mount something with different options than what the fstab line says. Your erros look like what happens when the wrong fd?? device is being used. fd0 should probably be pointing to fd0u1440 not fd0h1440 and if you have an entry in fstab it should agree with that. |
Quote:
ls -l /dev/floppy/0 brw-rw---- 1 root floppy 2, 0 2007-12-20 11:55 /dev/floppy/0 fstab=no fd0x1440, where x = u or h does not make a difference now and did not in the past. At present they all return: can't read superblock To add insult to my injury I made a msdos boot floppy in xP and it boots the box, but linux still refuses to see the same floppy. |
systool -v -b platform
Bus = "platform" Device = "floppy.0" Device path = "/sys/devices/platform/floppy.0" cmos = "4" modalias = "floppy" uevent = "MODALIAS=floppy" |
udevinfo -a -p /sys/devices/platform/floppy.0 -a
looking at device '/devices/platform/floppy.0': KERNEL=="floppy.0" SUBSYSTEM=="platform" DRIVER=="" ATTR{cmos}=="4" ATTR{modalias}=="floppy" ATTR{uevent}=="MODALIAS=floppy" looking at parent device '/devices/platform': KERNELS=="platform" SUBSYSTEMS=="" DRIVERS=="" ATTRS{uevent}=="" |
I can't understand why there are so many fd0*. The only other possible recommendation is try this as root:
Code:
rm -f /dev/fd0 |
All the fd0*'s are there to make provision for the different formats, if I'm not mistaken they appeared around sw3. There is a long description in info fdutils.
I also did the following: floppycontrol -p abort= 3 readtrack= 1 recalibrate= 0 reset= 2 reporting= 2 cmos= 4 hlt= 16 hut= 16 srt= 4000 spindown= 3000 spinup= 400 select_delay= 20 rps= 5 spindown_offset= 10 cylinders= 83 tracks= 83 timeout= 3000 interleave= 20 checkfreq= 1500 native_format= 7 autodetect seq.= 7,4,25,22,31,21,29,11 flags: Maybe someone can use it to point at the problem. |
All times are GMT -5. The time now is 04:16 PM. |