Floppy experiment requested
"Charles Lindsey" <[email protected]>
| Newsgroups | gmane.os.solaris.at-home |
|---|---|
| Message-ID | <[email protected]> |
I suspect I have found a bug in the floppy disc driver (fd.c, which can be
viewed on www.opensolaris.org). However, it is possible that there is a
hardware problem on my machine, so I am requesting people on this list to
see if they can reproduce it.
I am using Solaris 10-u1 on an Ultra-2, but I would expect the same
problem might exist on other platforms and on earlier OSes, since I doubt
the fd driver has changed signficiantly in years.
Here is how to reproduce it.
1. Ensure that power management is on ("autopm enable" in /etc/power.conf)
with a sensible timout, e.g. "system-threshold 900s" (or "15m").
2. Ensure that /vol/dev/*diskette* are emtpy. If not, 'eject fd' and wait
15 minutes for pm to timeout. Volmgt should be running, of course.
3. Ensure that there is NO floppy in the drive, and that there has been no
floppy activity for 15 minutes.
4. If you have Solaris 10, run (as root) 'dtrace -F -m fd' so that you can
ensure that fd_pm_raise_power gets called during the next step.
5. Do 'volcheck -v /dev/diskette0'.
If it reports "/dev/diskette0 has media", then you have seen the bug,
It should, of course, have said "/dev/diskette0 has no media" and if,
after seeing the bug, you do another eject and another volcheck (whilst
the power is still up, of course), it will then get it right.
The cause of the problem is that, to see whether there is a disc present,
you need to see the DSKCHG signal from the floppy drive, and to see that
signal the drive has to be selected. But it seems that fd.c deselects the
drive at the end of restoring the power and so fails to observe that
signal.
YMMV :-)
--
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131
Web: http://www.cs.man.ac.uk/~chl
Email: [email protected] Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5