Sun Managers Frequently Asked Questions (FAQ)

From: John DiMarco (jdd@cs.toronto.edu)
Date: Fri Jan 02 2004 - 00:30:01 EST


Archive-name: sunmanagers-faq

Sun-Managers' Frequently Asked Questions
$Id: faq,v 4.41 2003/10/03 20:14:48 jdd Exp $

This is collection of common questions posted to the sunmanagers 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
ignificant changes of content since the last issue are marked by '*'

The Information Files maintainer is John DiMarco <jdd@cs.toronto.edu>. All
corrections, submissions and FAQ administration-related messages should go to
"sunmanagers-faq@sunmanagers.org". Do not send questions, subscription or
unsubscription requests, or sunmanagers postings to this address; they will
be quietly ignored.

The List Server maintainer is Bill Bradford <mrbill@mrbill.net>. Any problems
with the mailing list server should be directed to Bill.

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

1. The Sun-Manager's Mailing list
         1.1) How do I read, join, post to, or remove myself from the
                  sunmanagers mailing list?
         1.2) What is the Sun-Manager's Charter? What are the rules?
         1.3) Are there any public archives for the sunmanagers list?
         1.4) What should I keep in mind when posting to sunmanagers?
         1.5) What other forums are there for Suns?
         1.6) Where are the answers to questions about old Suns/SunOS4?
         1.7) What fields can I use to filter Sun Managers email?

2. Getting Help Over the Net
         2.1) How do I find out what patches are available from Sun?
         2.2) How do I get help upgrading to Solaris 2.x?
         2.3) How do I access Sun's documentation over the net?
         2.4) To which web sites can I go for help?

3. NIS, NIS+, DNS, and NFS
         3.1) How do I use DNS for hostname resolution?
         3.2) How do I change NIS+ credentials for the root master server?
         3.3) When I compile something, errors occur saying _dlopen
                  and other _dl routines can't be found. Why?

4. Window Systems
         4.1) 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 replace the internal drive in a desktop Sun with a
                 higher capacity model?
         5.3) Is it okay to disconnect or connect SCSI devices while
                  powered on?
         5.4) How do I configure my sun to use Exabyte 4mm DAT tape drives?
         5.5) Why is tagged queueing a problem on my third-party disk?
         5.6) Why don't third-party CD-ROMS work on my sun?
         5.7) What size and density parameters should I use for ufsdump
                 with a high-capacity tape drive?
         5.8) My floppy/cdrom device says "device busy". What do I do?
         5.9) What software is available for CD-R/CD-RW?
         5.10) Where is my disk space? The "du" and "df" commands disagree.
         5.11) How do I use an EIDE/ATA disk larger than 8GB?

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?
         6.6) How do I add more PTYs?
             
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 a Windows PC for a Sun serial console?

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?
         9.4) Which versions of SunOS/Solaris are Y2000 compliant? Are
                  there patches for older versions of SunOS/Solaris?
         9.5) What is the Y2000 compliance status of Sun hardware?
         9.6) How do I find out a Sun's boot prom revision?
         9.7) Which hardware/software is capable of 64-bit? Which
                  is only 64-bit? How can I tell which is running?

10. Miscellaneous Software
Subject: 10.1) My remote ufsdump is failing with a "Protocol botched"
                 message. What do I do?
         10.2) Where can I get a C compiler for Solaris 2.x?
         10.3) How do I read Microsoft Word documents on my Sun?
         10.4) How do I restore to a different location the contents of a
                  tarfile created with absolute pathnames?

11. Miscellaneous Hardware
         11.1) How come my mouse occasionally doesn't work?
         11.2) How can I turn my old sun into an X-Terminal?
         11.3) How can I use a VGA monitor on my Sun?
         11.4) Where can I find alternate pointing devices for my Sun?
         11.5) What should I do about my Ultra-1's CPU cooling fan?

12. Networking
         12.1) Why do both my net interfaces have the same ethernet address?
         12.2) How can I know the hardware vendor from an ethernet address?
         12.3) How do I set my hme interface to e.g. 100Mb full duplex?
         12.4) How do I find out what process is using a particular port?
         12.5) I have a lot of ports in WAIT states. Why?

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

14. Printing
         14.1) Is there a third-party source for SPARCprinter consumables?
         14.2) How do I configure a non-postscript printer for postscript?

15. Misc System Administration
         15.1) I've forgotten the root password; how can I recover?
         15.2) How do I disable/remap STOP-A/L1-A?

                                Answers

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

  Point your web browser to http://www.sunmanagers.org

  Persons without web access should send a mail message to
  "sunmanagers-request@sunmanagers.org" containing the single word "help".

  Messages can be posted to the list by mailing them to the address
  "sunmanagers@sunmanagers.org". Do not do this until you have read the
  charter/policy (question 1.2) and the "how to post" document at
  http://www.sunmanagers.org.

  The policy and the "how to post" document is sent to the entire list twice
  a month. It is also sent out to every new subscriber and is available at
  http://www.sunmanagers.org.

  The latest version of the FAQ (this file) is available at
  http://www.sunmanagers.org

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

  2: Requests to have addresses added or removed from the list should NOT
      be sent to the entire list. Instead, addresses should be added
      or removed via the web page at http://www.sunmanagers.org
      Similarly, test messages of any sort should not be sent to the list.

  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: All responses are to be mailed back to the questioner and are NOT to be
      sent to the entire list. Any response to a list message sent to the
      list, rather than to the person asking the question, will be deleted
      without notice. 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,
      the word "SUMMARY" should be 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: Commercial Advertising of any sort on the list is strictly prohibited.

  8: Postings about employment, either employment sought or offered, are not
      permitted on this list. Please use a more appropriate forum, e.g. one
      of the newsgroups in the misc.jobs USENET hierarchy.

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

  10: Read the appropriate manuals BEFORE posting, including the "Read
      This First" documents. Oftentimes the manuals contain answers for
      common problems.

  11: 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 not helpful; don't bother sending them to
      the list.

  12: A posting to sunmanagers is not a general invitation to email the
      poster -- if you wish to send email to a sunmanagers poster, the email
      you send should be related to the posting, else it will be unsolicited
      email and may be treated like any other unsolicited email (e.g. spam).
      Sunmanagers is not to be used to collect email addresses of people who
      manage Sun systems. Those who do this not only violate the list's
      policy, but risk seriously offending the very people they are
      attempting to reach.

  13: 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 included in the FAQ. Perhaps your message would be more
      appropriate there? Remember that Sunmanagers is very public: we have
      thousands of subscribers, all postings are archived for posterity on
      various archive sites, and these sites are in turn searchable via
      various web engines. Submitting a posting is irreversible -- once
      it goes out, it cannot be taken back!

  Failure to adhere to these guidelines may result in severe chastisement by
  the 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
  incompetence, you may end up damaging your professional reputation.

-----------------------------------------------------------------------------
Subject: 1.3) Are there any public archives for the sunmanagers list?

  Sunmanagers' official archive is accessible at http://www.sunmanagers.org
  All postings are automatically archived. It is our policy not to
  accommodate requests to modify the archives, so if you are uncomfortable
  with your submissions in their entirety being public, do not submit them.

  Also, various members also keep their own archives on their own
  initiative. Some of these are public. Here are some we know about:

  http://aa11.cjb.net/sun_managers/index.htm

  Hank Leininger <hlein@progressive-comp.com> maintains a searchable archive
  site of messages (both questions and summaries) in Florida.
  It can be accessed at: http://marc.theaimsgroup.com/?l=sun-managers

  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

  Manfred Liebchen <liebchen@rrz.Uni-Koeln.DE> maintains an
  archive site in Germany. It can be accessed at:
  http://www.uni-koeln.de/RRZK/Abt-Systeme/sun/infos/SUN-MANAGERS/sunman.html

  Older summaries (up to mid-1999) are available at
  http://www.latech.edu/sunman.html

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

  o VERY IMPORTANT! Before you post, read the sunmanager's list policy,
    which is available at http://www.sunmanagers.org

  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 have 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. Further, your posting will be archived in various
    places, some public, some private -- we have no way of knowing all the
    archive locations. Some of these archives, including the official one at
    http://www.sunmanagers.org, are web-searchable. It is our policy not to
    accommodate requests to remove or modify postings as archived on
    http://www.sunmanagers.org. Once you submit your message, it will be
    irretrievably accessible to a large number of people. There is no
    "taking it back".

  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 When making a summary, please summarize as much as possible all the
    answers you received, even the ones you didn't decide to follow: if
    you receive several different suggestions, and decided on one,
    remember that somebody else reading the summary may not find the
    suggestion you followed to be the best one in his or her situation,
    and may benefit from one of the suggestions you didn't choose.

  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:
  
  USENET Newsgroups (accessible via "rn", "readnews", "nn", netscape, etc.):
  
  There is entire USENET heirarchy devoted to Sun equipment. Some of these groups
  include:
  
        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

      SunHelp (Discussion/help/chat about Sun machines and Software)
        http://www.sunhelp.org/mailman/listinfo/sunhelp

      Rescue (Rescuing old Sun equipment from the dump)
        http://www.sunhelp.org/mailman/listinfo/rescue

      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

      ssa-managers (Sun RAID software and hardware products)
        majordomo@eng.auburn.edu add/remove requests
        (e.g. send "subscribe ssa-managers" in message body)

      veritas-users (Veritas products)
        http://mailman.eng.auburn.edu/mailman/listinfo

      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 on Intel-based (x86) machines
        solarisonintel-subscribe@egroups.com add/remove requests
        solarisonintel@egroups.com submissions
        solarisonintel-owner@egroups.com human list manager
        http://www.egroups.com/list/solarisonintel/
  
      Auspex: managers of Auspex NFS file servers
        auspex-request@princeton.edu add/remove requests
        auspex@princeton.edu 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

      disksuite-l: for users who use Sun's Solstice Disksuite software
        majordomo@lists.veritel.com.br add/remove requests
        sysadm@veritel.com.br list owner

      Linuxmanagers: for users of Linux, including Sun Linux.
        http://www.linuxmanagers.org

  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!

  For Web pages, see the answer to question 2.4.
  
-----------------------------------------------------------------------------
Subject: 1.6) Where are the answers to questions about old Suns/SunOS4?

  Those questions and answers used to be in this FAQ, but since they're no
  longer frequently asked, they've been moved to a different file, available
  at ftp://ftp.cs.toronto.edu/pub/jdd/sunmanagers/faq-old

-----------------------------------------------------------------------------
Subject: 1.7) What fields can I use to filter Sun Managers email?

  The following headers will exist in any mail to the list:

  To: sunmanagers@sunmanagers.org
  List-Help: <mailto:sunmanagers-request@sunmanagers.org?subject=help>
  List-Post: <mailto:sunmanagers@sunmanagers.org>
  List-Subscribe:
  <http://www.sunmanagers.org/mailman/listinfo/sunmanagers>,
          <mailto:sunmanagers-request@sunmanagers.org?subject=subscribe>
  List-Id: The Sun Managers Mailing List <sunmanagers.sunmanagers.org>
  List-Unsubscribe:
  <http://www.sunmanagers.org/mailman/listinfo/sunmanagers>,
          
  <mailto:sunmanagers-request@sunmanagers.org?subject=unsubscribe>
  List-Archive: <http://www.sunmanagers.org/pipermail/sunmanagers/>

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

  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
  SunOS 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) 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 John Pancharian and
  hosted by IT World at http://www.itworld.com/Comp/2377/security-faq/

-----------------------------------------------------------------------------
Subject: 2.3) How do I access Sun's documentation over the net?

  Sun has a web site devoted to documentation, at http://docs.sun.com

-----------------------------------------------------------------------------
Subject: 2.4) To which web sites can I go for help?

  This is not a complete list, but:

  First, see the answer to question 2.2.

  Sun's documentation is available at http://docs.sun.com
  You can search the Sun newsgroups at http://www.dejanews.com
  Sun-Managers Archives are described in the answer to question 1.3 above.

  Some sites suggested by Jeffrey Meltzer <meltzer@villagenet.com> are:

        SolarisGuide http://www.solarisguide.com
        ISP-Solaris http://www.isp-solaris.com
        SunHelp http://www.sunhelp.org
        SolarisCentral http://www.solariscentral.org
        SunGuru http://www.sunguru.com
        SunFreeware http://www.sunfreeware.com

  Gil Young <gjy@hobbes.crc.comm> runs a Solaris Forum at Brainbuzz:

        http://networking.brainbuzz.com/boards/viewboardmessages.asp,b~S2B43

  Hisham Al Saad" <ahisham@batelco.com.bh> recommends a Solaris-Specific
  search engine at http://www.searchSolaris.com

  Eric De Mund <ead@ixian.com> suggests the BigAdmin site run by Sun,
  at http://www.sun.com/bigadmin, and Celete Stokeley's site at
  http://www.stokely.com/unix.sysadm.resources

  Alan Pae <paedalbu@yahoo.com> suggests Sun Country, at
  http://www.geocities.com/paedalbu, which is mirrored at
  http://resources.solaris-x86.org

-----------------------------------------------------------------------------
3. NIS, NIS+, DNS, and NFS
-----------------------------------------------------------------------------
Subject: 3.1) How do I use DNS for hostname resolution?

  In Solaris 2.x, this is easy: simply edit /etc/nsswitch.conf
  and put "dns" before (or instead of) nis or nisplus on the line that begins
  with "hosts:". For example, to look up hostnames first in the host
  file and then in the DNS, use "hosts: files dns"

-----------------------------------------------------------------------------
Subject: 3.2) 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 -p 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 groups_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.3) When I compile something, errors occur saying _dlopen
                  and other _dl routines can't be found. Why?

  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. The source code below provides do-nothing stubs
  for the routines in question.

        /* libdl stubs -- John DiMarco <jdd@cs.toronto.edu> */
        char *dgettext(domainname, msgid)
        char *domainname;
        char *msgid;
        { return(msgid); }
         
        void *dlopen(pathname, mode)
        char *pathname;
        int mode;
        { return((void *)NULL); }
         
        void *dlsym(handle, name)
        void *handle;
        char *name;
        { return((void *)NULL); }
         
        char *dlerror()
        { return(NULL); }

        int dlclose(handle)
        void *handle;
        { return(0); }

-----------------------------------------------------------------------------
4. Window Systems
-----------------------------------------------------------------------------
Subject: 4.1) 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.

  Most drive manufacturers provide drive specifications from their web
  sites. Try these:

        http://www.seagate.com (Seagate, Connor, Imprimis, CDC)
        http://www.fujitsu.com/products/support.html (Fujitsu)
        http://www.maxtor.com (Maxtor, Quantum, Micropolis)
        http://www.samsungelectronics.com (Samsung)
        http://www.storage.ibm.com (IBM)
        http://www.westerndigital.com (Western Digital)

  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
    Maxtor USA 800-2MA-XTOR
    Maxtor FAXBACK 303-678-2618
    Seagate USA 800-468-3472
                    405-936-1200
    Seagate FAX 408-438-8137
    Seagate FAXBACK 408-438-2620

  A format.dat file containing entries submitted by various people is
  available for anonymous ftp at
        ftp://ftp.cs.toronto.edu/pub/jdd/sunmanagers/format.dat
  It is currently maintained by John DiMarco (jdd@cs.toronto.edu). New
  entries are welcome; mail them to sunmanagers-format@sunmanagers.org

  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.

  For SCSI disks on modern suns, a format.dat entry can be auto-generated
  using John DiMarco's scsiinfo program, available at
  ftp://ftp.cs.toronto.edu/pub/jdd/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 replace the internal drive in a desktop Sun with a
                  higher capacity model?
 
  Yes, so long as the drive does not pull more power and/or require more heat
  than the drive for which the machine was designed. For a SPARCstation 1,
  1+, or 2, do not use a disk dissipating more than 10W. For a later
  SPARCstation, do not use a disk dissipating more than 11W. Most 5400rpm
  drives should be alright; 7200rpm drives or faster, particularly early
  7200rpm drives, are likely to be too hot.
 
  For systems which support two drives, if only one drive is installed, it
  should be possible to relax this constraint somewhat.

  For desktop suns with EIDE drives running Solaris 2.6 or earlier, the
  operating system supports only the first 8GB of an EIDE drive; see question
  5.11 for more details.

-----------------------------------------------------------------------------
Subject: 5.3) 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.4) How do I configure my sun to use Exabyte 4mm DAT tape drives?

  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.5) Why is tagged queueing a problem on my third-party disk?

  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.cs.toronto.edu/pub/jdd/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.6) 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://saturn.tlug.org/suncdfaq". A UK mirror is
  available at "http://www.datamodl.demon.co.uk/suncd/".

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

  The only purpose of the ufsdump 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. But ufsdump can detect the
  end of media for all modern tape drives, and will automatically prompt for
  new tapes when needed, so as long as the size and density parameters
  indicate a tape as long as or longer than the one you're using, ufsdump
  will behave properly.

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

-----------------------------------------------------------------------------
Subject: 5.8) My floppy/cdrom device says "device busy". What do I do?

  The Volume Manager (vold) is probably holding the device open. You can
  access a floppy through the volume manager by typing "volcheck" and looking
  in /floppy/*. CD-ROMs don't require volcheck; just insert one and the
  volume manager should automatically notice, and mount it under /cdrom/*.
  Unmount by typing "eject floppy" or "eject cdrom", respectively. The
  Volume Manager can be configured by editing /etc/vold.conf.

  If you need to access a floppy or CD-ROM special device, however, you may
  need to turn off the volume manager. As root, type "/etc/init.d/volmgt
  stop". To turn it back on, type "/etc/init.d/volmgt start".

-----------------------------------------------------------------------------
Subject: 5.9) What software is available for CD-R/CD-RW?

   Commercial Software:

   GEAR by Elektoson
        - http://www.elektroson.com/
   Young Minds
        - http://www.ymi.com/
        - High-end integrated hardware/software solution
   Creative Digital Research
        - http://www.cdr1.com/

   Joerg Schilling has developed an excellent cd recording package
   called cdrecord. This package should meet most needs. See
        http://www.fokus.gmd.de/research/cc/glone
                /employees/joerg.schilling/private/cdrecord.html
   for much more information, including supported hardware.

   Andy McFadden has an excellent CD-Recordable FAQ at:
           http://www.cdrfaq.org

   Thanks to Mark Belanger <mjb@ltx.com>

-----------------------------------------------------------------------------
Subject: 5.10) Where is my disk space? The "du" and "df" commands disagree.

   If a process is holding open a file, and that file is removed, the space
   belonging to the file is not freed until the process either exits or
   closes the file. This space is counted by "df" but not by "du". This
   often happens in /var/log or /var/adm when a long-running process (e.g.
   syslog) is holding open a file. In the case of syslog, send it a HUP
   (e.g. kill -HUP <syslog's process ID>).

   You can use LSOF (ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof)
   to find which processes are holding open a particular file.
 
   Thanks to Stefan Voss <s.voss@terradata.de> and
        Michael R. Zika <zika@oconto.tamu.edu>

   Under Solaris 2.6 and later, files which have been unlinked can
   still be accessed through the /proc interface. If a process is
   holding open such a file for writing, but it's inconvenient or
   impractical to kill the process or get it to close the file, you can
   free up the disk space by truncating (not removing) the file from
   under /proc; e.g.,

        # cd /proc/1234/fd
        # ls -l
        c--------- 1 root 24, 12 Jan 1 11:33 0
        c--------- 1 root 24, 12 Jan 1 11:33 1
        c--------- 1 root 24, 12 Jan 1 11:33 2
        --w------- 1 root 314159265 Jan 1 11:37 3
        # : > 3
        # ls -l
        c--------- 1 root 24, 12 Jan 1 11:33 0
        c--------- 1 root 24, 12 Jan 1 11:33 1
        c--------- 1 root 24, 12 Jan 1 11:33 2
        --w------- 1 root 0 Jan 1 11:38 3

   Thanks to Dan Astoorian <djast@cs.toronto.edu>

   Brian Poole <raj@cerias.purdue.edu> writes:

           Another possible cause of df & du disagreeing is if the files are
           being 'hidden' under a mount. I ran into this recently where I
           had a large number of files in /tmp (from adding patches in single
           user mode) that were on the root partition. Thus when I was
           looking for them in multiuser mode, I couldn't find them because
           of the tmpfs overlay. I exported the root partition via NFS and
           upon mounting it found the hidden files and deleted them.

-----------------------------------------------------------------------------
Subject: 5.11) How do I use an EIDE/ATA disk larger than 8GB?

  Versions of Solaris earlier than Solaris 7 don't support EIDE drives larger
  than 8GB -- if you try to use one, only the first 8GB will be accessible.

  If you are using a larger EIDE drive in this way (with only the first 8GB
  accessible), are upgrading to Solaris 7 or later, and want to use the
  full disk, first, back up any data that's on it (this procedure will
  effectively erase the disk), then zero the disk label: e.g. if your
  disk is c0t1d0, zero the disk label by:
     dd if=/dev/zero of=/dev/rdsk/c0t1d0s2 bs=1b count=16
  and reboot. Solaris 7 or later will then recognize the full disk.
  Thanks to Michael DeSimone <michael@desimone.net> for this suggestion.
 
  There are some third-party patches to Solaris 2.5.1 and 2.6 to add support
  for disks larger than 8GB, at ftp://ftp.tadpolecycle.com/pub/bigdisks/
  Thanks to Christian Iseli <chris@ludwig-alpha.unil.ch> for the pointer.

-----------------------------------------------------------------------------
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, and are
  usually logged to /var/adm/messages via syslog as well after a warm
  reboot. In older versions of Solaris, the "dmesg" command may also
  show crash messages. 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.

  In versions of Solaris 2 up to and including Solaris 2.6, uncomment
  the "savecore" line in the file /etc/init.d/sysetup to enable crash
  dumps. As of Solaris 7 and later, crash dumps are enabled by
  default; see the manual page for dumpadm(1M) for information on how
  to customize system dump configuration.

  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 unix.0 vmcore.0

  The "crash" utility can be useful for analyzing crash dumps for
  Solaris up to and including Solaris 8. "Crash" has been superseded
  by "mdb" (modular debugger) as of Solaris 8.

  Thanks to Dan Astoorian <djast@cs.toronto.edu>

-----------------------------------------------------------------------------
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 at
  ftp://ftp.groupsys.com/pub/top/. Sps is available at
  ftp://ftp.csv.warwick.ac.uk/pub/solaris2/sps-sol2.tar.gz.

  Doug Hughes <Doug.Hughes@Eng.Auburn.EDU> has written a
  small, quick PS workalike called "qps", available from his web page at
  http://www.eng.auburn.edu/users/doug/second.html

  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 Solaris system, virtual memory
  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
  command "swap -s" 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".

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

  Use /usr/sbin/prtconf if the machine is running Solaris. If it's a
  sun4u running Solaris 8 or previous, /usr/platform/sun4u/sbin/prtdiag
  is very helpful. It's /usr/sbin/prtdiag in Solaris 9 and later.

  On high-end machines, /usr/sbin/cfgadm -al can also provide memory
  information.

  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 open up the case and count SIMMS and/or memory
  boards.

  A perl script "memconf" is also available that identifies the sizes and
  locations of SIMM/DIMM memory modules installed in a Sun system. It
  also works on several SPARC clones and with Sun Explorer data. It is
  maintained by Tom Schmidt <tschmidt@micron.com>. Download memconf from
  http://www.4schmidts.com/unix.html

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

  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.

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

  GNU tar has an "-S" option which preserves holes, and Joerg Schilling's
  "star" has "-sparse" and "-force_hole" options which can be used to
  preserve and re-insert holes, respectively. star is available for download
  at ftp://ftp.fokus.gmd.de/pub/unix/star

-----------------------------------------------------------------------------
Subject: 6.6) How do I add more PTYs?

  For Solaris 7 and earlier, add a line in /etc/system that says
        set pt_cnt = <num>
  where <num> is the number of PTYs you want. Halt the system, and do
  a "boot -r".

  Solaris 2.x supports more than 3000 ptys. The default is 48. Solaris 8
  and later create new PTY's as they are needed.

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

  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. However, you should
  consider using a different ftpd.

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

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

  http://www.wu-ftpd.org
  Solaris "pkg" versions of proftpd and wuftpd are available at:
     http://metalab.unc.edu/pub/packages/solaris/sparc/

  ftp://ftp.adelaide.edu.au/pub/4.3/ftpd-sirius.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.

  Thanks to Margarita Suarez <marg@manila.cc.columbia.edu>

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

  There are two ways to do it, one with xmodmap (for X11 only), and the
  other using keytables.

  Margarita Suarez <marg@manila.cc.columbia.edu> suggests editing
  $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.

  Doug Hughes <Doug.Hughes@Eng.Auburn.EDU> suggests using xmodmap with
  the following:

        remove Lock = Caps_Lock
        remove Control = Control_L
        keysym Control_L = Caps_Lock
        keysym Caps_Lock = Control_L
        add Lock = Caps_Lock
        add Control = Control_L

  In X11, you can change your keyboard layout as you please using the
  xkeycaps application, which allows you to edit and remap your keyboard
  on the fly, as well as save configurations to be sourced by xmodmap.

  xkeycaps is available from http://www.jwz.org/xkeycaps/
  and in the contrib section of your friendly X11 source archive.

  Thanks to Dan Pritts <danno@ans.net> for the info on xkeycaps.

-----------------------------------------------------------------------------
Subject: 8.3) How do I use a Windows PC for a Sun serial console?

  Wire up a serial cable from the Sun's serial cable to one of the PC serial
  ports. PC serial ports are usually (but not always) DB9 (9-pin), while Sun
  serial console ports are usually (but not always) 25-pin (DB25). You
  generally need to connect them through a "null modem adapter".
  For more information on serial ports, see Celeste Stokeley's
  UNIX serial port resources page, at
          http://www.stokely.com/unix.serial.port.resources/

  The next problem is that the version of Hyperterminal which comes with some
  versions of Windows cannot generate a BREAK signal. You can obtain a new
  version of Hyperterminal from
        http://www.hilgraeve.com/htpe/index.html
  There are many free alternative terminal programs. Special mention should
  be made of TeraTerm:
          http://hp.vector.co.jp/authors/VA002416/teraterm.html
  which is also available (as TTSSH) with SSH support, at:
          http://www.zip.com.au/~roca/ttssh.html

  Thanks to Harvey Wamboldt <harvey@iotek.ns.ca>

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

  SunOS 5.x = Solaris 2.x
  Sun dropped the "2." when Solaris (2.)7 came out.
          i.e. Solaris 7 = "Solaris 2.7" = SunOS 5.7,
          Solaris 8 = "Solaris 2.8" = SunOS 5.8 and so on.

  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 through 5.5.1
  600 model 41, 51: SunOS 4.1.3 through 5.5.1
  SPARCstation 1, 1+, SLC, IPC: SunOS 4.0.3 through 5.7
  SPARCstation 2, ELC, IPX: SunOS 4.1.1 through 5.7
  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 140E, 170E, 200E: Solaris 2.5.1 or later.
  Ultra 2: Solaris 2.5.1 or later.
  Ultra 5,10,30,60,250,450: Solaris 2.5.1HW1297 or Solaris 2.6HW0398 or later.
  Ultra Enterprise: Solaris 2.5.1 or later.
  SunBlade 100, SunBlade 1000, SunFire 280R: Solaris 8HW1000 or later.
  SunFire 3800, 4800, 4810, 6800: Solaris 8HW0401 or later.

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

  SunOS 4.1.3 and later versions of SunOS 4.x have 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.

  However, multiprocessor HyperSPARC systems are supported by Ross under both
  SunOS 4.1.4 and Solaris 2.x.

  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_414
  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.1
  Solaris 2.6 = SunOS 5.6 + Open Windows 3.6
  Solaris 7 = SunOS 5.7 + Open Windows 3.6.1
  Solaris 8 = SunOS 5.8 + Open Windows 3.6.2

-----------------------------------------------------------------------------
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/sbin/prtconf will reveal the model type.

  "Suntype", written by John DiMarco (jdd@cs.toronto.edu) is a shell
  script which does the appropriate thing on all suns. It is available
  for anonymous ftp at ftp://ftp.cs.toronto.edu/pub/jdd/suntype

  Alternatively, grab Michael Cooper's <mcooper@magnicomp.com> "sysinfo"
  program, which provides all sorts of information about a given system,
  including the machine type. sysinfo is available on the web at
  http://www.magnicomp.com/, although it is now a commercial product that is
  free only for educational and non-profit organizations.

-----------------------------------------------------------------------------
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. Ross sells an SS20 derivitive
  called the Hyperstation 30, which has a 66Mhz 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
  ------- ------ ---------- ---- -------- -------------------------------
  SM100 2 RT605/CY605 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
  SM51-2 1 SuperSPARC 50 2M SC2000 only
  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-2 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
  RTD142/1024 2 HyperSPARC 142 1M Non-Sun
  RTS150/512 1 HyperSPARC 150 512k
  RTS166/512 1 HyperSPARC 166 512k Non-Sun
  RTS180/512 1 HyperSPARC 180 512k Non-Sun
  RTS200/512 1 HyperSPARC 200 512k Non-Sun
  RTD200/512 2 HyperSPARC 200 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:

  RT605 (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, 8=85Mhz
  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

-----------------------------------------------------------------------------
Subject: 9.4) Which versions of SunOS/Solaris are Y2000 compliant? Are
                  there patches for older versions of SunOS/Solaris?

  Sun's Y2000 efforts are documented on their web page, at
          http://www.sun.com/y2000

  Solaris 2.6 with the recommended patch cluster is Y2000 compliant (no
  separate Y2000 patch kit is required). Solaris 2.3 through 2.5.1, SunOS
  4.1.3U1B, and SunOS 4.1.4 are all Y2000 compliant after the appropriate
  Y2000 patch kit is installed. The Y2000 patch kit for Solaris 2.5.1 is
  available for anonymous ftp download from
          ftp://sunsolve1.sun.com/pub/patches/2.5.1_y2000.tar.Z and
          ftp://sunsolve1.sun.com/pub/patches/2.5.1_x86_y2000.tar.Z.
  Y2000 patch kits for Solaris 2.3, 2.4, and 2.5, and for SunOS 4.1.3U1B and
  4.1.4 are available to support contract customers only, from
          http://sunsolve.sun.com/sunsolve

-----------------------------------------------------------------------------
Subject: 9.5) What is the Y2000 compliance status of Sun hardware?

  Sun's Y2000 efforts are documented on their web page, at
          http://www.sun.com/y2000

  For all Sun hardware that runs a Y2000-compliant version of SunOS/Solaris,
  the following also need PROM upgrades and/or special patches to be Y2000
  compliant:

        SPARCserver 1000, 1000E, SPARCcenter 2000, 2000E:
                - requires Prom revision 2.31 or later
        All Ultra Enterprise X000 machines:
                - patch ID 103346-08 or later required for systems with
                Prom revision 3.2.9 or earlier.
        Enterprise Tape Library 4/1000,1800,3500, StorEdge L1800,L1000,L3500:
                - Requires LibMON 2.0, available September 1998.
        Newsprint Printers:
                - requires Newsprint 2.5b and patch 101941-03 or later.

  Sun does not test older hardware for Y2000 compliance if it does not run
  one of the versions of Solaris/SunOS listed in question 9.4.

-----------------------------------------------------------------------------
Subject: 9.6) How do I find out a Sun's boot prom revision?

  Type "banner" at the prom, or type "/usr/sbin/prtconf -V" (Solaris 2.5.1
  or later) to determine the prom revision of a particular machine.
  
  Alternatively, grab Michael Cooper's <mcooper@magnicomp.com> "sysinfo"
  program, which provides all sorts of information about a given system,
  including the prom revision. sysinfo is available on the web at
  http://www.magnicomp.com, although it is now a commercial product that is
  free only for educational and non-profit organizations.

-----------------------------------------------------------------------------
Subject: 9.7) Which hardware/software is capable of 64-bit? Which
                  is only 64-bit? How can I tell which is running?

  Only UltraSPARC hardware (and Fujitsu SPARC64) can run in 64-bit mode. All
  UltraSPARC hardware is capable of it, but UltraSPARC-I (up to 200MHz)
  suffers from a bug where, in 64-bit mode, a certain code sequence can cause
  the processor to stall, and thus UltraSPARC-I machines run in 32-bit mode
  by default. To allow a 64-bit kernel on such a machine, edit/create
  /platform/<platform-name>/boot.conf and add the line:
        ALLOW_64BIT_KERNEL_ON_UltraSPARC_1_CPU=true

  Solaris 2.6 and earlier are 32-bit only. Solaris 7 and later support
  both 32-bit and 64-bit modes.

  Only some UltraSPARC-I, UltraSPARC-II, and UltraSPARC-IIi (e.g. Ultra 5/10)
  systems support both 64-bit and 32-bit operation. UltraSPARC-IIe (e.g.
  Sunblade 100) and ULtraSPARC-III (e.g. Sunblade 1000) are 64-bit mode
  only.

  "isainfo -kv" or "isainfo -b" will indicate whether a system is running in
  32-bit or 64-bit mode.

-----------------------------------------------------------------------------
10. Miscellaneous Software
-----------------------------------------------------------------------------
Subject: 10.1) My remote ufsdump 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 remote ufsdump 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) Where can I get a C compiler for Solaris 2.x?

  Sun's Forte compilers can be bought at http://www.sun.com/forte/buy.html
  
  Various third-party commercial SPARC compilers are also available, including:
        http://www.ghs.com
        http://www.apogee.com
        http://www.windriver.com
        http://www.pgroup.com
        http://www.intel.com (Solaris x86 only)

  The GCC compiler and related tools are available on the Solaris
  Software Companion CD, which is part of the media kit for the Solaris 8
  distribution. The contents of this CD are also available for free
  download at http://www.sun.com/software/solaris/freeware
  Thanks to Eric Boutilier <Eric.Boutilier@Sun.COM>

  GCC binaries (for SPARC and, in some cases, i386) can be retrieved
  from the following sites and many others:

  o http://www.sun.com/software/solaris/freeware
  o ftp://metalab.unc.edu/pub/packages/solaris/sparc/
  o http://www.gnu.org/order/ftp.html
  o http://sunfreeware.com

  More information on this topic is available at
        http://inscoe.org/load.cgi?compilesun
  Thanks to Kevin Inscoe <kevin@inscoe.org>

-----------------------------------------------------------------------------
Subject: 10.3) How do I read Microsoft Word documents on my Sun?

  You can obtain some of the raw content of the document by using the
  "strings" command. Note that Word documents (and documents produced by
  other Microsoft Office programs, like Excel) can sometimes contain hidden
  information that is not normally accessible from Word, but is visible using
  "strings" (this can be a good reason not to distribute documents in MS
  Office formats).

  It is possible to run some versions of Microsoft Word on your Sun, using
  WABI, SoftWindows, WinCenter, WinDD, SunPC, or some other Windows
  integration product.

  You can use a word-processor that can import the various MS Word formats.
  For example, Word Perfect from Corel Corporation is capable of reading and
  saving in various MS Word formats. Word Perfect is available for several
  versions of UNIX, including SPARC/Solaris 2.x. Sun's StarOffice Personal
  Edition is freely available for various operating systems, including
  Solaris/SPARC, from http://www.sun.com/staroffice

  From a PC/Mac, you can print postscript output to a file, and view the
  postscript on the Sun using docviewer or ghostscript/ghostview.

  Rachel Polanskis <grove@zeta.org.au> suggests word2x by Duncan
  Simpson <dps@io.stargate.co.uk>, which translates a Word 6.x document into
  text or LaTeX. She ported it to Solaris; it's available at
  ftp://ftp.zeta.org.au/home/grove/stuff/word2x-sol.2.5.1.tar.gz

  Sun produces the PC File Viewer software, which is free to Solaris 2.6
  SPARC customers. It allows MS Word files and other common PC application
  files (e.g. Word Perfect) to be viewed on the Solaris desktop. It's at:
  http://www.sun.com/desktop/products/software/pcviewer.html

  Thomas Anders <anders@hmi.de> points out that LAOLA (a Perl4 package that
  can read Word6 and Word7 format is available on the web at
  http://user.cs.tu-berlin.de/~schwartz/pmh/. Other suitable packages include
  wvWare, which is available at http:/www.wvWare.com, and "wordview", which
  is available at http://www.fe.msk.ru/~vitus/catdoc/.

-----------------------------------------------------------------------------
Subject: 10.4) How do I restore to a different location the contents of a
                  tarfile created with absolute pathnames?

  Tarfiles should not normally be created with absolute pathnames, only
  with relative pathnames. Do not type "tar c /path/name" to create a tar
  archive, type "(cd /path; tar c name)" instead.

  Note: if you do "(cd /path/name; tar c .)", you will indeed avoid absolute
  pathnames, but beware that the tarfile created may silently overwrite the
  permissions of the current directory when unpacked. That's OK if you
  unpack it via:
        "mkdir name; cd name; tar xf /my/tarfile.tar
  That's not OK if you unpack it via:
        "cd /tmp; tar xf /my/tarfile.tar" -- you will change the permissions
  of /tmp.

  If you do have an archive created with absolute pathnames, you can unpack
  it in a different location by using GNU's version of tar, which will strip
  off the leading /.

  Alternatively, you can use pax to strip off the leading /, as follows:

         pax -r -s '/^\///' <abspath.tar

  Or you can use chroot and a statically linked version of tar, as follows:

        cp /usr/sbin/static/tar /tmp/restore
        # cd /tmp/restore
        # cat abspath.tar | chroot /tmp/restore /tar xf -

  Thanks to Fabrice Guerini <fabrice@bluemartini.com> and Stephen Kives
  <Stephen_Kives@cable.comcast.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. Open up the bottom
  panel by rotating it, and remove the mouse ball. Clean the mouse ball.
  With a Q-tip, clean off any grime on the rotors inside the mouse.
 
  However, if it is an optical mouse, read on:

  Eugene Kramer <eugene@uniteq.com> points out that type 3 and type 4 optical
  mouse pads only work in one orientation (long side in the width); if the
  pad has been rotated, the mouse will only move in one axis, and will appear
  to be broken. It may not be; just rotate the pad 90 degrees.

  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 old sun into an X-Terminal?

  You can simply replace the ttymon entry for the console in
  /etc/inittab with a command that starts up an X server.

-----------------------------------------------------------------------------
Subject: 11.3) 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

  This and many other interesting facts about Sun Framebuffers are answered
  in the Framebuffer FAQ, at one of:
         http://www.uark.edu/sunfaq/FrameBuffer.html
         http://bul.eecs.umich.edu/~crowej/sunfaq/FrameBuffer.html

  A related FAQ by the same person is the Colormap FAQ at one of:
         http://www.uark.edu/sunfaq/ColormapFAQ.html
         http://bul.eecs.umich.edu/~crowej/sunfaq/ColormapFAQ.html

-----------------------------------------------------------------------------
Subject: 11.4) Where can I find alternate pointing devices for my Sun?

  Bert N. Sure <bert@virtual.com> claims that Mousetrak makes an excellent
  line of pointing devices. The url is "http://www.mousetrak.com".
  SunExpress ("http://sunexpress.usec.sun.com") and Qualix
  ("http://www.qualix.com") distribute them. Bert uses the top-of-the-line
  "Evolution" trackball, which has six user-definable buttons and a large
  ball which is manufactured by a billiard ball company in Belgium.

  For 3-D input, SunExpress ("http://sunexpress.usec.sun.com") sells the
  SpaceBall 3003, in addition to the standard Sun "SunDials" product.

  Dan Pritts <danno@ans.net> indicates that one can buy a box from sun called
  the sun interface converter for $75 that allows you to use a ps/2-style
  keyboard or pointing device, or both, and still use your sun keyboard or
  mouse. In particular, the sun interface converter supports the Microsoft
  "natural keyboard".

-----------------------------------------------------------------------------
Subject: 11.5) What should I do about my Ultra-1's CPU cooling fan?

  The small five or seven-blade fan that sits on the Ultra-1 CPU heat sink
  fails over time. Only the Ultra-1 is affected. This known problem is
  fixed by Field Change Order FCO #A0089-1, which replaces the CPU cooling
  fan with a better one. Call Sun (in the US, 800-872-4786, and in Canada,
  800-722-4786) with the Ultra-1's serial number and Sun will ship a fan
  free. If you have more than one Ultra-1, ask for several fans.

  The CPU cooling fan part number is 540-2761. Note that some Sun Spares
  Reference Guides indicate that it is the fan for the front of the cabinet,
  which is incorrect.

  Replacement Technique:

  1. Move Power Supply.
        (a) loosen 2 screws near power connection
        (b) slide power supply forward and lift out of way.
  2 Loosen 4 screws around fan and slide fan out into space that was
      occupied by power supply. Be sure to open the connector latch. If you
      pull too hard, the socket comes off the motherboard too.

  Thanks to Greg Polanski <greg_polanski@adc.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. Alternatively, for all modern Sun hardware,
  you can set the "local-mac-address?" eeprom variable to "true", which will
  cause each NIC to use a unique MAC address. This is needed for many
  failover and trunking configurations.

-----------------------------------------------------------------------------
Subject: 12.2) How can I know the hardware vendor from an ethernet address?

  The first three octets of a six-octet ethernet address typically uniquely
  identifies the hardware vendor of the particular network interface card.
  This is called the "Organizationally Unique Identifier" (OUI). OUI
  information, including the most recent list of public OUIs can be found at
  "http://standards.ieee.org/db/oui/index.html"

  Note that it is possible that an unidentified OUI could be used, since
  vendors are not required to make their OUIs public, and many network
  interfaces, including Suns, can be configured to use a custom ethernet
  address, so there is no guarantee that the OUI will correctly identify
  the vendor.

-----------------------------------------------------------------------------
Subject: 12.3) How do I set my hme interface to e.g. 100Mb full duplex?

  This applies only to Solaris 2.5 or later; hme interfaces are not supported
  under SunOS 4.x or earlier versions of Solaris.

  Sun's 10/100 network interface on the Ultra systems and on the SunSWIFT
  network cards are capable of negotiating with a network switch; if this
  is working, and if the other end is capable of 100Mb full duplex (FD)
  operation, the hme card will automatically set itself properly. However,
  this may not necessarily work with some networking gear.

  If the two ends have different ideas about what mode the link is, you
  may see "late collision" messages, dropped packets, or complete failure.

  To force a particular mode, e.g. 100Mb FD, you can use ndd as follows:

        # turn off autonegotiation
        ndd -set /dev/hme adv_autoneg_cap 0
        # turn on 100Mb full-duplex capability
        ndd -set /dev/hme adv_100fdx_cap 1
        # turn off 100Mb half-duplex capability
        ndd -set /dev/hme adv_100hdx_cap 0
        # turn off 10Mb full-duplex capability
        ndd -set /dev/hme adv_10fdx_cap 0
        # turn off 10Mb half-duplex capability
        ndd -set /dev/hme adv_10hdx_cap 0

  You may have to force the other end (e.g. switch) to use the same mode.
  Consult the manual for your switch. NB: Fast ethernet hubs are always
  100Mb half-duplex, and ethernet hubs are always 10Mb half-duplex.

  If you have more than one hme card in your system, before issuing the
  above ndd commands, you need to first select the specific hme card you
  want to set. For example, to select hme2, type:
        ndd -set /dev/hme instance 2
  Subsequent ndd commands to /dev/hme will only apply to hme2.

  If you want to force all the hme cards on your system to a specific
  mode at machine boot, you can set hme driver variables in /etc/system.
  For example, to force all hme cards on the system to use 100Mbit FD,
  put the following in /etc/system:

        set hme:hme_adv_autoneg_cap=0
        set hme:hme_adv_100fdx_cap=1
        set hme:hme_adv_100hdx_cap=0
        set hme:hme_adv_10hdx_cap=0
        set hme:hme_adv_10fdx_cap=0

-----------------------------------------------------------------------------
Subject: 12.4) How do I find out what process is using a particular port?

  Ports are held open in the same way as files are, by file handles within
  the process. In most states, a port will also have a handle into another
  process on the other side of that connection. If you need to find out
  which process is holding open a particular port, run lsof
  (ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof) and grep for the
  port number.

  Thanks to Stuart Whitby <swhitby@legato.com>

-----------------------------------------------------------------------------
Subject: 12.5) I have a lot of ports in WAIT states. Why?

  The state of sockets can be seen with the "netstat -a" command. When
  a process attempts to close an ESTABLISHED connection, the transition
  will show a number of WAIT states, depending on which stage of the
  shutdown the port is at.

  When the initial FIN is sent from side a) of the connection, side a)
  will change to FIN_WAIT_1, side b) will change to CLOSE_WAIT, and
  acknowledge the FIN packet. The acknowledgement causes side a) to
  change to FIN_WAIT_2. A socket will rarely be in FIN_WAIT_1 for
  more than a couple of seconds unless there is a problem with
  communications. In this state, data may still be sent from side b)
  to side a), but not vice versa. When side b) receives a close from
  the associated application, or the FIN_WAIT_2_FLUSH_INTERVAL is
  reached without data being sent, it will send a FIN and change to
  LAST_ACK. Side a) moves to TIME_WAIT upon receiving this FIN and
  acknowledges the packet, causing any references to this connection on
  side b) to disappear. The socket in TIME_WAIT will remain for twice
  the maximum segment lifetime (normally a total of four minutes) before
  dropping, in case dropped data packets are resent and misinterpreted
  by a new application on this port.

  Thanks to Stuart Whitby <swhitby@legato.com>

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

  If a commercial package is desired, Sun's new SIMS (Solstice Internet Mail
  Server) supports POP3 and IMAP4. See http://www.sun.com

-----------------------------------------------------------------------------
14. Printing
-----------------------------------------------------------------------------
Subject: 14.1) 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: 14.2) How do I configure a non-postscript printer for postscript?

   Use the Printer Compatibility Database at http://www.linuxprinting.org
   (http://www.linuxprinting.org/database.html) to find out if a ghostscript
   driver is available for your non-PS printer. Then you can use ghostscript
   to translate postscript to something the printer can understand. There are
   various "any2ps" scripts and packages around (apsfilter, cups, foomatic,
   magicfilter).

   Apsfilter in particular is one of the most flexible filters available: the
   most recent version can be found at http://www.apsfilter.org. For Solaris
   2.x or later, you will need to add a BSD-style printing package such as
   LPRng (http://www.lprng/org): the system-V-style "lp" printing package
   that comes with Solaris will not easily work with apsfilter. Thanks to
   Andreas Klemm <andreas@apsfilter.org> for this information.

   A much older version of APSfilter was posted to comp.sources.misc as part
   of volume 42, and is available from a comp.sources.misc archive site (eg.
   ftp://ftp.uu.net/usenet/comp.sources.misc/volume42/apsfilter). If you are
   using Solaris, follow Alexander V. Panasyuk's instructions in
   http://cfauvcs5.harvard.edu/SetGSprinter4Solaris.html

-----------------------------------------------------------------------------
15. Misc System Administration
-----------------------------------------------------------------------------
Subject: 15.1) I've forgotten the root password; how can I recover?

  You need to have access to the machine's console.

  1. Note the root partition (e.g. /dev/sd0a or /dev/dsk/c0t3d0s0)
  2. Hit STOP-A or L1-A (or, on an ASCII terminal or emulator, send a
     <BREAK>) to halt the operating system, if it's running.
  3. Boot single-user from CD-ROM (boot cdrom -s) or network
     install/jumpstart server (boot net -s) (NB: if it asks you for a prom
     password, see below.)
  4. Mount the root partition (e.g. /dev/dsk/c0t3d0s0) on "/a". "/a" is
     an empty mount point that exists at this stage of the installation
     procedure. (mount /dev/dsk/c0t3d0s0 /a)
  5. Set your terminal type so you can use a full-screen editor, e.g. vi.
     (you can skip this step if you know how to use "ex" or "vi" from open
     mode). If you're on a sun console, type "TERM=sun; export TERM"; if
     you're using an ascii terminal (or terminal emulator on a PC) for your
     console, set TERM to the terminal type (e.g. TERM=vt100; export TERM).
  6. Edit the passwd file (/a/etc/passwd for SunOS 4.x, /a/etc/passwd.adjunct
     for SunOS 4.x with shadow passwords/C2 security), /a/etc/shadow for
     Solaris 2.x and remove the encrypted password entry for root
  7. cd to /; Type "umount /a"
  8. reboot as normal in single-user mode ("boot -s"). The root account will
     not have a password. Give it a new one using the passwd command.

  Thanks to Stefan Voss <s.voss@terradata.de>

  PROM passwords:

  Naturally, you may not want anyone with physical access to the machine to
  be able to do the above to erase the root password. Suns have a security
  password mechanism in the PROM which can be set (this is turned off by
  default). The man page for the eeprom command describes this feature.

  If security-mode is set to "command", the machine only be booted without
  the prom password from the default device (i.e. booting from CD-ROM or
  install server will require the prom password). Changing the root password
  in this case requires moving the default device (e.g. the boot disk) to a
  different SCSI target (or equivalent), and replacing it with a similarly
  bootable device for which the root password is known. If security-mode is
  set to full, the machine cannot be booted without the prom password, even
  from the default device; defeating this requires replacing the NVRAM on the
  motherboard. "Full" security has its drawbacks -- if, during normal
  operations, the machine is power-cycled (e.g. by a power outage) or halted
  (e.g. by STOP-A), it cannot reboot without the intervention of someone
  who knows the prom password.

-----------------------------------------------------------------------------
Subject: 15.2) How do I disable/remap STOP-A/L1-A?

  First, be sure you want to do this. If the problem is that users are
  halting and rebooting the machine, note that disabling STOP-A will merely
  prompt them to powercycle the machine (or remove and re-insert the keyboard
  plug) instead. This is actually worse.

  But if you're sure you want to do this, compile and run this little program.

    /* Enable or disable abort sequence. John DiMarco <jdd@cs.toronto.edu> */
     
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/ioctl.h>
    #include <sys/fcntl.h>
    #ifdef FILENAME_MAX
    #include <sys/kbd.h>
    #include <sys/kbio.h>
    #else /* !FILENAME_MAX */
    #include <sundev/kbd.h>
    #include <sundev/kbio.h>
    #endif /* !FILENAME_MAX */
     
    #define ERR -1
    #define DISABLE 0
    #define ENABLE 1
    #define KEYBOARD "/dev/kbd"
    
    main(argc,argv)
    int argc;
    char *argv[];
    {
            static struct kiockey k;
            int fd, mode=ERR;
     
            if(2==argc){
                    switch(*(argv[1])){
                    case 'e':
                            mode=ENABLE;
                            break;
                    case 'd':
                            mode=DISABLE;
                            break;
                    }
            }
            if(ERR==mode){
                     printf("Usage: %s [enable|disable]\n", argv[0]); exit(1);
            }
            if(0>(fd=open(KEYBOARD, O_RDWR))){ perror(KEYBOARD); exit(1); }
     
            k.kio_tablemask = KIOCABORT1;
            k.kio_station=mode;
            (void)ioctl(fd, KIOCSETKEY, &k);
            printf("Abort sequence is now %s.\n", mode?"enabled":"disabled");
    }

  Stefan Voss <s.voss@terradata.de> points out that in Solaris 2.6 or later,
  you can type "kbd -a enable|disable" or put "KEYBOARD_ABORT=enable|disable"
  in /etc/default/kbd.

  As of Solaris 2.6 with patch 105924-10 installed, Solaris 7 with
  patch 107589-02 installed, or Solaris 8, you can also set the abort
  sequence to the Alternate Break character sequence
  ("<Return> ~ <CTRL-B>", with at least half a second between
  characters, and at most 5 seconds for the whole string) with the
  command "kbd -a alternate", or by putting "KEYBOARD_ABORT=alternate"
  into /etc/default/kbd.

  Alternatively, you can disable all break signals by putting the line:

    set abort_enable=0

  into /etc/system, and rebooting.

  Thanks to Dan Astoorian <djast@cs.toronto.edu>
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:27:45 EDT