> (btw, volcheck didn't react to floppies on my machine here)

What happens when you stop vold, and try to read from the PS/2 floppy using dd?

    # /etc/init.d/volmgt stop
    # dd if=/dev/rdiskette of=/dev/null bs=18k

Does that report I/O errors?

For Solaris 8 x86 .. Solaris 10 x86, most users that reported floppy drive 
problems
with S-x86 have been able to fix this using a binary patch to the Solaris fdc 
driver,
for example for Solaris 9 x86:

    http://www.riddleware.com/solx86/solarisonintel/msg36664.html


On certain modern x86 machines the floppy controller is mis-identified as a 
"PS/2
Model 30" controller [1] and for the model 30 hardware the Solaris x86 fdc 
driver
contains a special workaround for the interpretation of the "disk change 
signal" [2].

The result is that the fdc driver signals "the floppy media was changed" when 
the
media wasn't changed at all.  And as soon as a media changed was detected, all
attempts to access the floppy result in EIO errors.

[1] http://cvs.opensolaris.org/source/xref/usr/src/uts/common/io/fdc.c#587

    586                 /* first test for mode == Model 30 */
    587                 fcp->c_mode = (inb(fcp->c_regbase + FCR_SRB) & 0x1c) ?
    588                     FDCMODE_AT : FDCMODE_30;

[2] http://cvs.opensolaris.org/source/xref/usr/src/uts/common/io/fdc.c#1684

   1683         digital_input = inb(fcp->c_regbase + FCR_DIR);
   1684         if (fcp->c_mode == FDCMODE_30)
   1685                 digital_input ^= FDI_DKCHG;
   1686         return (digital_input & FDI_DKCHG);
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to