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 ...
-
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
-
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
-
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
-
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
-
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...
-
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?
-
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+0x2d
rb %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