Sun Managers Frequently Asked Questions (FAQ)

From: John DiMarco (
Date: Sun Jul 16 1995 - 23:30:09 CDT

Archive-name: sun-managers-faq

Sun-Managers' Frequently Asked Questions
$Id: faq,v 3.75 1995/07/14 17:17:19 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, 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 ( However,
all corrections/submissions should be sent to "".


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?

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?
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?

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?

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?

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


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 "". 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".

  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 "" 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
  "" 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
  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: as described in the previous
  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.
      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 "".
  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 "" archives every summary sent to
  the list. Questions are not archived. This site provides access to its
  archives via the WAIS and gopher protocols. It does NOT provide any
  anonymous FTP access.

  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 in the directory "/wais". A WAIS "source" entry for
  the sun-managers WAIS information server is available via anonymous FTP
  from "" in the file "/sun-managers/sun-managers.src".

  Gopher is a distributed document delivery service which allows even a
  neophyte user access to a wide variety of information. If your system
  already has a gopher client installed, you can access the sun-managers
  gopher by simply typing "gopher". Source for Unix
  gopher clients can be obtained via anonymous FTP from
  "" in the directory "/pub/gopher/Unix".

  You can access the archives over the World Wide Web by referencing the
  URL "".

  Even if you do not have full access to the Internet, you can still take
  advantage of 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 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.

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 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
  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) add/remove requests submissions archive requests

      CIAC notes (US. DOE Computer Incident Advisory Capability) add/remove requests human list manager

      CERT Advisory mailing list (security notifications for Suns and others) add/remove requests

      Solaris 2.x Autoconfiguration add/remove requests submissions
      Auspex: managers of Auspex NFS file servers
 add/remove requests
      Epoch: managers of Epoch NFS file servers
          EPoch Users Forum (EPUF)
 add/remove requests
  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

  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, 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 <> 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 ""
  ( and "" ( 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": (Rutgers University) (University of Nebraska in Lincoln) (SURAnet archie server) (ANS archie server) (Australian server) (European server in Finland) (UK/England server) (Israel server) (Japanese server) (Scandinavian server) (Taiwan server) (New Zealand server) (Germany server) (Switzerland server) (Italy server) (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 <>. It can be obtained
  by anonymous ftp to, in /pub/solaris. An HTML version
  can be obtained at

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

*** 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 "" 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 ( in
  /.2/BSD-UCB/bind.4.8.3.tar.Z. resolv+ is on (
  in pub/unix/sun/resolv+-2.1.tar.Z. A later version is available at
  The latest version of bind is available from (
  in /.8/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:

  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>

  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

  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 <>.

  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

  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 groups
         nisupdkeys -CH org
         nisupdkeys -CH
         (This CLEARS the public key for the HOST "" in this
  2. Kill rpc.nisd and restart it at security level O then run this command:
         nistbladm -R
  nisaddcred des
         <This deletes the old credential and creates a new one.>
  3. Shutdown and restart any replicas of org at run level O
         nisping org
  <This propogates the new key pair to the replicas.>
         nisupddkeys org
         nisupdkeys groupa
         <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 <> and Sun INFODOC ID 2213 for this

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

  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 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

  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

    :0 local $OPENWINHOME/lib/xdm/StartOW -nosunview \ -fp

  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 <> 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 ( in
  /pub/gnu. GSPreview is on ( 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 and apply it. Configure and
  compile as per the patch instructions.

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

    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
    Fujitsu FAXLINE 408-428-0456
    Fujitsu Canada 416-602-5454
    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
    Seagate FAX 408-438-8137
    Seagate FAXBACK 408-438-2620
    Quantum USA 800-826-8022
    Conner USA 408-456-3247
    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 in
  /sun-managers/format.dat. It is currently maintained by John DiMarco
  ( New entries (especially vendor-suggested ones)
  are welcome; mail them to

  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 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 (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
  <> for this suggestion.) Tapping the disk lightly may
  also work, but this is understandably risky.

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 ('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 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


        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 <>.

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,
            {0x00, 0x00, 0x00, 0x00},

  Recompile your kernel, and reboot with the new kernel.

  Thanks to Dave Mitchell <> and
   (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

    /* Exabyte 4mm 2GB cartridge */
      "Exabyte EXB-4200 4mm Helical Scan", 16, "EXABYTE EXB-4200",
      ST_TYPE_DEFAULT, 1024,
      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,
      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 <>.

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

  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.

  For more information about third-party CD-ROMS on Suns, consult the
  CD-ROM FAQ, which is posted periodically to comp.sys.sun.hardware.

  Thanks to Kevin Sheehan <>

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,
          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 <>

  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.

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 in /pub/top. A version of Sps that runs on
  Solaris 2.x is available at in

  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

  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 "" in
  the file "/sun-managers/mem.shar". Or even better, grab Michael Cooper
  ('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 in

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

  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 as

  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.

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,* 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: ( /packages/ftpd.wuarchive.shar ( /pub/ftpd.tar.Z ( /pub/4.3/ftpd-sirius.tar.Z ( /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: /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 <> 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:
        FRAMEBUFFER=/dev/bwtwo0 # or whatever your framebuffer is
     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..."

     Thanks to "John D. Barlow" <> and
     David Moline <> for these instructions.

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

  SunOS 4.x configurations:
  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 or later.
  4/300 series: SunOS 4.0.3 or later.
  4/400 series: SunOS 4.1PSR_A or later.
  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: SunOS 4.1.3 or later.
  SPARCstation 20 models 50, 51, 61: SunOS 4.1.3_U1B or later.
  SPARCstation 20 model HS11: SunOS 4.1.4 or later.
  SPARCclassic, SPARCstation LX: SunOS 4.1.3C or later.
  SPARCstation Voyager: Solaris 2.3 edition II or later.

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

  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.

  Note that SS20, Classic, LX, Voyager, and SS5 systems do not come with a
  right-to-use license for 4.1.x; this needs to be purchased separately.

  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.

  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

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 ( is a shell
  script which does the appropriate thing on all suns. It is available
  for anonymous ftp from in /sun-managers/suntype

  Alternatively, grab Michael Cooper ('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 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.

  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 Double-width: 1 SBUS + 1 MBUS slot
  SM61 1 SuperSPARC 60 1M
  SM71 1 SuperSPARC 75 1M
  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
  RTS100 1 HyperSPARC 100 256k Non-Sun
  RTD110 1 HyperSPARC 110 256k 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

  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:
        Model "sc", s=clock speed, c=MBs of external cache
        Examples: 20, 30, 40, 41, 50, 51, 61, 71
        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

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.

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

  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.

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 ( 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)

  Xerox may be contacted in the US by calling 800-822-2200, or their tech
  support number: 800-822-2979.

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.

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:10:29 CDT