Floppy problems Solaris 10 - Solaris

This is a discussion on Floppy problems Solaris 10 - Solaris ; A couple of years ago, Ravi Mann reported as follows: I'm having a problem with Solaris reading from or writing to floppies. The drive works fine under WinXP and I can even boot from the Solaris DCA floppy. I've tried ...

+ Reply to Thread
Results 1 to 7 of 7

Thread: Floppy problems Solaris 10

  1. Floppy problems Solaris 10

    A couple of years ago, Ravi Mann reported as follows:

    I'm having a problem with Solaris reading from or writing to floppies.
    The
    drive works fine under WinXP and I can even boot from the Solaris DCA
    floppy. I've tried several DOS formatted disks and cannot read from,
    or
    format any of them.

    I'm running Solaris 8 x86 2/02, and the procedure I have used is as
    follows.

    After inserting the disk I use volcheck:

    # volcheck -v
    media was found

    I run Removable Media Manager and can see the icon: (...unformatted)
    floppy0

    But, on running # ls /, or # df, the directory /floppy does not exist
    (/cdrom does exist and works fine).

    So I tried to format a disk using:

    # fdformat -d (also used fdformat -v -U -d)

    On some disks I got the output:

    fdformat: no diskette in drive /vol/dev/rdiskette0/unknown_format

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

    No answer was forthcoming. I have much the same problems wityh a
    recently installed Solaris 10 system. The system knows that the drive
    is there but, for example when trting to format using CDE media
    format, the drive goes on for a second only then nothing more happens.
    Has anyone an answer to this? Presently the floppy system is quite
    unusable.

    John


  2. Re: Floppy problems Solaris 10



    John wrote:
    >
    > A couple of years ago, Ravi Mann reported as follows:
    >
    > I'm having a problem with Solaris reading from or writing to floppies.
    > The
    > drive works fine under WinXP and I can even boot from the Solaris DCA
    > floppy. I've tried several DOS formatted disks and cannot read from,
    > or
    > format any of them.
    >
    > I'm running Solaris 8 x86 2/02, and the procedure I have used is as
    > follows.
    >
    > After inserting the disk I use volcheck:
    >
    > # volcheck -v
    > media was found
    >
    > I run Removable Media Manager and can see the icon: (...unformatted)
    > floppy0
    >
    > But, on running # ls /, or # df, the directory /floppy does not exist
    > (/cdrom does exist and works fine).
    >
    > So I tried to format a disk using:
    >
    > # fdformat -d (also used fdformat -v -U -d)
    >
    > On some disks I got the output:
    >
    > fdformat: no diskette in drive /vol/dev/rdiskette0/unknown_format
    >
    > -----------------------------
    >
    > No answer was forthcoming. I have much the same problems wityh a
    > recently installed Solaris 10 system. The system knows that the drive
    > is there but, for example when trting to format using CDE media
    > format, the drive goes on for a second only then nothing more happens.
    > Has anyone an answer to this? Presently the floppy system is quite
    > unusable.
    >
    > John



    John,

    I don't know if this is applicable to Solaris 10 X86, but I think that I
    ran across a similar (or same) problem with Solaris 9 X86 awhile ago,
    and I found a patch for the floppy driver. Here's a thread from awhile
    ago, and hope that it helps:

    http://groups.google.com/group/alt.s...6cc4577dee5456

  3. Re: Floppy problems Solaris 10

    ohaya,

    That is the most amazing fix I've ever come across, and it worked
    perfectly!

    I would never in a million years have been able to solve it myself. The
    assembler code and addresses were a little different for Solaris 10 but
    it was clear that the objective was to turn off the bit in the xorl
    instruction. I just had to use a slightly different address for the
    patch.

    Many thanks for your help!

    John


  4. Re: Floppy problems Solaris 10



    John wrote:
    >
    > ohaya,
    >
    > That is the most amazing fix I've ever come across, and it worked
    > perfectly!
    >
    > I would never in a million years have been able to solve it myself. The
    > assembler code and addresses were a little different for Solaris 10 but
    > it was clear that the objective was to turn off the bit in the xorl
    > instruction. I just had to use a slightly different address for the
    > patch.
    >
    > Many thanks for your help!
    >
    > John



    John,

    You're welcome. When I first ran into the problem, it took me quite
    awhile to run across the fix, so I'm really glad it worked for you.
    This is one of the items I keep in my "Lessons Learned" file ...

    Jim

  5. Re: Floppy problems Solaris 10



    ohaya wrote:
    >
    > John wrote:
    > >
    > > ohaya,
    > >
    > > That is the most amazing fix I've ever come across, and it worked
    > > perfectly!
    > >
    > > I would never in a million years have been able to solve it myself. The
    > > assembler code and addresses were a little different for Solaris 10 but
    > > it was clear that the objective was to turn off the bit in the xorl
    > > instruction. I just had to use a slightly different address for the
    > > patch.
    > >
    > > Many thanks for your help!
    > >
    > > John

    >
    > John,
    >
    > You're welcome. When I first ran into the problem, it took me quite
    > awhile to run across the fix, so I'm really glad it worked for you.
    > This is one of the items I keep in my "Lessons Learned" file ...
    >
    > Jim


    P.S. I'm kind of surprised that this problem wasn't fixed in Solaris 10
    X86, since I originally ran into it on Solaris 9 (4/04), I think...

  6. Re: Floppy problems Solaris 10



    ohaya wrote:
    >
    > ohaya wrote:
    > >
    > > John wrote:
    > > >
    > > > ohaya,
    > > >
    > > > That is the most amazing fix I've ever come across, and it worked
    > > > perfectly!
    > > >
    > > > I would never in a million years have been able to solve it myself. The
    > > > assembler code and addresses were a little different for Solaris 10 but
    > > > it was clear that the objective was to turn off the bit in the xorl
    > > > instruction. I just had to use a slightly different address for the
    > > > patch.
    > > >
    > > > Many thanks for your help!
    > > >
    > > > John

    > >
    > > John,
    > >
    > > You're welcome. When I first ran into the problem, it took me quite
    > > awhile to run across the fix, so I'm really glad it worked for you.
    > > This is one of the items I keep in my "Lessons Learned" file ...
    > >
    > > Jim

    >
    > P.S. I'm kind of surprised that this problem wasn't fixed in Solaris 10
    > X86, since I originally ran into it on Solaris 9 (4/04), I think...


    P.P.S (Sorry for all the post-scripts ): Might I suggest that you
    post the patch or instructions that you had to use here (along with the
    specific Solaris 10 X86 version), just for the record?

  7. Re: Floppy problems Solaris 10

    Jim,
    Yes, its odd that Solaris 10 still has that problem. But it seems
    not to be general and to be related in some way to the computer
    hardware. As a matter of interest, I loaded Solaris 10 onto an older
    500MHz Pentium PC and had no trouble with the floppy drive. My copy
    came from a DVD with the July 2005 issue of the Australian Personal
    Computer magazine. I wonder whether it was an earlier,
    release-candidate version? I've loaded all the patches I'm allowed to
    do as a non-paying customer of Sun and that did not alter the
    situation, other than to give me other problems related to screen
    resolution (keeps on booting up at 1400x1050 despite being told that
    1280x1-24 is the default).

    Anyway, for anyone who has this problem, this is the process I went
    through, much the same as you did:

    Have a look at the change sensing code

    # echo 'fdcsense_chng+2d,c?ia' | adb -k
    physmem f78e
    fdcsense_chng+0x2drb %cl,0xc0832443(%ebx)
    fdcsense_chng+0x33: popl %es
    fdcsense_chng+0x34: pushl %eax
    fdcsense_chng+0x35: movl (%esp),%edx
    fdcsense_chng+0x38: xorl %eax,%eax
    fdcsense_chng+0x3a: inb (%dx)
    fdcsense_chng+0x3b: addl $0x4,%esp
    fdcsense_chng+0x3e: cmpl $0x2,0x38(%ebx)
    fdcsense_chng+0x42: jne +0x7
    fdcsense_chng+0x44: xorl $0x80,%eax
    fdcsense_chng+0x49: andl $0x80,%eax
    fdcsense_chng+0x4e: popl %ebx
    fdcsense_chng+0x4f:

    Alter the xorl instruction (nothing permanent at this stage)

    # echo 'fdcsense_chng+0x45?W0' | adb -wk
    physmem 3f78e
    fdcsense_chng+0x45: 0x80 = 0x0

    Shut down the vol management process

    # /etc/init.d/volmgt stop

    Check that the floppy is readable

    # dd if=/dev/diskette of=/dev/null bs=18k
    80+0 records in
    80+0 records out

    Back up the original fdc kernel code

    # cp /platform/i86pc/kernel/drv/fdc /platform/i86pc/kernel/drv/fdc.orig

    Re-issue the change, this time making it permanent

    # echo 'fdcsense_chng+0x45?W0' | adb -w /platform/i86pc/kernel/drv/fdc0
    # xlf4b: 0x80 =
    0x0

    Restart vol management

    # /etc/init.d/volmgt start

    John


+ Reply to Thread