SUMMARY: is there for a nonevasive look at SIMMS in one's SPARCstation?

From: Howard Modell (howie@warlok.ds.boeing.com)
Date: Wed Jan 29 1997 - 16:12:53 CST


Wow!!!! This list is fast!!!! barely an hour or so and I've
got my answer already. While I wish to thank several people who
have responded (correctly), and that thanks go to replies I probably
haven't seen yet <g>, I will include the first one as a representative
sample.

----- the original question -----

sometime in the past half-year, I recall seeing a thread either here
or in USENET in which someone described how to deduce the kinds and
layout of SIMMS in their slots with one's workstation. It involved
analysing the output of some non-obvious command.

Does anyone recall this, or know how the trick is done? I've got
several workstations that I want to consider memory upgrades for
and don't really want to interrupt people's work to open 'em up
to actually *look* at the SIMM, assuming I can tell from looking
at them what denominations they are.

Any help or pointers would be appreciated.

<signed>
Howard S. Modell
________________________________________________________________________
 Adv.Computing Technologist/2 POBox 3707, m/s 4A-25, Boeing D&SG
 howard.s.modell@boeing.com Seattle, WA 98124-2207
 http://warlok.ds.boeing.com/~howie/ (206)662-0189[v] (206)662-4018[f]

---------

----- first of several replies -----

>From clg@csph.psu.edu Wed Jan 29 12:29:43 1997
Date: Wed, 29 Jan 1997 15:29:35 -0500
From: clg@csph.psu.edu (Craig L. Gruneberg)
To: howie@warlok.ds.boeing.com
Subject: Re: is there for a nonevasive look at SIMMS in one's SPARCstation?
Content-Length: 526

> From howie@warlok.ds.boeing.com Wed Jan 29 15:09:48 1997
> Date: Wed, 29 Jan 1997 10:47:10 -0800
> From: howie@warlok.ds.boeing.com (Howard Modell)
> To: sun-managers@eecs.nwu.edu
> Subject: is there for a nonevasive look at SIMMS in one's SPARCstation?
> Mime-Version: 1.0
>
> sometime in the past half-year, I recall seeing a thread either here
> or in USENET in which someone described how to deduce the kinds and

Try this:

1. Connect to http://www.dataman.nl/cgi-bin/sunmanagers
2. Search for "simm types"

-craig
 
----- End Included Message -----

this got me to the Sun-Managers thread I wanted, as the first "hit".

----- Begin Included Message -----

>To: sun-managers@eecs.nwu.edu
>Subject: SUMMARY: memory simms sizes and Solaris 2.5
>Date: Wed, 11 Sep 1996 17:12:59 -0600

This one is a long time coming..

ORIGINAL question:
>Awhile back there was a post about how you could tell what type of memory
>simms were installed in your system.
>
>For Solaris you use the "prtconf -pv" command, go to the memory section
>and look for the "reg" line. Everything is grouped in units of three:
>
>EX:
>prtconf -pv
> .. stuff delted ..
> Node 0xffd5c740
> reg:
>
00000000.00000000.04000000.00000000.04000000.04000000.00000000.10000000.0400
0000.00000000.14000000.04000000
> available:
>
00000000.17f39000.00013000.00000000.10000000.072f3000.00000000.00000000.08000000
> name: 'memory'
>
> the reg line breaks down to:
>00000000.00000000.04000000 The Last number is 04000000, which is 64MB
>00000000.04000000.04000000 01 is 16MB
>00000000.10000000.04000000 02 is 32MB
>00000000.14000000.04000000 04 is 64MB...
>
>This all seems to break under Solaris 2.5

----- End Included Message -----

On an UltraSPARC, the "reg:" values seem to be in groups of 4 (not 3),
don't ask me why.

I've written a PERL script to encapsulate this, and it seems to work
fine on my SPARC 5's, 10's, 20's, and our UltraSPARC 170.

ex. on my SPARC 20 --
$ memconf
slot 1 has a 64M SIMM
slot 2 has a 16M SIMM
slot 3 has a 16M SIMM
slot 4 has a 16M SIMM
slot 5 has a 16M SIMM
total memory = 128M

on our Ultra ..
$ memconf
slot 1 has a 64M SIMM
slot 2 has a 32M SIMM
slot 3 has a 32M SIMM
slot 4 has a 32M SIMM
total memory = 160M

the totals are correct thus I will trust the sizes and distributions.

Here's the script "memconf":

#!/bin/perl
#
@config = `/usr/sbin/prtconf -pv`;
$i = 0;
foreach $line (@config)
{
        if ( $line =~ /\sname:\s+'memory'/ )
        {
                $j = $i - 2;
                if ($config[$j] =~ /\sreg:/)
                {
                        $gotit = $config[$j];
                        chop $gotit;
                        goto GotIt;
                }
        }
        $i = $i + 1;
}
printf "no 'memory' line??\n";
exit;

GotIt:
$gotit =~ s/\s+reg:\s+//;
$gotit =~ s/'//g;
@slots = split(/\./, $gotit);
$slot = 1;
$totmem = 0;
$machine = `/usr/bin/uname -m`;
if ($machine =~ /sun4u/)
{
        $val0 = 3;
        $valinc = 4;
}
else
{
        $val0 = 2;
        $valinc = 3;
}
for($val=$val0; $val < scalar(@slots); $val = $val + $valinc)
{
        $simm = $slots[$val];
        if ($simm eq "04000000")
        {
                $simmsize = 64;
        }
        if ($simm eq "02000000")
        {
                $simmsize = 32;
        }
        if ($simm eq "01000000")
        {
                $simmsize = 16;
        }
        $totmem += $simmsize;
        printf "slot $slot has a " . $simmsize . "M SIMM \n";
        $slot = $slot + 1;
}
printf "total memory = " . $totmem . "M\n";
 



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:11:44 CDT