Subject: Floppy problems.
To: None <current-users@sun-lamp.cs.berkeley.edu>
From: None <Jarle.F.Greipsland@idt.unit.no>
List: current-users
Date: 05/29/1994 16:19:31
Hi, I've been seeing the same problems as Kim with regards to floppies.  I
think there are two separate problems here:

"disklabel -r fd0" will produce errors because disklabel will assume you
want to access /dev/rfd0d ('d' being the default "whole device partition").
With a floppy station differing from a straight 360K one, this means
trouble.

If the floppy is a pre-labeled BSD floppy "disklabel -r fd0a" will work OK.
If the floppy is *not* a BSD floppy both "disklabel -w -r fd0a floppy" and 
"disklabel -r fd0a" both produces this console output:
May 29 15:52:47 darling /netbsd: fd0: read failed st0 40<abnrml> st1 1<no_am> st
2 0 cyl 0 head 0 sec 2
May 29 15:52:47 darling /netbsd: blkno 1 skip 0 cylin 0 status 40
May 29 15:52:47 darling /netbsd: fd0: seek failed st0 80<invld> cyl 1
May 29 15:52:48 darling /netbsd: fd0: read failed st0 40<abnrml> st1 1<no_am> st
2 0 cyl 0 head 0 sec 2
May 29 15:52:48 darling /netbsd: blkno 1 skip 0 cylin 0 status 40
May 29 15:52:48 darling /netbsd: fd0: read failed st0 40<abnrml> st1 1<no_am> st
2 0 cyl 0 head 0 sec 2
May 29 15:52:48 darling /netbsd: blkno 1 skip 0 cylin 0 status 40
May 29 15:52:48 darling /netbsd: fd0: read failed st0 40<abnrml> st1 1<no_am> st
2 0 cyl 0 head 0 sec 2
May 29 15:52:49 darling /netbsd: blkno 1 skip 0 cylin 0 status 40
May 29 15:52:49 darling /netbsd: fd0: read failed st0 40<abnrml> st1 1<no_am> st
2 0 cyl 0 head 0 sec 2
May 29 15:52:49 darling /netbsd: blkno 1 skip 0 cylin 0 status 40
May 29 15:52:49 darling /netbsd: fd0d: hard error reading fsbn 1 (st0 40<abnrml>
 st1 1<no_am> st2 0 cyl 0 hd 0 sec 2)

The labeling however will succeed......

I think the error messages are caused by a piece of code in readdisklabel()
around line 100 in /sys/arch/i386/i386/disksubr.c:

        /* request no partition relocation by driver on I/O operations */
        bp->b_dev = makedev(major(dev), dkminor((dkunit(dev)), 3));

Isn't this a hardcoded reference to partition 'd'?  This might explain why
it tries to read from fd0d.  I may be wrong though.....

					-jarle
----
"-rw-rw-rw-: file permissions of the Beast"

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