Sun Managers Frequently Asked Questions (FAQ)

From: John DiMarco (jdd_at_cs.toronto.edu)
Date: 12/02/03

  • Next message: Charu Kamath: "GNU Assembler / GAS"
    To: sunmanagers@sunmanagers.org
    Date: Tue, 2 Dec 2003 00:30:01 -0500
    
    

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


  • Next message: Charu Kamath: "GNU Assembler / GAS"