Hey, thanks to everyone for the fast responses. My original question was:
> I have several Sparc20s running SunOS4.1.3, and I need to order secondary processors
> for them. I apparently need to install CPUs of the same speed as the existing ones,
> but I don't know what they have now. Is there a software command to query the
> CPU speed? If not, I can take one of them apart, but I'd rather not.
There were three general trains of thought on the subject, with a couple
good suggestions and a few words of caution.
One solution was to run the appended script recommended by the following
people:
From: John Mendenhall[SMTP:jmende01@mcs.eds.com]
From: Russ Poffenberger[SMTP:poffen@San-Jose.ate.slb.com]
From: Thomas Chai[SMTP:jhchai@bass.com.my]
From: Claus Assmann[SMTP:ca@mine.informatik.uni-kiel.de]
From: Martin Oksnevad[SMTP:martin@stavanger.Geco-Prakla.slb.com]
It uses the /usr/etc/devinfo command for SunOS4, which was also suggested
apart from this script.
---- cut here ----
#!/bin/sh
#
# sunmodel
#
# Parse output from devinfo/prtconf
# and display the kind of Sun and its clock
# frequency.
#
# Jan Wortelboer (janw@fwi.uva.nl)
# idea from Chris Metcalf, metcalf@lcs.mit.edu
# version 1.6.1 6 April 1994
# changed trying to adjust to SPARCstation 20 and SPARCstation 5
version=`uname -r`
hostje=`uname -n`
name=
bname=
freq=0
cpus=0
cpu=
cpuc=
cpuf=0
name_freq=0
fb=
export name bname freq
case $version in
6.*|5.*)
# solaris machine
pr_conf="/usr/sbin/prtconf -vp"
;;
4.*)
# sunos 4 machine
pr_conf="/usr/etc/devinfo -vp"
;;
*)
echo cant determine sunmodel
exit 1
;;
esac
$pr_conf | ( egrep 'clock-frequency:|name:|cgthree|cgsix|cgtwelve' ; echo end ) | while read pr_line
do
case $pr_line in
clock-frequency:*)
if [ "$freq" = 0 ]
then
set $pr_line
hex_freq=`echo $2 | tr '[a-z]' '[A-Z]'`
freq=` ( echo "ibase=16" ; echo $hex_freq ) | bc`
freq=`expr $freq \/ 100000 | sed 's/\(.*\)\(.\)/\1.\2/'`
else
set $pr_line
name_hex_freq=`echo $2 | tr '[a-z]' '[A-Z]'`
name_freq=` ( echo "ibase=16" ; echo $name_hex_freq ) | bc`
name_freq=`expr $name_freq \/ 100000 | sed 's/\(.*\)\(.\)/\1.\2/'`
fi
;;
banner-name:*)
bname=`echo $pr_line | sed 's/.*banner-name:[ ]*//'`
#pcount=`echo $pr_line | sed 's/.*(\(.*\) X.*//'`
;;
*cgthree*)
fb=CG3
;;
*cgsix*)
fb=GX
;;
*cgtwelve*)
fb=GS
;;
name:*)
if [ "$name" = "" ]
then
name=`echo $pr_line | sed 's/.*name:[ ]*//'`
if [ "$bname" = "" ]
then
bname=$name
fi
fi
case $name in
*4/20*)
bname="'SPARCstation SLC'"
;;
*4/25*)
bname="'SPARCstation ELC'"
;;
*4/40*)
bname="'SPARCstation IPC'"
;;
*4/50*)
bname="'SPARCstation IPX'"
;;
*4/60*)
bname="'SPARCstation 1'"
;;
*4/65*)
bname="'SPARCstation 1+'"
;;
*4/75*)
bname="'SPARCstation 2'"
;;
esac
fname=`echo $pr_line | sed 's/.*name:[ ]*//'`
case $fname in
*Cypress,CY605*)
cpu='Cypress,CY605'
cpus=`expr $cpus + 1`
cpuf=$name_freq
cpuc=
;;
*TI,TMS390Z55*)
cpu="Texas Instruments TMS390Z55 1MB S.Cache"
cpus=`expr $cpus + 1`
cpuf=$name_freq
cpuc=1
;;
*TI,TMS390Z50*)
cpu="Texas Instruments TMS390Z50"
cpus=`expr $cpus + 1`
cpuf=$name_freq
cpuc=
;;
*TI,TMS390S10*)
cpu="Texas Instruments TMS390S10 (MicroSparc)"
cpus=`expr $cpus + 1`
cpuf=$name_freq
cpuc=
;;
esac
name_freq=0
;;
end)
if [ $cpuf = 0 ]
then
cpuf=$freq
fi
if [ `expr "$bname" : "'.*39.Z.*'"` != 0 -a `expr "$bname" : ".*[21]000.*"` = 0 ]
then
case $cpuf in
33.0|30.0)
if [ "$cpus" != 1 ]
then
bname="$bname '(Model 2$cpus)'"
else
bname="$bname '(Model 20)'"
fi
freq=$cpuf
;;
36.0)
if [ "$cpus" != 1 ]
then
bname="$bname '(Model 3$cpus)'"
else
bname="$bname '(Model 30)'"
fi
freq=$cpuf
;;
40.3)
if [ "$cpus" != 1 ]
then
bname="$bname '(Model 4${cpuc}${cpus})'"
else
bname="$bname '(Model 41)'"
fi
freq=$cpuf
;;
45.0|50.0)
if [ "$cpus" != 1 ]
then
bname="$bname '(Model 5${cpuc}${cpus})'"
else
bname="$bname '(Model 51)'"
fi
freq=$cpuf
;;
60.*)
if [ "$cpus" != 1 ]
then
bname="$bname '(Model 6${cpuc}${cpus})'"
else
bname="$bname '(Model 61)'"
fi
freq=$cpuf
;;
esac
else
if [ $cpus -gt 1 ]
then
bname="$bname ($cpus X $cpu cpus)"
fi
fi
echo Machine $hostje: $bname @ $cpuf MHz
;;
*)
echo -n
;;
esac
done
---------------------
From: Michael Tripoli[SMTP:miket@Seagate.COM]
Use these commands to determine your modules speed.
/usr/etc/devinfo -pv (SunOS 4.1.3)
/usr/sbin/prtconf -pv (Sun0S 5.x)
I ran this on a SS10, look for the following:
Node 0xffd4b4e0
clock-frequency: 02faf080
implementation: 00000000
version: 00000001
name: 'TI,TMS390Z55'
"name" = TI,TMS390Z50 for a model 30
"name" = TI,TMS390Z55 for a model 40 or 41
"name" = TI,TMS390Z55 for a model 51
"clock-frequency" is the speed of the module clock in hexadecimal.
frequency model
------------------------
02255100, 36 MHz 30
02625a00, 40 MHz 41
02faf080, 50 MHz 51
Be aware, there are three instances of clock-frequency for various nodes.
These correspond to the SBus speed, the M/XDbus speed and the module
speed. Be certain to reference the clock-frequency entry for the module
node.
Michael Tripoli
Seagate Technology, Inc.
Email: miket@seagate.com
Voice: (408)439-7624
FAX #: (408)439-7313
=============================================================================
Another solution was to halt the system and use the 'module-info' command
from the ok> prompt. I'll try this the next time I halt the systems.
Thanks to:
From: Paul Woods[SMTP:woodsp@smtplink.Indigo.co.il]
From: Peter Savage[SMTP:peter@ukhayq.CV.COM]
From: Glenn Satchell[SMTP:Glenn.Satchell@uniq.com.au]
From: Endre Polgar Technical Support Engineer ICON Ltd.[SMTP:epolgar@petra.icon.hu]
From: floating point solutions ltd[SMTP:john@float.demon.co.uk]
A good suggestion was:
From: Martin Oksnevad[SMTP:martin@stavanger.Geco-Prakla.slb.com]
The program will tell you if you have a model 50, 51, 61 or 71.
DON'T just buy a second processor for all the SS20 machines as they are.
You should combine two and two equal CPUs from the machines you have
into dual CPU machines and buy additional faster CPUs of your preferance
for the machines which will be without CPUs. Ie. if all your machines
are model 51 don't buy additional 51 CPUs and make all the SS20s model
512s, but buy model 71 CPUs and make some faster model 712s in addition
to the 512s made out of the CPUs you have now.
Martin
===================================================================
And also, the sysinfo program:
From: Petros Michalis[SMTP:michalis@dpg.rnb.com]
Lisa,
sysinfo will do the job for you, you can find it in any sunsite and
probably on uunet and wuarchive. If you opt to open up the stations,
you will find the MHz info right on the crystal on the CPU board(s),
usually located near the end of the board.
Regards,
Petros
===================================================================
Some words of caution:
From: Chris Petroff[SMTP:chris@caissa.onenet.net]
You will need to upgrade to Solaris 2 in order to use more than one processor.
Solaris 1 does not have the ability to run in multiprocessor mode. You
can install additional proessors, but only one will be used until you move
to Solaris 2.x
From: Martin Oksnevad[SMTP:martin@stavanger.Geco-Prakla.slb.com]
Warning 1: You need boot-prom revision 2.22 before you can use
one or two model 71 CPUs in a SS20 (also valid for SS10).
Sun will sell you a new boot-prom for less than $100 if
you don't get a new boot-prom together with your new CPUs.
Warning 2: Sun claims that dual CPU configurations with SunOS4.1.3 is
unsupported. Many are running SunOS4.1.3 on dual CPU machines
with luck but if it doesn't work for you you have to go back
to a single CPU configuration.
Which is just another good reason to upgrade to Solaris 2, which I'm
planning in the next few months. Thanks.
===================================================================
Thanks again to everyone.
Lisa
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:10:31 CDT