Sun Managers Frequently Asked Questions (FAQ)

John DiMarco (jdd@cdf.toronto.edu)
Sun, 02 Mar 1997 00:30:06 -0500

Archive-name: sun-managers-faq

Sun-Managers' Frequently Asked Questions
$Id: faq,v 3.106 1997/02/17 15:05:22 jdd Exp $

This is collection of common questions posted to the sun-managers mailing
list twice a month. It is intended to benefit Sun System Managers and
reduce traffic to the list by providing quick answers to common problems.

Keeping with the style of a similar FAQ for comp.windows.x, questions
marked with a '+' indicate questions new to this issue; those with
significant changes of content since the last issue are marked by '*'

The current FAQ maintainer is John DiMarco (jdd@cdf.toronto.edu). However,
all corrections/submissions should be sent to "sun-managers-faq@ra.mcs.anl.gov".

-----------------------------------------------------------------------------
Questions

1. The Sun-Manager's Mailing list
1.1) How do I read, join, post to, or remove myself from the
sun-managers mailing list?
1.2) What is the Sun-Manager's Charter? What are the rules?
1.3) Are there any archives for the sun-managers list?
1.4) What should I keep in mind when posting to sun-managers?
1.5) What other forums are there for Suns?

2. Getting Help Over the Net
2.1) How do I find out what patches are available from Sun?
2.2) What is "anonymous ftp" and how do I use it?
2.3) How do I find anonymous ftp sites?
2.4) How do I get help upgrading to Solaris 2.x?

3. NIS, NIS+, DNS, and NFS
3.1) How do I set up NIS/YP to use DNS?
3.2) How do I use DNS instead of NIS for hostname resolution?
3.3) What does the "nres_gethostbyaddr !=" error mean?
3.4) How come yppasswdd does not automatically update the yp maps?
3.5) What does "NFS write error X" mean?
3.6) What does NFS getattr failed/RPC: Authentication error mean?
3.7) How do I change NIS+ credentials for the root master server?
3.8) When I compile something, errors occur saying _dlopen
and other _dl routines can't be found. Why?

4. Window Systems
4.1) Can I run both OpenWindows and MIT X11?
4.2) How do I run X11R5 on Solaris 2.x?
4.3) Why does my OpenWindows File Manager abort with a
"mknod: permission denied"?

5. Disks, Tapes and SCSI
5.1) What is the format.dat entry for drive X?
5.2) Can I use a disk greater than 700meg?
5.3) How do I move disks from xy451 to xy753/7053 disk controllers?
5.4) Why does my internal 105 megabyte hard disk stop working?
5.5) Can I replace the 105 megabyte internal drive in a SS1/1+
with a higher capacity model?
5.6) How do I enable synchronous SCSI?
5.7) Is it okay to disconnect or connect SCSI devices while
powered on?
5.8) How do I configure a sun to use its local disk(s) for
swap but not for root?
5.9) My HP DAT drive is running very slowly on my sun running
4.1.x. How do I fix this?
5.10) How do I configure my sun to use Exabyte 4mm DAT tape drives?
5.11) Why is tagged queueing a problem on my third-party
SCSI disk under Solaris 2.x?
5.12) Why don't third-party CD-ROMS work on my sun?
5.13) How do I support Exabyte 8505C 8mm tape drives on SunOS 4.x?
5.14) What size and density parameters should I use for dump with
a high-capacity tape drive?

6. Resource Management and Performance Tuning
6.1) How do I tell what caused my machine to crash?
6.2) What can I do if my machine slows to a crawl or just hangs?
6.3) How do I find out how much physical memory a machine has?
6.4) How do I find out what my machine's memory is being used for?
How can I tell if I need more memory?
6.5) Why do some files take up more disk space after being copied?
Why are the sizes reported by ls -l and du different?

7. Anonymous FTP Service
7.1) How do I set up anonymous ftp on my machine?
7.2) Where can I get a version of ftp that does logging?

8. Consoles, Keyboards and Key Remapping
8.1) How do I make the numeric keypad on a type 5 keyboard
work with xterm?
8.2) How do I swap the CAPS LOCK and CONTROL keys on a type
5 keyboard under Openwindows 3.x?
8.3) How do I use the keyboard and display when the console is
on ttya?

9. Sun models and OS Versions
9.1) Which Sun models run which version of SunOS?
9.2) How can my program tell what model Sun it is running on?
9.3) What MBUS CPU modules are available? How can I tell
what module(s) is/are in what model of SS10/SS20/SS600?

10. Miscellaneous Software
10.1) My rdump is failing with a "Protocol botched" message.
What do I do?
10.2) My rpc.etherd keeps reporting "bad lnth" messages. Why?
10.3) Various daemons report "unknown service" messages. Why?
10.4) * Solaris 2.x does not have a C compiler. Where can I get one?

11. Miscellaneous Hardware
11.1) How come my mouse occasionally doesn't work?
11.2) How can I turn my Sun3 into an X-Terminal?
11.3) How do I do hardware flow control on an ALM-2?
11.4) Is there a third-party source for SPARCprinter consumables?
11.5) How can I use a VGA monitor on my Sun?

12. Networking
12.1) Why do both my net interfaces have the same ethernet address?

13. Electronic Mail
13.1) Where can I get a POP or IMAP server for my sun?

Answers

-----------------------------------------------------------------------------
1. The Sun-Manager's Mailing list
-----------------------------------------------------------------------------
Subject: 1.1) How do I read, join, post to, or remove myself from the
sun-managers mailing list?

To have your mailing address added to or removed from the mailing list,
send a request to "sun-managers-request@ra.mcs.anl.gov". The request should
contain simply one line which says either "add" or "remove". You can
specify the particular e-mail address to be added after the word "add".
Messages can be posted to the list by mailing them to the address
"sun-managers@ra.mcs.anl.gov". Do not do this until you have read the
charter (question 1.2).

If you wish to send a message to the sun-managers list, it is strongly
recommended that you first read the list's policy statement. This
statement is sent to the entire list on the first and 16th of every
month. It is also sent out to every new subscriber and is available via
anonymous FTP (see question 4) from "ra.mcs.anl.gov" in the file
"/sun-managers/policy". The policy statement includes instructions for
sending a message to the entire list.

The latest version of the FAQ list (this file) is also available on
"ra.mcs.anl.gov" in the file "/sun-managers/faq".

-----------------------------------------------------------------------------
Subject: 1.2) What is the Sun-Manager's Charter? What are the rules?

1: This list is NOT moderated! Every message that is sent to the list
will be passed on to every member of the list (with a few small
exceptions).

2: Requests to have addresses added or removed from the list should NOT
be sent to the entire list. Instead, they should be mailed to:
sun-managers-request@ra.mcs.anl.gov as described in the previous
question.

3: This list is intended to be a quick-turnaround trouble shooting aid
for those who administer and manage Sun systems. Its primary purpose
is to provide the Sun manager with a quick source of information for
system management problems that are of a time-critical nature.

4: Answers to questions are to be mailed back to the questioner and are
NOT to be sent to the entire list. The person who originally asked
the question has the responsibility of summarizing the answers and
sending the entire summary back to the list. When a summary is sent
back to the list, it should contain the word "SUMMARY" as the first
word of the "Subject" line.

5: Discussions on ANY topic are not allowed and will not be tolerated.
If you want to discuss something, take it to the appropriate
Sun newsgroup.

6: If it is not specifically related to Sun system management, then it
does NOT belong on this list. Requests for vendor recommendations
are tolerated, provided that the hardware in question is something that
system managers normally purchase.

7: COMMERICAL ADVERTISING of any sort on the list IS STRICTLY PROHIBITED.
ABUSERS of this rule MAY BE BANNED from the list without notice.

8: Requests for software (free or otherwise) should be limited to
software that is directly related to Sun SYSTEM MANAGEMENT ONLY.

9: Read the appropriate manuals BEFORE posting, including the "Read
This First" documents. Often times the manuals contain answers for
common problems.

10: When including a traceback from a system panic, make sure that it is
a SYMBOLIC traceback. Numeric tracebacks (the ones included as part
of the panic message) are totally useless. Read eg. chapter 22 of the
SunOS 4.1 system administration manual to learn how to produce a
symbolic traceback.

11: PLEASE PLEASE PLEASE...Think before you send a message! Ask yourself
"is this really appropriate?" There are enough other newsgroups
and mailing lists around to cover the marginal topics. Perhaps there
is another forum that is more appropriate. Check the list of Sun
specific newsgroups mentioned in answer 1.5. Perhaps your
message would be more appropriate there.

If after reading all the guidelines you decide that you still want to
send your message to the entire sun-managers readership, then mail it
to the address "sun-managers@ra.mcs.anl.gov".

Failure to adhere to these guidelines may result in severe chastisement by
the list maintainer and other list participants. Not only will you succeed
in looking like a careless fool, and in making Sun Systems Managers all
over the world annoyed at your stupidity, you may end up damaging your
professional reputation.

-----------------------------------------------------------------------------
Subject: 1.3) Are there any archives for the sun-managers list?

The site "www.LaTech.edu" archives every summary sent to the list.
Questions are not archived. This site provides access to its archives via
the HTTP (WWW), WAIS, and gopher protocols. It does not provide any
anonymous FTP access.

You can access the archives over the World Wide Web by referencing the
URL "http://www.latech.edu/sunman.html" from any web browser. This is
the preferred way to access the archives.

WAIS is the "Wide Area Information Server", an experimental system that
provides for automatic search and retrieval of many types of electronic
information. Source for Unix WAIS clients can be obtained via anonymous
FTP from think.com in the directory "/wais". A WAIS "source" entry for
the sun-managers WAIS information server is available via anonymous FTP
from "ra.mcs.anl.gov" in the file "/sun-managers/sun-managers.src".

Gopher is a distributed document delivery service which allows
access to a wide variety of textual information. If your system
already has a gopher client installed, you can access the sun-managers
gopher by simply typing "gopher info.latech.edu". The sun-manager
archives are accessible under the "archives" menu. Source for Unix
gopher clients can be obtained via anonymous FTP from
"boombox.micro.umn.edu" in the directory "/pub/gopher/Unix".

Even if you do not have full access to the Internet, you can still take
advantage of www.LaTech.edu archives and WAIS via the WAIS mail
server. While this is a primitive tool compared to interactive usage,
it does work. To get information on using the WAIS mail server, send a
message to waismail@quake.think.com with a body containing the single
word "help". If you wish to search the SUMMARY messages from
sun-managers, you can use the "sun-managers-summary.src" source.

Dataman Benelux in the Netherlands hosts a "fuzzy" full-text index of
the Sun-managers mailing list at: http://www.dataman.nl/cgi-bin/sunmanagers

-----------------------------------------------------------------------------
Subject: 1.4) What should I keep in mind when posting to sun-managers?

o VERY IMPORTANT! Before you post, read the sun-manager's policy, which is
available for anonymous ftp from ra.mcs.anl.gov in /sun-managers/policy.

o Sun-Managers is a huge unmoderated mailing list. Every message you send
will be passed on to every member of the list. This means you get access
to a much larger audience when you need help, but it also means you can
embarrass yourself in front of a huge number of people, most of them
professionals in your field, including colleagues, peers, and possible
future employers.

o Sun-Managers is completely voluntary. Nobody is required to help you.
We are all cooperating by sharing our knowledge. Accept with grace
whatever responses you get, and don't hound people if they are helpful or
they won't be the next time.

o Sun-Managers is not the list to use when you run out of other places to
post. Job postings, PC questions, X questions all have their own lists
and newsgroups. Use _only_ the appropriate list or newsgroup for such
things, not Sun-Managers. Inappropriate postings will only make people
annoyed at you.

o The more information you give about a problem, the easier it is for
others to help you. This doesn't mean you should uuencode the kernel and
post it, but you should include your OS version, your hardware, and all
relevant symptoms of your problem. Unless the request is of a general
nature, the output of "uname -a" is almost certainly helpful.

o Be generous. If you have the information requested (especially if it is
obscure) then please respond. You may be the person requesting help
next time.

-----------------------------------------------------------------------------
Subject: 1.5) What other forums are there for Suns?

Other forums that relate to Suns (please mail me corrections and
additions):

Newsgroups (accessible via "rn", "readnews", "nn", etc.):

There is now an entire heirarchy devoted to Sun equipment:

comp.sys.sun.admin Sun system administration
comp.sys.sun.announce Announcements pertaining to Sun equipment
comp.sys.sun.apps Applications that run on Suns
comp.sys.sun.hardware Sun hardware (and clones too, I think)
comp.sys.sun.misc Miscellaneous
comp.sys.sun.wanted Sun stuff to buy or sell

Other newsgroups that may also be of interest:

comp.unix.solaris Solaris 2.x on all platforms
alt.sys.sun may not be available everywhere
comp.sys.sun newsgroup equivalent of sun-spots
comp.sources.sun Sun-specific sources (not very active)

Mailing lists:

Sun Flash (Sun Product Announcements/news releases)
sunflash-request@sunvice.East.Sun.COM add/remove requests

Sunergy (Sun Commercial Newsletter)
sunergy_information@Sun.COM add/remove requests

Suns-at-home (Home use of Sun Workstations)
Suns-at-Home-Request@net-kitchen.com add/remove requests
Suns-at-Home@net-kitchen.com submissions
Suns-at-Home-Archives@net-kitchen.com archive requests

CIAC notes (US. DOE Computer Incident Advisory Capability)
ciac-listproc@llnl.gov add/remove requests
listmanager@cheetah.llnl.gov human list manager

CERT Advisory mailing list (security notifications for Suns and others)
cert-advisory-request@cert.org add/remove requests

Solaris 2.x Autoconfiguration
auto-net-request@math.gatech.edu add/remove requests
auto-net@math.gatech.edu submissions

Solaris on Intel-based (x86) machines
solaris-x86-request@mlist.eis.com add/remove requests
solaris-x86-digest-request@mlist.eis.com add/rem requests
solaris-x86@mlist.eis.com submissions

Auspex: managers of Auspex NFS file servers
auspex-request@princeton.edu add/remove requests
auspex@princeton.edu submissions

Epoch: managers of Epoch NFS file servers
EPoch Users Forum (EPUF)
epuf-request@mcs.anl.gov add/remove requests
epuf@mcs.anl.gov submissions

Solbourne: managers of Solbourne SPARC systems
"info-solbourne" list
majordomo@acsu.buffalo.edu add/remove requests
info-solbourne@acsu.buffalo.edu submissions
ftp://ftp.acsu.buffalo.edu/pub/misc/info-solbourne.tar.z archives

NOTE: if you wish to be added to one of the above mailing lists,
send mail to the REQUEST address! Do not send add requests to the
main address!

-----------------------------------------------------------------------------
2. Getting Help Over the Net
-----------------------------------------------------------------------------
Subject: 2.1) How do I find out what patches are available from Sun?

If you have a software service agreement with Sun, you can use Sun's
"SunSolve ONLINE" service to obtain patches. Check your service
agreement for details.

Sun recommended patches can be obtained from sun via anonymous ftp to
sunsolve1.sun.com.

Many anonymous ftp sites have partial collections of patches. The archie
service can be consulted.

WARNING: if you ftp patches from an ftp site, you are trusting whomever
put them there. To be absolutely safe, get your patches from a
trusted source.

Sun makes available certain security patches for anonymous ftp on
ftp.uu.net, in the directory /systems/sun/sun-dist. CERT and Sun often
publishes the checksums of security patches. You can use the UNIX "sum"
command to verify the identity of patches retrieved from ftp sites.

Rik Harris <rik.harris@vifp.monash.edu.au> maintains a WAIS archive
(sun-fixes.src) of most available patch READMEs.

The Sun User Group (SUG) CD ROM also has a collection of Sun patches.

There is a special patch tape (U1) available from sun for Sun3's running
4.1.1 which fixes many of the bugs that were fixed for Sparcs in later
releases. Note that sun3's don't run anything later than 4.1.1.

-----------------------------------------------------------------------------
Subject: 2.2) What is "anonymous ftp" and how do I use it?

Anonymous ftp is a way to provide restricted file transfer access to a
host for the Internet community at large. You typically use ftp to
connect to a host and enter "anonymous" (possibly "ftp" or "guest") for
the user name and your "real" user name for the password. Do not type
your real password at any time, as it is common to log all anonymous
transactions and your password would be visible on the remote system.

When transferring files, make sure you have "binary" or "image" mode set
for transferring binary (non-ascii) files. This is true in the most
common cases, such as compressed files or tar archives. In some rare
cases, you might need "tenex" mode.

Read the manual page for 'ftp'.

-----------------------------------------------------------------------------
Subject: 2.3) How do I find anonymous ftp sites?

There are a number of well known ftp sites, such as "ftp.uu.net"
(137.39.1.2) and "gatekeeper.dec.com" (16.1.0.2). You usually find out
about these from newsgroups, mailing lists or word of mouth.

There is an internet service that allows you to search for ftp sites
that might have some file you're looking for. Telnet to one of the
following machines, using the login "archie":

archie.rutgers.edu 128.6.18.15 (Rutgers University)
archie.unl.edu 129.93.1.14 (University of Nebraska in Lincoln)
archie.sura.net 128.167.254.179 (SURAnet archie server)
archie.ans.net 147.225.1.2 (ANS archie server)
archie.au 139.130.4.6 (Australian server)
archie.funet.fi 128.214.6.100 (European server in Finland)
archie.doc.ic.ac.uk 146.169.11.3 (UK/England server)
archie.cs.huji.ac.il 132.65.6.15 (Israel server)
archie.wide.ad.jp 133.4.3.6 (Japanese server)
archie.luth.se 130.240.18.4 (Scandinavian server)
archie.ncu.edu.tw 192.83.166.12 (Taiwan server)
archie.nz 130.195.9.4 (New Zealand server)
archie.th-darmstadt.de 130.83.22.1 (Germany server)
archie.switch.ch 130.59.10.40 (Switzerland server)
archie.unipi.it 131.114.21.10 (Italy server)
archie.ac.il 132.65.16.8 (Israel server)

-----------------------------------------------------------------------------
Subject: 2.4) How do I get help upgrading to Solaris 2.x?

Start by reading the Solaris FAQ, maintained and posted periodically to
comp.unix.solaris by Casper Dik <casper@fwi.uva.nl>. It can be obtained
by anonymous ftp to ftp.fwi.uva.nl, in /pub/solaris. An HTML version
can be obtained at ftp://ftp.fwi.uva.nl/pub/solaris/solaris2.html.
Then go to the Solaris Security FAQ, maintained by Peter Galvin and
hosted by SunWorld Online Magazine and Sun Microsystems at
http://www.sun.com/sunworldonline/common/security-faq.html

-----------------------------------------------------------------------------
3. NIS, NIS+, DNS, and NFS
-----------------------------------------------------------------------------
Subject: 3.1) How do I set up NIS/YP to use DNS?

Under SunOS 4.1.x, there is a "#B=" at the top of /var/yp/Makefile,
uncomment and change this to "B=-b" and setup NIS in the usual
fashion. Under 4.0.x, edit the Makefile or apply the following
"diff":

*** Makefile.orig Wed Jan 10 13:22:11 1990
--- Makefile Wed Jan 10 13:22:01 1990
***************
*** 63 ****
! | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byname; \
--- 63 ----
! | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byname; \
***************
*** 66 ****
! | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byaddr; \
--- 66 ----
! | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byaddr; \

-----------------------------------------------------------------------------
Subject: 3.2) How do I use DNS instead of NIS for hostname resolution?

The "normal" behavior of a hostname lookup under NIS is to consult the
NIS hosts map and then DNS (if configured). You can change this so all
hostname lookups go directly to DNS. The SunOS shared library mechanism
allows you change the behavior of any command that is dynamically linked
to the shared library. In SunOS 4.1 and greater releases, there is an
optional package called "shlib custom" that contains a kit for
rebuilding shared libraries. You can select this in suninstall or load
it later. It will put the files in /usr/lib/shlib.etc. Note that
machines that come with pre-installed SunOS don't include this. It
contains both a "normal" and System V version of libc and some tools to
build shared libraries. The Sun-supplied README file gives some help,
but doesn't detail how to change the hostname lookup functions. The
complete procedure for this is spelled out in "bindon41.shar", which is
available for anonymous ftp from "ra.mcs.anl.gov" in "/pub" - it goes
one step further and replaces the Sun resolver routines with BIND 4.8.3
(or later) versions. Note that you can still use NIS for other things in
environment, such as passwd, group info, etc - the NIS hosts map is just
ignored. There are several important statically linked binaries that
will break if you replace the Sun routines. "/etc/mount" is probably
where you will first notice that it doesn't know about any host that is
not present in /etc/hosts. The same goes for "rcp". My solution was to
recompile mount and rcp with the new resolver routines, but you need
source code to do this. Sun apparently will give you a dynamically-
linked version of mount if you have software maintenance. You can
compile your own version of rcp from the Berkeley 4.3 source that is
available on various ftp site. Otherwise, you might just have to have
all hosts (and aliases) in /etc/hosts that you want to mount or use
Internet addresses (yuck). Another "feature" of a DNS-only environment
is that hostnames will sometimes be returned all in uppercase and these
will not match the lower-case entries you typically have in
/etc/exports, /etc/bootparams, etc. There are some patches to BIND 4.8.3
called "resolv+" that allow you to specify hostname lookups to
/etc/hosts only, DNS only or both.

bind 4.8.3 can be found on gatekeeper.dec.com (16.1.0.2) in
/pub/BSD/UCB/bind.4.8.3.tar.Z. resolv+ is on osl.csc.ncsu.edu (152.1.58.11)
in pub/unix/sun/resolv+-2.1.tar.Z. A later version is available at
ftp.cc.utexas.edu:/source/tcp-ip/resolv+2.1.1/resolv+2.1.1.tar.Z
The latest version of bind is available from gatekeeper.dec.com (16.1.0.2)
in /pub/misc/vixie.

-----------------------------------------------------------------------------
Subject: 3.3) What does the "nres_gethostbyaddr !=" error mean?

This message is from "ypserv" and has been determined to be "harmless"
(bug #1039839). Get Sun patch 100482-02 or later which fixes this and
other bugs in NIS.

-----------------------------------------------------------------------------
Subject: 3.4) How come yppasswdd does not automatically update the yp maps?

There is a bug in 4.1 rpc.yppasswdd that causes it misinterpret the
command line arguments. A work-around is to add the "-nosingle" flag
(which is the default), this shifts the arguments over one, so "passwd"
is read instead of "-m".

For example:
rpc.yppasswdd /var/yp/passwd -nosingle -m passwd DIR=/var/yp

If you are running the C2 security package, you should apply patch
100201-04, as it fixes several problems with rpc.yppasswdd.

-----------------------------------------------------------------------------
Subject: 3.5) What does "NFS write error X" mean?

You can lookup the error codes in /usr/include/sys/errno.h. Two common
ones are 13, which is "permission denied" and 70 "stale file handle". 13
is probably coming from an incorrect /etc/exports entry. 70 will occur
when a fileserver goes down for some reason. You can usually get rid of
the error by unmounting and remounting the filesystem in question. Under
SunOS 4.1, you can run "showfhd" to translate the NFS "file handle"
given in the error message into a Unix pathname. Beware that showfhd
does a "find" on your server to get the filename. "man 2 intro" will
give you some more general information on what error codes could mean.

-----------------------------------------------------------------------------
Subject: 3.6) What does NFS getattr failed/RPC: Authentication error mean?

You are probably running a pre-4.0 version of NFS, or using another
vendor's system, and your username is in more than 8 groups. There is a
limit on the number of groups that could be represented in the rpc service
(called NGRPS). On pre-4.0 systems this was 8, now it is 16. Since many
vendors other than Sun are still running old versions of NFS, you might
see this error even if your SunOS is recent. Authentication errors are
also caused by having secure RPC enabled on the client but not on the
server, or by having a misconfigured secure RPC configuration for the user
name generating the errors. Beware of this problem when you are using the
automounter, as programs (such as Sendmail) may silently fail when when
they try to mount a directory and get this error.

-----------------------------------------------------------------------------
Subject: 3.7) How do I change NIS+ credentials for the root master server?

If an NIS+ system is functioning correctly and only the root password
and root private keys for the system need to be changed, follow
these steps:

1) Login as root for the system and change the root password in the
/etc/shadow file:

{root}3% passwd
passwd: Changing password for root
New password:
Re-enter new password:
{root}4%

2) Change the system's private key in the cred table:

{root}4% chkey -p
Updating nisplus publickey database.
Reencrypting key for 'unix.ramayan@bharat.i n'.
Please enter the Secure-RPC password for root: <enter old passwd>
Please enter the login password for root: <enter new passwd>
{root}5%

3) If running replica server(s) then wait until the changes to the credential
object table has been propagated to its replicas. This could be up
to 2 minutes.

4) Change the system's /etc/.rootkey:

{root}5% keylogin -r
Password: <enter new passwd>
Wrote secret key into /etc/.rootkey
{root}6%

The procedure above will work for any system -- root server,
root replica, non-root servers, and all clients. The steps above
change only the system's root password and private keys, not the
public keys for the system.

Thanks to Ronald W. Henderson <rwh@atmos.albany.edu>.

However, if you want to change all the root credentials, including the
public key, follow these steps:

Use the passwd command on the root master server to change the root
password. But DO NOT follow this with a chkey -f to update the credentials
for the root master server, because this will disable the entire NIS+
domain. The only way to recover from this is to rebuild the domain from
scratch!

It is possible to change the credentials of the root master server, but
it is not easy. The procedure follows:

To change the keys for the root master server do as follows:

1. use these commands in this order:

nisupdkeys -CH master.server.name. groups dir.domain.name.
nisupdkeys -CH master.server.name. org dir.domain.name.
nisupdkeys -CH master.server.name. domain.name.

(This CLEARS the public key for the HOST "master.server.name" in this
directory.)

2. Kill rpc.nisd and restart it at security level O then run this command:

nistbladm -R cname=master.server.name. cred.org dir.domain.name.
nisaddcred des

<This deletes the old credential and creates a new one.>

3. Shutdown and restart any replicas of org dir.domain.name. at run level O

nisping org dir.domain.name.

<This propogates the new key pair to the replicas.>

nisdupdkeys domain.name.
nisupddkeys org dir.domain.name.
nisupdkeys groupa dir.domain.name.

<This puts the new credential in the effected directory objects.>

4. Kill and restart all rpc.nisd servers at level O to security level 2.

Note that changing a server's key affects all directory objects containing
the key.

Thanks to Rogerio Rocha <rogerio@bvl.pt> and Sun INFODOC ID 2213 for this
information.

-----------------------------------------------------------------------------
Subject: 3.8) When I compile something, errors occur saying _dlopen
and the other _dl routines can't be found. Why?

If your system is running SunOS 4.x, your System Administrator has
modified the C library (/usr/lib/libc.a), usually to add hooks for hostname
resolution (DNS). This modification is usually made using packages like
"bind 4.8.3" or "resolv+ 2.1". Unfortunately there is a bug in that process
which is documented but frequently missed by the person doing the
installation.

There are two ways around this:
(i) Specify -ldl when compiling any and all package that complains.
(ii) Get the sys-admin to reinstall the libc properly, ensuring
that the Makefile used in that process specifies -ldl, so
that the dl routines are included.

Thanks to markus@octavia.anu.edu.au (Markus Buchhorn) for this answer.

Sometimes other routines are also noted as not being found. There are
three .o files in the shared library (rpc_commondata.o, rpc_dtablesize.o,
and xccs.multibyte.o) that have names longer than 14 characters. These are
unpacked during the shared library customization procedure as files without
the trailing 'o', and need to be renamed so that the trailing 'o' is
present. Ask the sysadmin to fix this.

If you are running Solaris 2.x, you are probably trying to compile
something statically. You must either include stub routines for the _dl
routines, or you must link the C library (or -ldl) dynamically.

-----------------------------------------------------------------------------
4. Window Systems
-----------------------------------------------------------------------------
Subject: 4.1) Can I run both OpenWindows and MIT X11?

In Solaris 2.x, they both work without conflict. In SunOS 4.x, things
are a bit more complicated:

The shared libraries for OpenWindows have different version numbers than
the MIT versions. MIT executables will try to use the OpenWindows
libraries and OpenWindows executables will complain about version
mismatches. You can toggle between the two environments by setting your
$path and LD_LIBRARY_PATH variables. Assuming you installed the MIT
executables in /usr/bin/X11, the MIT libraries in /usr/lib and the
OpenWindows libraries are in /usr/openwin/lib, set the following before
you start the windowing system:

MIT X11R4/R5 environment

set path = (/usr/bin/X11 $path)
setenv LD_LIBRARY_PATH /usr/lib

(Actually, for libraries in /usr/lib, /usr/5lib, or /usr/local/lib, the
LD_LIBRARY_PATH is not necessary.)

Sun OpenWindows

set path = (/usr/openwin/bin /usr/openwin/demo $path)
setenv LD_LIBRARY_PATH /usr/openwin/lib

(Actually, for most OpenWindows clients, it's sufficient to set OPENWINHOME
to /usr/openwin instead of setting LD_LIBRARY_PATH. Setting LD_LIBRARY_PATH
to /usr/openwin/lib may cause MIT clients to fail.)

You can also run clients from one environment under a different server
on a one command at a time basis. This example runs a OpenWindows
client under the MIT server:

(setenv LD_LIBRARY_PATH /usr/openwin/lib; x_soundtool)

It is possible to run OpenWindows 3.0 and MIT X11 simultaneously
without having to toggle LD_LIBRARY_PATH as above, by putting the X11
libraries before the openwindows libraries in LD_LIBRARY_PATH, and the
X11 binaries before the openwindows binaries in PATH, as follows:

setenv LD_LIBRARY_PATH /usr/lib/X11:$OPENWINHOME/lib setenv path
(/usr/bin/X11 $OPENWINHOME/bin $path)

Setting LD_LIBRARY_PATH can be avoided altogether if the superuser links
all the openwin 3.0 and X11R4 libraries into /usr/local/lib as follows:

ln -s $OPENWINHOME/lib/lib*.s[oa]* /usr/local/lib ln -s
/usr/lib/X11/lib*.s[oa]* /usr/local/lib /etc/ldconfig

Unfortunately, not all OpenWindows 3.0 applications will work with X11R5
libraries.

To use the X11 xdm with the openwin 3.0 Xnews server, modify the
Xservers file (eg. /usr/lib/X11/xdm/Xservers) to say something like the
following:

:0 local $OPENWINHOME/lib/xdm/StartOW -nosunview \ -fp
/usr/lib/X11/fonts/misc,$OPENWINHOME/lib/fonts,/usr/lib/X11/fonts/75dpi

Change the options or font path if necessary. Note that sun patch
100452-25 or later should be installed, to prevent the Xnews server from
consuming more and more memory as time passes.

(Thanks to Margarita Suarez <marg@manila.cc.columbia.edu> for the last
three suggestions)

OpenWindows 3.x includes most of the MIT X11 libraries and header files.
Most MIT X11 Applications can be compiled and run under OpenWindows 3.0
without change.

The OpenWindows server has the ability to display PostScript that
several of the OpenWindows applications require to run. Sun's AnswerBook
is an example that requires PostScript. These clients will not run under
the MIT server. You can get a limited PostScript preview capability
under either server with GNU Ghostscript, a GNU "copyleft" package
available from various ftp sites. Two enhanced versions of Ghostscript
are also available, GSPreview and Ghostview, they both offer fancier
preview capabilities. These programs are currently available via
anonymous ftp:

Ghostscript and Ghostview are on prep.ai.mit.edu (18.71.0.38) in
/pub/gnu. GSPreview is on ftp.x.org (198.112.44.100) in /R5contrib

-----------------------------------------------------------------------------
Subject: 4.2) How do I run X11R5 on Solaris 2.x?

Note: in Solaris 2.3 and later, OpenWindows is X11R5-based, so you may
not necessarily need to run stock MIT X11R5. Note also that MIT X11R6
supports Solaris 2.x.

If you still wish to run MIT X11R5, start with a stock MIT X11R5
distribution, and apply all the outstanding X11R5 fixes. Grab
R5.SunOS5.patch.tar.Z from ftp.x.org:/R5contrib and apply it. Configure and
compile as per the patch instructions.

-----------------------------------------------------------------------------
Subject: 4.3) Why does my OpenWindows File Manager abort with a
"mknod: permission denied"?

Under Solaris 2.3, the first time filemgr is launched, it created a
/tmp/.removable directory owned by the user who launched it. If a
different user later starts up filemgr, it will try to create
/tmp/.removable, but that directory will already exist from the last time,
owned by the previous user, so the attempt will fail. Fix by installing
patch 101514-02.

-----------------------------------------------------------------------------
5. Disks, Tapes and SCSI
-----------------------------------------------------------------------------
Subject: 5.1) What is the format.dat entry for drive X?

The answer can vary according to what OS you are running, the
architecture of your machine or the type of SCSI/SMD/IPI controller you
are using. Opinions also vary on how to format once you have all the
information you need. If you are buying a Sun supported drive, you will
likely find an entry for it in "/etc/format.dat". On third party
drives, you should inquire with the vendor you bought it from. If you
are on your own, contact the manufacturer, or try to get hold of the
manufacturer's OEM manual for your drive model. You might be able to
derive enough information from the manual to make up your own entry.
Some drive manufacturers run "bulletin boards" with drive information on
them:

Fujitsu America BBS 408 944 9899
Seagate BBS USA/Can 408 438 8771
Seagate BBS England 44 62 847 8011
Seagate BBS Germany 49 89 140 9331
Seagate BBS Singapore 65 292 6973
Seagate BBS Australia 61 2 756 2359
Maxtor BBS 303 678 2222
Micropolis BBS 818 709 3310
Quantum BBS 408 894 3214
Conner BBS 408 456 4415 / 408 456 3200

It is also possible to contact drive manufacturers by telephone.
Some relevant numbers:

Fujitsu USA 800-626-4686
408-432-1300
Fujitsu FAXLINE 408-428-0456
Fujitsu Canada 416-602-5454
800-263-7091
Hitachi USA 800-HIT-ACHI
Hitachi HITFAX 800-HIT-FAX1
Maxtor USA 800-2MA-XTOR
Maxtor FAXBACK 303-678-2618
Micropolis USA 800-395-3748
Seagate USA 800-468-3472
408-438-8222
Seagate FAX 408-438-8137
Seagate FAXBACK 408-438-2620
Quantum USA 800-826-8022
Conner USA 408-456-3247
408-456-4500
Conner Tech 800-426-6637
Conner FAXBACK 408-456-4903

CDC spun off their disk-drive business as Imprimis, which was later bought
by Seagate, so direct all questions about CDC and Imprimis drives to Seagate.

A format.dat file containing entries submitted by various people is
available for anonymous ftp from ra.mcs.anl.gov in
/sun-managers/format.dat. It is currently maintained by John DiMarco
(jdd@cdf.toronto.edu). New entries (especially vendor-suggested ones)
are welcome; mail them to sun-managers-format@ra.mcs.anl.gov

Note: do not post a format.dat request to the list or to the
comp.sys.sun.admin newsgroup unless you have exhausted all these avenues.

If you have a SCSI disk on a sun4c, sun4m, sun4e, or sun4d running
SunOS 4.1.1 or later, grab John DiMarco's scsiinfo program from
ftp.cdf.toronto.edu:/pub/scsiinfo. It will query the disk directly,
and generate an appropriate format.dat entry

Tips for rolling your own format.dat:

- For SCSI disks, any combination of cylinders, heads, and sectors that
does not add up to more than the rated formatted capacity of the drive
will normally work. A grossly different geometry may result in some
slight performance degradation, but it should still work. The SCSI protocol
hides most of the drive details from the host, and hence the host need not
know much about the drive to format or use it.

-----------------------------------------------------------------------------
Subject: 5.2) Can I use a disk greater than 700meg?

Yes, Sun sells drives significantly larger than 700MB, and you can choose
from a variety of third party drives.

However, the SPARCstation SCSI drivers in SunOS 4.1.1 or earlier use
SCSI group 0 commands. This command set only has 21 bits of storage for
the block number. This means you can have 2^21-1 or 2097151 as the
largest block number understood by the SCSI driver. The fix is to use
SCSI group 1 commands, where you have 31 bits for block numbers. The
newer Sun SCSI drivers (SCSA) use group 1 commands, but require a patch
to work properly. The patch for a Sun4c running SunOS 4.1.1 is 100343-04
or later. This includes a new format.dat for the Sun 1.3 gig drive. The
patch will come with the drive if you order it from Sun or you can get
it from the Sun patch database mentioned in question 3. You can use 1.2
gigabyte drives with the current driver, but you "waste" several
megabytes (i.e. no big deal). The Fujitsu M2266SA, CDC/Imprimis/Seagate
Wren 7, HP 97549T and Micropolis 1598 are known to work.

This patch is only required for Sun4c's (Sparcstations) running SunOS
4.1.1 or earlier. Sun3's, Sun4m's (600 series, SS10), and Sun4's
(100,200,300,400 series) do not require it, and the patch is included in
SunOS 4.1.2 and later.

Note: Older Fujitsu M2266SA drives have a firmware bug in the use of the
on-drive read-ahead cache that causes random read errors. You can
disable the cache by removing the jumper on pins 5-6 on CN9. Fujitsu
recently has made new PROMs available that fix the cache problem. You
should be able to obtain these from your drive vendor at no cost. The
PROM is marked "81202" followed by a revision letter. Revision "C" and
earlier should be replaced by a "D" or later version.

Note: Older Wren 7's may not boot on IPX's, ELC's and later machines,
due to a bug in the Wren 7's firmware. Here is a patch to the NVRAM
which must be made from the monitor.

WARNING : It is important that you type this correctly. Check this
several times! Remember all the question marks, dashes and spaces
and yes, sstart should be with two "s"'s. Note: Syntax errors in
your NVRAMRC can make your machine unbootable. In Prom version
2.x, hitting L1-N after the selftest at bootup will reset the NVRAM.

If you have prom revision 2.0 to 2.5, inclusive:

(from monitor level)
> n
ok nvedit
0: true to fcode-debug?
1: probe-all install-console banner
2: cd /sd [ or whatever drive you want to boot from ]
3: patch 0 1 sstart
4: device-end
5: [ press <control> c to exit nvedit at this point ]
ok nvstore
ok setenv use-nvramrc? true
ok reset

For prom revision 2.6 or greater, use:

(from monitor level)
> n
ok nvedit
0: probe-all install-console banner
1: cd /esp
2: ' 0 ' 1 ' timed-spin >body 7 /token * + token@ (patch
3: device-end
4: [ press <control> c to exit nvedit at this point ]
ok nvstore
ok setenv use-nvramrc? true
ok reset

If you have a prom revision earlier than 2.0, or you don't wish
to use the nvramrc, a Wren VII can be made to boot by making
the "a" partition start at cylinder two, instead of cylinder zero.

Thanks to Rick.Tilson@Corp.Sun.COM (Rick Tilson) and
kuhn@math.harvard.edu (Robert M. Kuhn).

-----------------------------------------------------------------------------
Subject: 5.3) How do I move disks from xy451 to xy753/7053 controllers?

You have to reformat the drives for them to be recognized by the new
controller. Save the bad block list on drives while they are still on
the old controller and load this back on the disk when you are
formatting the disk on the new controller. The "dump" command in
"defect" menu of "format" will write out a defect list to a file, the
"load" command in the same menu will read the defect list from a file.

-----------------------------------------------------------------------------
Subject: 5.4) Why does my internal 105 megabyte hard disk stop working?

There is a problem in the Quantum 105S 3.5" disk with the drive
lubricant. It prevents the platter from rotating if it cools down
enough, which will happen if the drive is powered down. Before you call
Sun in for replacement, try removing the drive, holding it around waist
height, and give it a couple of quick twists in the plane of the disk
surface. This should loosen the lubricant. (Thanks to Dan Razzell
<razzell@cs.ubc.ca> for this suggestion.) Tapping the disk lightly may
also work, but this is understandably risky.

Stan Hoffman <hoffman@moog.attmail.com> adds:

I also found a lot of bad connectors where the power cable
connects to the motherboard. The connector coming from the
drive have horseshoe-shaped clips that straddle the wire and
cut into it to make contact. I have often had to reseat these
clips by pressing them down a little further before the drive
would power up.

-----------------------------------------------------------------------------
Subject: 5.5) Can I replace the 105 megabyte internal drive in a SS1/1+
with a higher capacity model?

The higher capacity drives sometimes create more heat and draw more
power than the 105S. The case cooling ability and power supply in the
SS-1 and SS-1+ is not adequate for drives significantly hotter than the
Quantum 105S. The Quantum 105S pulls 10W, so any disk much more than
this might be a problem.

Since the SS1/1+ supports two drives, if only one drive is installed,
it should be possible to relax this constraint somewhat.

-----------------------------------------------------------------------------
Subject: 5.6) How do I enable synchronous SCSI?

It depends on the type of SCSI controller and the SunOS release.

The SCSI device must be able to support it. Most modern SCSI drives
do, check the drive manual to see if there is a jumper or switch
to enable or disable it on the drive itself.

If you have a VME-based system with the Sun SCSI controller on a
separate card (a 4/470 for example), you are out of luck unless you go
with a third-party SCSI controller. The Sun VME SCSI "si" and "sc"
controllers are old products that were developed for the Sun3 line and
do not support many newer SCSI features. VME systems with the "sm"
controller on the cpu board, (such as the 4/370) are capable of sync
SCSI, along with desktop systems with the "esp" controller (SS-1, SS-1+,
SS2, etc). You can see what type of controller you have by watching the
boot process or running /etc/dmesg.

There were some problems with sync SCSI on the SS-1 that prompted Sun to
disable it by default in 4.0.3 and 4.1. You can enable it manually by
tweaking the kernel:

echo 'scsi_options?W 0x38' | adb -w /vmunix reboot system

or a better method:

uncomment the 'SCSI_OPTIONS_SYNC' line in /sys/scsi/conf/scsi_confdata.c

rebuild kernel reboot system

Under 4.1.x, sync SCSI is negotiated at boot time by checking each
device to see if it supports it. 4.1.x (except for 4.1.3 and later) will
print a message if it is successful:

esp0: Target 3 now Synchronous at 4.0 mb/s max transmit rate

To turn on this message for SunOS 4.1.3 and later, you can modify the
kernel or /sys/sun[4c|4m]/OBJ/esp.o using adb to set espdebug to 0x1 as
above. This can cause problems with some SCSI peripherals, however (eg.
some 8mm drives).

Better still, grab John DiMarco (jdd@cdf.toronto.edu)'s "scsiinfo"
program which provides this information and more about SCSI peripherals
attached to ESP SCSI host adapters. scsiinfo is available for anonymous
ftp from ftp.cdf.toronto.edu in /pub/scsiinfo.

Note: SCSI cable length can affect drive performance, especially for
fast synchronous SCSI devices and controllers. Cable length should be
kept at a minimum.

-----------------------------------------------------------------------------
Subject: 5.7) Is it okay to disconnect or connect SCSI devices
while powered on?

On older machines (without onboard SCSI controllers), it is never a good
idea to do this. You risk blowing a fuse on the CPU board, or part of
the SCSI hardware. On newer machines (sparcstations and later), many
people have done this regularly without problems. Halt the machine
(sync;L1-A), remove or add the device, then continue. However, it is
possible to blow the SCSI termination power fuse on the motherboard. If
your machine hangs immediately on powerup unless the SCSI bus is
externally terminated, this fuse may need to be replaced. Caveat Emptor.

-----------------------------------------------------------------------------
Subject: 5.8) How do I configure a sun to use its local disk(s) for
swap but not for root?

For Solaris 2.x, this is trivial. For SunOS 4.x:

It's necessary to configure the kernel to use a designated swap
partition. You can do this by replacing the line in the kernel config
file (/sys/`arch -k`/conf/KERNEL-NAME) that says

config vmunix swap generic

with

config vmunix root on type nfs swap on type spec <DEVICE>

Replace '<DEVICE>' with the name of the disk block device you want
to use, eg. 'sd0b'.

Thanks to Nick Sayer <mrapple@quack.kfu.com>.

-----------------------------------------------------------------------------
Subject: 5.9) My HP DAT drive is running very slowly on my sun running
4.1.x. How do I fix this?

You'll need to add some configuration data for the HP DAT drive to your
Sun 4.1.x kernel as follows:

In /sys/scsi/targets/stdef.h, add the line:

#define ST_TYPE_HP1 0x2a /* HP C1533A DDS2 DAT drive */

In /sys/scsi/targets/st_conf.c, add the following:

/* added DAPM 5-feb-94
* HP C1533A DDS2 DAT tape drive */
{
"HP C1533A 4mm DDS DAT", 2, "HP",
ST_TYPE_HP1, 10240,
(ST_VARIABLE|ST_BSF|ST_BSR|ST_LONG_ERASE|ST_AUTODEN_OVERRIDE),
6000,6000,
{0x00, 0x00, 0x00, 0x00},
{0,0,0,0}
},

Recompile your kernel, and reboot with the new kernel.

Thanks to Dave Mitchell <D.Mitchell@dcs.shef.ac.uk> and
sjf@mod.dsto.gov.au (Stephen Fitzgerald).

-----------------------------------------------------------------------------
Subject: 5.10) How do I configure my sun to use Exabyte 4mm DAT tape drives?

According to Exabyte's customer service center (913-492-6002), for
SunOS 4.1.x, for an EXB-4200 and 4200c, add the following entries to
/sys/scsi/targets/st_conf.c:

/* Exabyte 4mm 2GB cartridge */
{
"Exabyte EXB-4200 4mm Helical Scan", 16, "EXABYTE EXB-4200",
ST_TYPE_DEFAULT, 1024,
(ST_VARIABLE | ST_BSF | ST_BSR),
5000, 5000,
{ 0, 0, 0, 0 },
{ 0, 0, 0, 0 }
},
/* Exabyte 4mm 4GB w/compression cartridge */
{
"Exabyte EXB4200c 4mm Helical Scan", 17, "EXABYTE EXB-4200c",
ST_TYPE_DEFAULT, 1024,
(ST_VARIABLE | ST_BSF | ST_BSR),
5000, 5000,
{ 0x63, 0x43, 0x0c, 0x0c },
{ 0, 0, 0, 0 }
},

For Solaris 2.x, add the following to /kernel/drv/st.conf:

tape-config-list =
"EXABYTE EXB-4200", "Exabyte 4mm EXB-4200", "EXBT-4200",
"EXABYTE EXB-4200c", "Exabyte 4mm EXB-4200c", "EXBT-4200c"

EXBT-4200 = 1,0x34,1024,0x0029,4,0x63,0,0,0,3;
EXBT-4200c = 1,0x34,1024,0x0029,4,0x63,0,0x13,0,3;

Exabyte also recommends that their 4mm tape drives have firmware revision
levels of at least the following when used on suns:

EXB-4200 No restriction, but revision 148 or higher is recommended
EXB-4200c Level 149 minimum (mode select for compression)

Thanks to Dave Hightower <hightowr@afwc.af.mil>.

-----------------------------------------------------------------------------
Subject: 5.11) Why is tagged queueing a problem on my third-party
SCSI disk under Solaris 2.x?

Tagged Command Queueing (TCQ) is an optional part of the SCSI-2
specification. It permits a drive to accept multiple I/O requests for
execution later. These requests are "tagged" by a reusable id so that the
drive and the OS can keep track of them. The drive can reorder these
requests to optimize seeks. For more details, see the SCSI-2
specifications. A draft version is available at
ftp://ftp.cdf.toronto.edu/pub/scsi-doc/scsi2.10b.gz

SunOS 4.x and earlier never uses tagged queueing. However, Solaris 2.x
will make use of tagged queuing if the drive claims to support it.
Unfortunately, some drive manufacturers have found it hard to design their
drives to do tagged queueing properly, and this particular area has been a
common source of bugs in drive firmware.

If it is not possible to turn off tagged queueing in the drive that is
causing the problem, Solaris 2.x can be told not to use tagged queueing
at all, by putting the following line in /etc/system:

set scsi_options & ~0x80

The "scsi_options" kernel variable contains a number of bit flags which
are defined in /usr/include/sys/scsi/conf/autoconf.h. 0x80 corresponds
to tagged queueing.

However, this turns off tagged queueing for the entire machine, not just
the problematic drive. Because tagged queueing can provide a significant
performance enhancement for busy drives, this may not always be desirable.
In Solaris 2.4 and later, it is possible to disable tagged queueing and set
or clear other scsi options on a per-controller or per-drive basis. The
appropriate technique is described in the esp(7) and isp(7) man pages.

-----------------------------------------------------------------------------
Subject: 5.12) * Why don't third-party CD-ROMS work on my sun?

When Sun first decided to add CD-ROM support, there were already a great
number of systems in the field, all of which contained boot proms that
expected to boot from disks with 512 byte sectors. Sun had to decide
between replacing a whole lot of boot proms or finding a way to make a
CDROM act like a disk with 512 byte sectors in order to support it as a
boot device. They chose the latter approach.

Many third party CD-ROM drives use 1024 or 2048-byte sectors, which causes
the SCSI driver to see a "data overrun". When the driver asks for N
"blocks" (which it thinks are 512 bytes each ) it gets more data back than
it expected.

Some CD-ROM drives can be told to use 512 byte sectors by setting a jumper,
cutting a trace, or using a software command (mode select). Details vary
widely, but if you are seeing a data overrun on a third party CD-ROM, then
it is most likely doing 1K or 2K transfers and will need some work to be a
boot device for a Sun.

Thanks to Kevin Sheehan <Kevin.Sheehan@uniq.com.au>

For more information about third-party CD-ROMS on Suns, consult the
CD-ROM FAQ, maintained by Mike Frisch <mfrisch@saturn.tlug.org> and
Martin Hargreaves <martin@datamodl.demon.co.uk>. It can be found on the
World Wide Web at "http://a19b89.rogerswave.ca/suncdfaq/" and
"http://www.datamodl.demon.co.uk/suncd/".

-----------------------------------------------------------------------------
Subject: 5.13) How do I support Exabyte 8505C 8mm tape drives on SunOS 4.x?

Modify /usr/sys/scsi/targets/st_conf.c to add the following entry:

/* Exabyte 8mm 5GB 1/2-height cartridge, with compression */
{
"Exabyte EXB-8505 8mm Helical Scan", 16, "EXABYTE EXB-8505",
ST_TYPE_EXB8500, 1024,
(ST_VARIABLE | ST_BSF | ST_BSR | ST_LONG_ERASE),
5000, 5000,
{ 0x14, 0x90, 0x15, 0x00 },
{ 0, 0, 0, 0 }
},

Create a new kernel and boot using it.

The devices corresponding to the different modes supported by the
drive are as follows:

Device Capacity Emulation
st0,st1 2.3GB Exabyte 8200
st8,st9 2.3GB with compression Exabyte 8200C
st16,st17 5GB Exabyte 8500/8505
st24,st25 5GB with compression Exabyte 8505C

Thanks to Paul Roland <rolandp@charon.stm.com>

Note: Exabyte 8505C 8mm support is included in SunOS 5.x a.k.a. Solaris 2.x,
so no special modifications are required for OS versions later than 4.x.

-----------------------------------------------------------------------------
Subject: 5.14) + What size and density parameters should I use for dump with
a high-capacity tape drive?

The only purpose of the dump (ufsdump in Solaris 2.x) size and density
parameters is to let dump calculate the capacity of each tape and then
decide for itself when it needs a new tape. If the filesystem you are
dumping is larger than the tape, you will need to use more than one tape.
In SunOS 4.x and earlier, dump uses the size and density parameters to
decide when to stop writing to a particular tape and prompt for a new one.

Since SunOS 4.x has a filesystem limit of 2GB, it is most often the case,
for modern high-capacity tape drives, that the filesystem will fit on one
tape. If, as is the case with SunOS and high capacity drives, you are
dumping multiple filesystems one after another to the non-rewinding tape
device, each successive dump has no way of knowing how much of the tape has
been already used, so there's no recourse but human intervention. In other
words, you have to figure out manually how many of your filesystems will
fit on one tape. All that the dump size and density parameters do is tell
dump that it has lots of space left.

Since it hardly matters what these parameters are, so long as they convince
dump that the (remainder of the) tape is bigger than your filesystem so
that it doesn't decide to ask you for a new tape part-way through, you can
tell it the tape is big enough for a 2GB filesystem, by using 16000 for
both the size and density parameters. This will be large enough for all
standard SunOS 4.x filesystems.

If you're using Online Disk Suite or something similar to overcome the 2GB
SunOS filesystem size limit, these parameters will need adjusting. For
example, if you need to dump a 4 Gbyte filesystem, simply double the tape
size.

In Solaris 2.x, ufsdump can detect the end of media for all modern tape
drives, and will automatically prompt for new tapes when needed.

Thanks to Niall O Broin <nobroin@esoc.esa.de>

-----------------------------------------------------------------------------
6. Resource Management and Performance Tuning
-----------------------------------------------------------------------------
Subject: 6.1) How do I tell what caused my machine to crash?

The crash messages will usually be displayed on the console or kept
around after reboot long enough for you to run /etc/dmesg. Syslog can
sometimes record the crash message. If your system repeatedly crashes
with similar looking errors, try searching through the patch list on the
Sun patch database for a description that matches your machine. Read
chapter 22 of the SunOS 4.1 system administration manual on how to
gather more information for reporting a crash and making crash dumps.

To enable a crash dump, uncomment the "savecore" lines in /etc/rc.local.

To report a crash dump, you need a symbolic traceback for it
to be useful to the person looking at it. Type the following:

cd /var/crash/`hostname`
echo '$c' | adb -k vmunix.0 vmcore.0

-----------------------------------------------------------------------------
Subject: 6.2) What can I do if my machine slows to a crawl or just hangs?

Try running "ps" to look for large numbers of the duplicate programs or
processes with a huge size field. Some system daemons occasionally can
get into a state where they fork repeatedly and eventually swamp the
system. Killing off the child processes doesn't do any good, so you have
to find the "master" process. It will usually have the lowest pid.

Another useful approach is to run vmstat to pin down what resource(s)
your machine is running out of. You can tell vmstat to give ongoing
reports by specifying a report interval as its first argument.

The programs "top" and "sps" are good for finding processes that are
loading your system. "Top" will give you the processes that are consuming
the most cpu time. "Sps" is a better version of "ps" that runs much faster
and displays processes in an intuitive manner. Top is available for
anonymous ftp at eecs.nwu.edu in /pub/top. A version of Sps that runs on
Solaris 2.x is available at ftp.csv.warwick.ac.uk in
/pub/solaris2/sps-sol2.tar.gz.

Sometimes you run out of memory and you won't be able to run enough
commands to even find out what is wrong. You will get messages of the
type "out of memory" or "no more processes". Note that "out of memory"
refers to virtual memory, not physical memory. On a 4.x system (or
earlier), the size of a machine's virtual memory is equal to the amount
of swap space it has. On a 5.x system, it is generally equal to the sum
of the swap space and the amount of physical memory (less a roughly
constant amount for the kernel) on the machine. The commands "pstat -s"
(for 4.x) or "swap -s" (for Solaris 2.x) will tell you how much virtual
memory is available.

You can sync the disks to minimize filesystem corruption if you have to
crash the system:

Use the L1-A sequence to crash the system. If you are on an older system,
type "g0" and you will get the message "panic: ... syncing file systems".
When you see the word "done", hit L1-A again and reboot. On systems
with the "new" prom, type "n" to get into the new command mode and type
"sync".

Sometimes a system hang or similar slowdown can be caused by an OS bug.
In particular, patch 100330-03 or later fixes some OS bugs in SunOS
4.1.1 that can cause system hangs in certain circumstances.

-----------------------------------------------------------------------------
Subject: 6.3) How do I find out how much physical memory a machine has?

For machines running SunOS 5.x, use /usr/sbin/prtconf. If the machine is
running an earlier version of SunOS, one of the following techniques can
be used:

Try "/etc/dmesg | grep mem". This takes advantage of the fact that the
kernel writes the amount of physical memory on the machine to the
console on reboot. /etc/dmesg reports the most recent messages written
to the console.

If many messages have been written to the console since the machine was
rebooted, the message reporting the amount of physical memory may no
longer be in the buffer. If you save console messages to
/var/adm/messages (usually true by default), you can try "grep mem
/var/adm/messages*". If the message is no longer in the buffer, it still
may be in the messages log file.

"/usr/etc/devinfo -v" is informative on some machines.

The banner message on reboot (or type "banner" in the monitor on machines
with Openboot proms) will usually report the amount of physical memory.

Alternatively, you can poke around in /dev/mem and /vmunix (or
equivalent), or open up the case and count SIMMS and/or memory boards.

To make poking around in /dev/mem and /vmunix a little easier, a little
C program that uses /dev/mem and /vmunix to report the amount of
physical memory is available for anonymous ftp on "ra.mcs.anl.gov" in
the file "/sun-managers/mem.shar". Or even better, grab Michael Cooper
(mcooper@usc.edu)'s "sysinfo" program, which provides all sorts of
information about a given system, including how much physical memory it
has. sysinfo is available for anonymous ftp from usc.edu in
/pub/sysinfo.

-----------------------------------------------------------------------------
Subject: 6.4) How do I find out what my machine's memory is being used for?
How can I tell if I need more memory?

To discover how much virtual memory (i.e. swap) is free, for SunOS 3.x
and 4.x, run "pstat -s", and for SunOS 5.x, run "swap -s" or "vmstat".
If you're using tmpfs for /tmp, "df /tmp" will also work.

Discovering how physical memory is being used can be more difficult,
however. For SunOS 3.x, vmstat will tell you how much physical memory is
free. This doesn't work under SunOS 4.x and 5.x, since the kernel's
memory subsystem is completely different. Memory pages that are not
being used by processes are used as a sort of extended cache, storing
pages of memory-mapped files for possible later use. The kernel keeps
only a small set of pages free for short-term use, and frees up more on
demand. Hence the free memory reported by vmstat is not an accurate
reflection, for example, of the amount of memory available for user
processes.

For SunOS 4.x, a small C program is available which indicates how the
system has allocated memory pages. Its output looks like the following:

vmpage: all results in decimal pages
physmem 16298, startup 839, maxmem 15459, pageable 14853
scanned 15469, locked 4, kept 612, cached 8124, free 6729

vmpage is available for anonymous ftp from ra.mcs.anl.gov as
/sun-managers/vmpage.tar.Z

An easy way to determine whether or not your machine needs more memory
is to run vmstat and examine the po (page out) column and the sr (scan
rate) column. If these columns consistently show large numbers, this
suggests that your machine does not have enough memory to support its
current workload, and frequently needs to write pages belonging to
active processes to disk in order to free up enough memory to run the
current job.

-----------------------------------------------------------------------------
Subject: 6.5) Why do some files take up more disk space after being copied?
Why are the sizes reported by ls -l and du different?

Some files -- core files being one common example -- contain "holes", areas
which were seeked over without being written. These files are called
"sparse". When read back, these areas appear to contain zeros; however
they do not occupy disk space. The "length" of such a file (as reported by
"ls -l") will exceed its "size" (as reported by "ls -s" and reflected in
the results of du or df).

cp, cpio, and tar do not detect holes; they read and copy the zeros,
and the resulting files will contain all-zero blocks (which occupy
space) where the input files contained holes (which do not).

dump will detect holes in the dumped files, and restore will reproduce
them.

GNU tar has an "-S" option which preserves holes.

Thanks to Perry Hutchison <perryh@pluto.rain.com>

-----------------------------------------------------------------------------
7. Anonymous FTP Service
-----------------------------------------------------------------------------
Subject: 7.1) How do I set up anonymous ftp on my machine?

Read the man page ftpd(8) in the SunOS 4.x documentation, as the
procedure differs from vanilla BSD and most examples in system
administration books. The "ls" binary is dynamically linked, requiring
you to duplicate ld.so, libc.so.* and /dev/zero in the ftp area. The
permissions and ownership of the files within the ftp area are critical
to having a secure configuration.

For Solaris 2.x, see the ftpd(1m) man page, and follow its instructions.
You will also need to set up nsswitch.conf in etc.

-----------------------------------------------------------------------------
Subject: 7.2) Where can I get a version of ftp that does logging?

These are 4 versions that have enhanced logging or can be modified
to enable logging:

wuarchive.wustl.edu (128.252.135.4) /packages/ftpd.wuarchive.shar
isy.liu.se (130.236.1.3) /pub/ftpd.tar.Z
ftp.adelaide.edu.au (129.127.40.3) /pub/4.3/ftpd-sirius.tar.Z
ftp.cs.widener.edu (147.31.254.132) /pub/src/widener/ftpd-wid.tar.Z

The stock Sun ftpd will log some information if you add the "-l"
flag in /etc/inetd.conf:

ftp stream tcp nowait root /usr/etc/in.ftpd in.ftpd -l

Warning: it will log passwords of ordinary users.

Also enable syslogd by adding:

daemon.info /var/adm/syslog

to "/etc/syslog.conf".

-----------------------------------------------------------------------------
8. Consoles, Keyboards and Key Remapping
-----------------------------------------------------------------------------
Subject: 8.1) How do I make the numeric keypad on a type 5 keyboard
work with xterm?

You need to patch the /usr/lib/X11/app-defaults/XTerm and
$OPENWINHOME/lib/app-defaults/XTerm files as described in sun patch
100713-01 or later.

-----------------------------------------------------------------------------
Subject: 8.2) How do I swap the CAPS LOCK and CONTROL keys on a
type 5 keyboard under Openwindows 3.x?

Don't do it with xmodmap, since that won't change the locking behaviour
of CAPS LOCK. Edit $OPENWINHOME/etc/keytables/US5.kt. There are two
places where keys 119 (CapsLock) and 76 (Control) should be swapped: the
MODMAP section and the KEYSYMMAP section. The latter is most important,
because that's where the "Pseudo-Lock" function (which controls the
locking behaviour of the key) is defined.

Thanks to Margarita Suarez <marg@manila.cc.columbia.edu> for the
answers to this and the previous question.

-----------------------------------------------------------------------------
Subject: 8.3) How do I use the keyboard and display when the console
is on ttya?

This technique is usable only on SunOS 4.x:

/dev/mouse and /dev/kbd are disabled when you use ttya or ttyb for
a console. You need to make new ones, which you can use with xdm
to support the keyboard and display while the console is on the
serial port. Here's how:

1. Make new special files corresponding to the "raw" kbd and mouse:
mknod /dev/zs2 c 12 2 # The keyboard
mknod /dev/zs3 c 12 3 # The mouse
These are just serial ports and will need some "special treatment"
in order to behave as /dev/kbd and /dev/mouse.

2. Shutdown your machine and tell the monitor to use ttya (or ttyb)
setenv input-device ttya
setenv output-device ttya
(or use the eeprom command to do this)

3. Reset and reboot. /dev/fb, /dev/kbd and /dev/mouse are now useless.
/dev/bwtwo0 (or whatever your framebuffer device is) works as a
substitute for /dev/fb. Also /dev/ttya (or ttyb) is useless - if you
have an entry in ttytab for it, comment it out.

4. Modify the StartOW file in the xdm directory
($OPENWINHOME/lib/xdm) and add the following lines:
KEYBOARD=/dev/zs2
MOUSE=/dev/zs3
FRAMEBUFFER=/dev/bwtwo0 # or whatever your framebuffer is
export MOUSE KEYBOARD FRAMEBUFFER
This file is only used by xdm to control the local display (see
the Xservers file). So setting these variables will not affect
xdm running on any other foreign display (i.e. xterminal).

5. Set the OPENWINHOME environment variable, then start xdm with the
config option, for example in /etc/rc:
OPENWINHOME=/usr/openwin; export OPENWINHOME
if [ -f $OPENWINHOME/lib/xdm/xdm-config ]; then
$OPENWINHOME/bin/xdm -config $OPENWINHOME/lib/xdm/xdm-config &
echo "Starting XDM..."
fi

Thanks to "John D. Barlow" <John.D.Barlow@arp.anu.edu.au> and
David Moline <drm@gaia.gcs.oz.au> for these instructions.

-----------------------------------------------------------------------------
9. Sun models and OS Versions
-----------------------------------------------------------------------------
Subject: 9.1) Which Sun models run which versions of SunOS?

SunOS 5.x = Solaris 2.x

Sun2: SunOS 4.0.3 or earlier.
Sun386i: SunOS 4.0, 4.0.1, 4.0.2 only.
Sun3: SunOS 4.1.1 or earlier.
4/100, 4/200 series: SunOS 3.2, SunOS 4.0 through 5.4
4/300 series: SunOS 4.0.3 through 5.4
4/400 series: SunOS 4.1PSR_A through 5.4
600 models 120, 140: SunOS 4.1.2 or later.
600 model 41, 51: SunOS 4.1.3 or later.
SPARCstation 1, 1+, SLC, IPC: SunOS 4.0.3 or later.
SPARCstation 2, ELC, IPX: SunOS 4.1.1 or later.
SPARCstation 4: SunOS 4.1.4 or later.
SPARCstation 5: SunOS 4.1.3_U1B or later.
SPARCstation 10 models 20, 30, 40, 41, 51, 61, 71: SunOS 4.1.3 or later.
SPARCstation 20 models 50, 51, 61, 71: SunOS 4.1.3_U1B or later.
SPARCstation 20 model HS11, HS21, 151: SunOS 4.1.4 or later.
SPARCclassic, SPARCstation LX: SunOS 4.1.3C or later.
SPARCstation Voyager: Solaris 2.3 edition II or later.
Ultra 1 model 140, 170: Solaris 2.5 or later.
Ultra 1 model 170E: Solaris 2.5.1 or later.

The following machines only run Solaris 2.x:
SPARCserver 1000, 1000E, SPARCcenter 2000, 2000E, Voyager, all
Ultra systems.

The SX framebuffer on the SS10 and 20 is only supported under Solaris 2.x.

SunOS 4.1.3 and later has been reported to run on multiprocessor SuperSPARC
configurations of the SS10, SS20, and 600, but this configuration is not
supported by Sun. Anyone who tries this is on their own. The (unofficial)
word from inside Sun about whether or not it actually works is as follows:

Little testing of the SuperSPARC MP configurations under 4.1.3
have been done by Sun. What little was done showed that under
heavy loads the system was prone to crash (What it really did was
hang, so badly that even an L1-A would not work).
...
We suspect, but do not know, that as the SuperSPARC chips get
faster that the problems will manifest themselves more quickly.

Caveat Emptor.

SunOS 5.0 runs only on SS1,1+,2,SLC,IPC,ELC,IPX.

While SunOS 5.x does run on the 4/100 and 4/200 systems, the FPU (if
present) is disabled, and floating point is emulated in software. The
latest version of SunOS 5.x (Solaris 2.x) that runs on the 4/100, 4/200,
4/300, and 4/400 systems is 5.4 (Solaris 2.4).

SunOS 5.3 (aka Solaris 2.3) is said to run on the SS5, but without support
for the audio device. Solaris 2.3 Edition II, Solaris 2.3 Hardware 5/94,
and later versions include audio support.

Not all peripherals supported under SunOS 4.x are supported under SunOS
5.x and vice versa. Check with Sun or the peripheral manufacturer.

Explanatory note:

In general, Solaris = SunOS + Open Windows.

Solaris 1.0 = SunOS 4.1.1 + Open Windows 2.0
Solaris 1.0.1 = SunOS 4.1.2 + Open Windows 2.0
Solaris 1.1 = SunOS 4.1.3 + Open Windows 3.0
Solaris 1.1C = SunOS 4.1.3C + Open Windows 3.0 (Classic/LX only)
Solaris 1.1.1 = SunOS 4.1.3_U1 + Open Windows 3.0_U1
Solaris 1.1.1revB = SunOS 4.1.3_U1revB + Open Windows 3.0_U1revB
Solaris 1.1.2 = SunOS 4.1.4 + Open Windows 3.0 (?)
Solaris 2.0 = SunOS 5.0 + Open Windows 3.0.1
Solaris 2.1 = SunOS 5.1 + Open Windows 3.1
Solaris 2.2 = SunOS 5.2 + Open Windows 3.2
Solaris 2.3 = SunOS 5.3 + Open Windows 3.3
Solaris 2.4 = SunOS 5.4 + Open Windows 3.4
Solaris 2.5 = SunOS 5.5 + Open Windows 3.5
Solaris 2.5.1 = SunOS 5.5.1 + Open Windows 3.5

-----------------------------------------------------------------------------
Subject: 9.2) How can my program tell what model Sun it is running on?

On older suns, the model type is encoded in the hostid. For
suns with the "Openboot" prom (All sparcstations and the 600 series),
/usr/etc/devinfo (SunOS 4.x) or /usr/sbin/prtconf (Solaris 2.x) will
reveal the model type.

"Suntype", written by John DiMarco (jdd@cdf.toronto.edu) is a shell
script which does the appropriate thing on all suns. It is available
for anonymous ftp from ra.mcs.anl.gov in /sun-managers/suntype

Alternatively, grab Michael Cooper (mcooper@usc.edu)'s "sysinfo"
program, which provides all sorts of information about a given system,
including how much machine type. sysinfo is available for anonymous ftp
from usc.edu in /pub/sysinfo.

-----------------------------------------------------------------------------
Subject: 9.3) What MBUS CPU modules are available? How can I tell
what module(s) is/are in what model of SS10/SS20/SS600?

Three sun models, the SS10, SS20 and the SparcServer 600 series, support
Sun's MBUS. All these machines have two MBUS slots. Both modules must be
of the same type.

SuperSPARC/w cache modules of different speeds are said to work, as are
three-processor systems (by combining a single and a dual module of the
same type), but such configurations are not supported by Sun.

Modules without external cache are not separately clocked, and run at the
clock rate of the MBUS. Modules with external cache are separately clocked,
and must run at a clock rate higher than that of the MBUS.

The SS20 has a switchable 40/50MHz MBUS, the SS600 has a 40MHz mbus, and
the SS10 has a switchable 33/36/40MHz MBUS.

Warning: different module revisions may or may not work in different
systems. Check the Sun part number. Further, newer modules may require
that the machine have a sufficiently recent PROM revision to work.

Module #CPUS Processor Clck Ex.Cache Comments
------- ------ ---------- ---- -------- -------------------------------
RT601 2 RT601/CY601 40 64k Rev 8 required for SunOS 5.x
SM20 1 SuperSPARC 33 - SS10 only
SM21 1 SuperSPARC 33 1M Not sold by Sun
SM30 1 SuperSPARC 36 - SS10 only
SM40 1 SuperSPARC 40 - SS10 or SS600 only
SM41 1 SuperSPARC 40.3 1M SS10 or SS600 only
SM50 1 SuperSPARC 50 - SS20 only
SM51 1 SuperSPARC 50 1M
SM52 2 SuperSPARC 45 1M Announced, never sold.
SM512(?) 2 SuperSPARC 50 1M Dbl-width: 1 SBUS + 1 MBUS slot
SM61 1 SuperSPARC 60 1M
SM61 1 SuperSPARC 60 2M SC2000 only
SM71 1 SuperSPARC2 75 1M
SM81 1 SuperSPARC2 85 1M SS1000 only
SM81-2 1 SuperSPARC2 85 2M SC2000 only
RTS55 1 HyperSPARC 55 256k Non-Sun, SS10 or SS600 only
RTD55 2 HyperSPARC 55 256k Non-Sun, SS10 or SS600 only
RTS66 1 HyperSPARC 66 256k Non-Sun
RTD66 2 HyperSPARC 66 256k Non-Sun
RTS72 1 HyperSPARC 72 256k Non-Sun
RTD72 2 HyperSPARC 72 256k Non-Sun
RTS90 1 HyperSPARC 90 256k Non-Sun
RTD90 1 HyperSPARC 90 256k Non-Sun
RTS100 1 HyperSPARC 100 256k Non-Sun
RTD110 1 HyperSPARC 110 256k Non-Sun
RTS110/1024 1 HyperSPARC 110 1M Non-Sun
RTD110/1024 2 HyperSPARC 110 1M Non-Sun
RTS125 1 HyperSPARC 125 256k Non-Sun
RTD125 2 HyperSPARC 125 256k Non-Sun
RTS125/512 1 HyperSPARC 125 512k Non-Sun
RTD125/512 2 HyperSPARC 125 512k Non-Sun
RTS125/1024 1 HyperSPARC 125 1M Non-Sun
RTD125/1024 2 HyperSPARC 125 1M Non-Sun
RTS133/512 1 HyperSPARC 133 512k Non-Sun
RTD133/512 2 HyperSPARC 133 512k Non-Sun
RTS142/1024 1 HyperSPARC 142 1M Non-Sun
RTS150/512 1 HyperSPARC 150 512k
RTS166/512 1 HyperSPARC 166 512k Non-Sun
SMHS11 1 HyperSPARC 100 256k SS20 only
SMHS12 2 HyperSPARC 100 256k Double-width: SS20 only
SMHS21 1 HyperSPARC 125 256k SS20 only
SM151 1 HyperSPARC 150 512k SS20 only

Key to SS600/SS10/SS20 model numbers:

RT601 (40Mhz SS2-class Ross) systems:
Model "1n0", n=number of CPUs (2 or 4)
Examples: 120, 140
SuperSPARC systems:
Uniprocessor:
Model "sc", s=clock speed, c=MBs of external cache
Examples: 20, 30, 40, 41, 50, 51, 61, 71
Multiprocessor:
Model "scn", s=clock speed, c=MBs of external cache (0 or 1),
n=number of CPUs
Examples: 402, 412, 502, 512, 612, 712
Speeds: 2=33Mhz, 3=36MHz, 4=40MHz, 5=50MHz, 6=60Mhz, 7=75MHz
HyperSPARC systems:
Model "HSsn", s=clock speed, n=number of CPUs
Speeds: 1=100Mhz, 2=125Mhz
Examples: HS11, HS12, HS14, HS21, HS22
Exception: SparcStation 151 is 1x150Mhz HyperSPARC, 152 is 2x150Mhz

-----------------------------------------------------------------------------
10. Miscellaneous Software
-----------------------------------------------------------------------------
Subject: 10.1) My rdump is failing with a "Protocol botched" message.
What do I do?

The problem produces output like the following:

DUMP: Date of this level 0 dump: Wed Jan 6 08:50:01 1993
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rsd0a (/) to /dev/nrst8 on host foo
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 8232 blocks (4.02MB) on 0.00 tape(s).
DUMP: Protocol to remote tape server botched (in rmtgets).
rdump: Lost connection to remote host.
DUMP: Bad return code from dump: 1

This occurs when something in .cshrc on the remote machine prints
something to stdout or stderr (eg. stty, echo). The rdump command
doesn't expect this, and chokes. Other commands which use the rsh
protocol (eg. rdist, rtar) may also be affected.

The way to get around this is to add the following line near the
beginning of .cshrc, before any command that might send something
to stdout or stderr:

if ( ! $?prompt ) exit

This causes .cshrc to exit when prompt isn't set, which distinguishes
between remote commands (eg. rdump, rsh) where these variables are not
set, and interactive sessions (eg. rlogin) where they are.

-----------------------------------------------------------------------------
Subject: 10.2) My rpc.etherd keeps reporting "bad lnth" messages. Why?

There is a bug in the ethernet driver for SunOS 4.x which causes short
requests (eg arp, ICMP, loopback) sent by the host to be forwarded to
rpc.etherd with incorrect padding. The message is harmless, and can be
safely ignored.

-----------------------------------------------------------------------------
Subject: 10.3) Various daemons report "unknown service" messages. Why?

In SunOS 4.x, this is usually caused by a blank line in /etc/services or
in the services map on the NIS server. Remove all blank lines from
/etc/services, and the problem should be resolved.

-----------------------------------------------------------------------------
Subject: 10.4) * Solaris 2.x does not have a C compiler. Where can I get one?

You can buy one from Sun and various third-party vendors.

A very old version of GCC is available on the Sun Catalyst CD-WARE #3 CD-ROM
under Cygnus. This version should only be used to compile a more recent
version of GCC.

Recent GCC binaries can be retrieved from the following FTP sites:

1) ftp://ftp.lanet.lv/pub/unix/solaris2/
2) ftp://nic.switch.ch/mirror/gnu-sparc-solaris/
This site is said to contain several programs/libraries for Solaris2.X.
(i.e. gcc, emacs, gdb, libg++, gawk, diff, make, sed)
3) ftp://sunsite.unc.edu/pub/gnu/solaris-pkgs/
4) ftp://ftp.quintus.com/pub/GNU/sparc/
5) http://smc.vnet.net/solaris_2.5.html
6) http://www.gnu.org/order/ftp.html
7) http://gamma.magnet.fsu.edu/download/gnu

Thanks to Kevin Inscoe <kpi@hobbes.crc.com>

-----------------------------------------------------------------------------
11. Miscellaneous Hardware
-----------------------------------------------------------------------------
Subject: 11.1) How come my mouse occasionally doesn't work?

If it is a mechanical mouse, it may need cleaning. The following assumes
it is an optical mouse.

You may have one of the bad mice that came with early SS-1 shipments.
The LED on the underside of the mouse can fail. Request a replacement
from Sun.

Alternatively, you may have an old mouse. martin@gea.hsr.it (Martin Achilli)
writes:

Sun optical mice P/N 370-1170-01 have two LEDs on the underside.
One is a normal red LED, the other is an infrared LED. Old mice
(4+ years) can have trouble tracking horizontal motion. Cleaning
the mouse pad with a solvent may improve things slightly but not
completely. I have replaced the red LED on the mouse PCB for eight
of my twelve optical mice and the problem has gone. All you need
to do is purchase a red LED of the type than focus the beam, NOT
the unfocused type that are normally found as indicator lights on
equipment. Open the mouse and remove the PCB by unplugging the
small black connector. Be careful with the two small spherical
lenses which can fall out and easily be lost. Mark the PCB and one
of the LED's leads to note the orientation, then desolder the LED
marked L1. Pull out the leads from above and pull the LED out of
the black plastic mounting. Be careful since the mounting is only
glued to the PCB. Check for polarity before inserting the new LED,
I noticed that for all the LEDs that I installed, the longer lead
must go into the PCB hole close to the letters L1. First fold the
LED leads like the ones of the one you are replacing, and then
insert it into the mounting, solder the leads and close the mouse.
After this, horizontal motion should be much smoother. Disclaimer:
I will not take any responsibility for any failure or damage
arising from the above procedure

Thanks to Martin Achilli <martin@gea.hsr.it>.

Finally, the wire inside the mouse cable may be suffering from fatigue,
usually where the cable is attached to the mouse. If you turn the mouse
over, and wiggle the cable where it is attached to the mouse, and if you
see the visibly lit LED flickering while you do this, this is your problem.

-----------------------------------------------------------------------------
Subject: 11.2) How can I turn my Sun3 into an X-Terminal?

You can simply replace the getty command for the console in /etc/ttytab
with a command that starts up an X server. Alternatively, you can use
Seth Robertson's Xkernel package. This is available via anonymous ftp
from sol.ctr.columbia.edu (128.59.64.40) in /Xkernel. The package
describes how to configure a minimal kernel that runs the X server and
offloads all the clients onto another, hopefully more powerful host on
the network. This is attractive to some sites that have a large
investment in sun3 platforms, as moving most of the processing off the
sun3 cpu makes it tolerable to use. The price of a used 3/50 is
competitive with low-end X Terminals and you get a 19" monitor with an
optical mouse. Some disadvantages are that 4.1.1 is supposed to be the
last SunOS release on the sun3, and maintenance costs may be higher for
sun3 hardware.

-----------------------------------------------------------------------------
Subject: 11.3) How do I do hardware flow control on an ALM-2?

Hardware flow control is only supported on the first four ports
(0-3) of the ALM-2. The other ports do not support hardware flow
control. So just use one of ports 0-3.

-----------------------------------------------------------------------------
Subject: 11.4) Is there a third-party source for SPARCprinter consumables?

Yes, there is. The SPARCprinter is OEM'ed by Xerox, and uses the same
consumables as the Xerox 4030 laserprinter. The appropriate part
numbers are:

Toner cartridge: 365-1124-01 Sun
6R281 Xerox

Drum cartridge: 365-1125-01 Sun
13R32 Xerox

Fuser Lubricant/oil: 370-1371-01 Sun
94E95090 Xerox

Fuser wick: 811-1687 Sun (Sun Express)

These parts are available from various resellers.

-----------------------------------------------------------------------------
Subject: 11.5) * How can I use a VGA monitor on my Sun?

A simple adapter will connect a Sun to a VGA multi-sync monitor, providing
the monitor (like most better monitors these days) will accept composite
sync and operate in 1152x900 66 Hz (or whatever output your sun produces)
mode. (Check the manufacturer's data sheets, usually on the Web.)

Adapters are available from:

Ultraspec Cables, Inc., Lakewood, NJ, USA
(voice) (NA) 1-800-622-2537 (int'l) 1-908-901-0200
(fax) (NA) 1-800-222-5337 (int'l) 1-908-901-0240
(e-mail) sales@ultraspec.com
The Sun -> VGA adapter is part number 1395

Nudata (908-842-1161, fax 908-905-5708) part number DA1152

Thanks to Randolph Fritz <randolph@teleport.com> for the above.

Bert N. Shure <bert@virtual.com> points out that Integrix sells a VGA SBUS
framebuffer, the HD15, which permits ordinary VGA monitors to be used on
Suns. Integrix also sells various SVGA framebuffers. For more
information, consult http://www.integrix.com

-----------------------------------------------------------------------------
12. Networking
-----------------------------------------------------------------------------
Subject: 12.1) Why do both my net interfaces have the same ethernet address?

The Ethernet version 2.0 specification (November 1982) states:

The physical address of each station is set by network
management to a unique value associated with the station,
and distinct from the address of any other station on any
Ethernet. The setting of the station's physical address
by network management allows multiple multiple data link
controllers connected to a single station to respond to
the same physical address.

This doesn't normally constitute a problem because each interface will
typically be on a different subnet. If, for some reason, different
ethernet addresses are required on different interfaces (for example, to
attach two interfaces to the same subnet), a new one may be assigned
using the ifconfig command.

-----------------------------------------------------------------------------
13. Electronic Mail
-----------------------------------------------------------------------------
Subject: 13.1) Where can I get a POP or IMAP server for my sun?

The PINE email package comes with both a POP and an IMAP server. PINE
can be found at ftp://ftp.cac.washington.edu/pine/. An old, unmaintained
Berkeley popd can be found at ftp://ftp.cc.berkeley.edu/pub/pop
(not recommended), and Casper Dik's enhanced version for Solaris is found
at ftp://ftp.fwi.uva.nl/pub/solaris/. A POP server can also be found as part
of the Eudora ftp repository, at ftp://ftp.qualcomm.com/quest/unix/servers/
Finally, the CMU Cyrus IMAP server can be used. It can be found at
ftp://ftp.andrew.cmu.edu/pub/cyrus-mail.