comp.unix.sco Technical FAQ (2/3)

comp.unix.sco Technical FAQ (2/3)

Post by Stephen M. Du » Mon, 26 Aug 1996 04:00:00



   OK ... now the FAQ has grown again, and instead of being in _two_
pieces, it's in _three_.

Revision Information
--------------------
Version:  3.19
Date:     17 August 1996
Author:   Stephen M. Dunn
          step...@bokonon.ussinc.com
New Features:  Added information on uod429a, reading panic dumps;
          miscellaneous cleanup and corrections

NOTE:  All lines that have been added or modified since the previous
       version are marked with ** at the start of the line.  All new
       questions are indicated in the Table of Contents with * at the
       start of the line.

DISCLAIMER:  I try to keep this information correct, up-to-date, and useful.
  From time to time, errors and oversights will occur.  While this group
  is read by numerous SCO staff and other experts, and they tend to catch
  any mistakes I make, there is no guarantee that the information below is
  100% right.

THANKS:  I can't do this without the help of a number of other people.
  You know who you are.  Thank you.

Table of Contents
-----------------
One Bit of Administrivia (All Three Parts)

How Do I Ask A Question?

Questions and Answers Common to Unix, Xenix and ODT (Part 1)
-How do I stop banners from printing?
-Are there any screen savers?
-Is tar/cpio a good backup program?
-How do I compress my backups?
-What are some third-party backup/recovery products?
-I don't like being restricted to 14 character filenames
-How do I get a copy of adb?
-I can't find crypt
-What do I need to compile programs?
-What does the NCALL kernel parameter affect?
-How do I reset the root password if I forget it?  (part 1)
-How do I reset the root password if I forget it?  (part 2)
-How do I reset the root password if I forget it?  (part 3)
-How do I crash out of the install script?
-Why can't fsck find my lost+found directory?
-I want more space in my lost+found directory
-How do I find out serial numbers of my various components?
-How do I solve an "arglist too long"?
-What versions/configurations am I using?
-I have a bad block on my hard drive
-My system is slow
-Why did my region table overflow?
-How do I solve "fork failed: no more processes"?
-How are minor device numbers assigned by mkdev hd?
-I need fax software.  Who makes it?
-How much swap space do I need?
-Can I add more swap space?
-Do haltsys and reboot do a sync()?
-How can I get more than 64k inodes?
-Where do I get zmodem?
-I get messages saying "stat() failed:  /tmp/croutPPGa00288:  no such file"
-Does SCO support my hardware?
-How do I get a file off my distribution diskettes?
-Will I have problems upgrading my hardware?
-I typed in the wrong serial number!
-Why does fsck want a scratch file?
-What books are there about SCO systems?
-How can I boot multiple operating systems?

Questions and Answers Specific to OpenServer Release 5 (Part 2)
-Graphical characters don't work
-sar doesn't work
-My emergency floppies don't have enough inodes
-My keyboard locks up
-I'm having trouble with licensing and registration
-sysadmsh is missing
-Will Release 5 run my older binaries?
-I loaded a patch but it didn't take effect
-What patches should I use?
-What patches are on my system?

Questions and Answers Specific to Unix/ODT (Part 2)
-I have a system memory dump in my swap space; how do I delete it?
-How do I save kernel panic dumps to tape?
-At boot time, the "Enter the root password or ^D" message doesn't work!
-My pre-EAFS filesystem gives errors on filenames greater than 14 chars
-I just upgraded to 3.2v4 but I still can't use long filenames
-The permissions on /usr/adm/sa and its children are wrong
-I get an error "Cannot obtain database information on this terminal"
-I need help configuring MMDF
-What is the new "low" security level in 3.2v4?
-My AHA154x/174x isn't being detected
-How do I upgrade from an n-user licence?
-How do I get MMDF to send one copy of a message to many people?
-My system is slow or hangs when sizing memory
-My system doesn't recognize files starting with #!
-Where do I get POP binaries?
-What is Everest?
-How do I fix a kernel trap 0x00000006?
-How do I configure an EIDE drive to work on 3.2v4.x?
-How do I change my SCSI host adapter?
*My machine had a panic.  How do I fid out why?

Questions and Answers about TCP/IP and NFS (Part 2)
-telnet doesn't work properly
-How do I know if I have enough streams buffers for TCP/IP and/or NFS?
-TCP/IP gives messages like "Notice: TCP SUM: SRC 89270107  SUM 0000D7AD"
-How do I get /etc/issue to print for telnet sessions?
-What does "WARNING: tcp_dequdata" mean?

Questions and Answers about Serial Communications and UUCP (Part 3)
-My serial connections are losing characters
-What do the terms UART, 8250, 16450 and 16550 mean?
-How do I adjust my 16550's trigger level?
-I can transfer small files via UUCP but large ones won't go
-I can transfer small files via UUCP but large ones go really slowly
-How do I get better UUCP throughput?
-How do I change uucico's window size?
-I increased my window size but nothing changed
-I increased my window size and UUCP broke!
-UUCP frequently has to resend packets
-How do I chance uucico's packet timeout?
-What special considerations are there regarding my Telebit modem?
-What are all the V.something codes, MNP, HST, etc.?
-How do I maximize serial throughput?
-My data-compressing modem doesn't work much faster than my old modem
-A BSD-based machine can't connect to mine via UUCP
-Where can I get more information on UUCP protocols?
-I edited my gettydefs and things broke
-I can't get shared dial-in and dial-out working
-What are some common settings for my modem?

Questions and Answers about X Windows (Part 3)
-Does SCO Xsight support my ET4000-based super VGA card?
-Can I get X11R5 to run on my ODT 2.0 system?
-Is there a driver for my video card?
-How do I get Athena Widgets?
---------------------------------------------------------------------------

One Bit of Administrivia
------------------------
   There are two different FAQ lists that periodically get posted here.
This is the technical one.  If you have a question regarding net.etiquette,
the administration of these mailing lists/newsgroups, how to contact
SCO, where to look on the net for SCO ports of software, or how to
download files from SCO's systems, please look for the Administrative
FAQ.  It will probably answer your question.  These two FAQs are posted
at the same time, at intervals of roughly two weeks.

   Note in particular that if you require instructions on how to
contact SCO, download SLSes, or look at various anonymous archive
sites, you should look in the Administrative FAQ.

   I should also note that you may see references to TAs (Technical
Articles), or to their old name IT Scripts, in various places in
the FAQ.  These are SCO's documents on various technical issues
with SCO products.  They are generally available in searchable
form on www.sco.com, and the sysops of SCO Forum on CompuServe
also have access to them and may post them there.  Each TA has a
unique number; you should be able to search for this number for
more information.  The URL for the searchable library is
http://www.sco.com/Support/ssl.html.  If you wish to search for
a particular TA by number, replace nnnnnn in the example below with
that number
http://www.sco.com/cgi-bin/ssl_reference?nnnnnn
         ---------------------Beginning of Part Two-------------------

Questions and Answers Specific to OpenServer Release 5
------------------------------------------------------
Graphical characters don't work
  OS5 uses the IBM characters set by default.  Try mapchan -n.  If
  that cures the problem, comment out the appropriate line in
  /etc/rc.d/6/kinit - and make sure you make a note of this change
  so that you can remake it, if necessary, after a future upgrade.

sar doesn't work
  First off - did you run sar_enable?  This is a new command in
  OS5 which sets everything up so that sar runs as it did previously.
  If sar isn't enabled, it simply won't run.  Run
  /usr/lib/sa/sar_enable -y for starters.  You will also need to
  edit root's and sys' crontab files if you wish data to be collected
  24 hours a day, seven days a week.  Also, if you wish to keep sar
  data for more than seven days, remove the 'find' command in the last
  line of /usr/lib/sar/sa2.

  The file /etc/ps/booted.kernel gives the name of the booted kernel,
  and sar needs this to work properly.  This file gets created each
  time the system is rebooted.  In case it's messed up, try running
  kernel -uv and see if that cures it.

  There is another problem, though, which may not be cured by the above.
  There is a bug in the code in /boot.  If the inode number of the
  kernel is greater than 32767, /boot improperly sign-extends it as
  a signed short integer rather than an unsigned one, and the end result
  is a completely wacky inode number.  This should only happen on
  systems without a separate boot filesystem, which generally
  means those which were upgraded from an earlier release in place.
  The following is a patch to /boot which should cure the problem.
  Be VERY careful, as always, applying patches; this one in particular
  may disable your system entirely if not done correctly.

  # cp -p /boot /boot.orig
  # what /boot
  /boot:
          SCO boot 23 Apr 95
  # sum -r /boot
  00357   134 /boot

  [If either the results of what, or the results of sum -r, don't match
  EXACTLY what you see above, STOP!  Do NOT apply this patch unless
  these are IDENTICAL to the results you see.]

  # echo 3f:feb?h 90 | _fst -w /boot -
  * 3f:feb?h 90
  0x3f:0xfeb:     0x99    =       0x90
  # sum -r /boot
  09082   134 boot

  [Again, if the results of sum -r don't match EXACTLY what you see,
  something did not work correctly.  You should copy /boot.orig
  back to /boot.]

My emergency floppies don't have enough inodes
  The simplest change to this is to edit /usr/lib/mkdev/fd and increase
  the number of inodes created from the default.  This may cause problems,
  though, as HTFS inodes consume 128 bytes each and a significant
  increase in the number of inodes would result in a significant drop in
  the number of data blocks available on the floppy.

  A better change would be to eliminate unnecessary device nodes from
  your emergency floppy.  Look for a line in /usr/lib/mkdev/fd which
  sets a variable called NOTREQ (which, roughly, is a list of device
  drivers not required on an emergency diskette).  Add to that list
  merge mpm spm svdsp svkbd vdsp vkbd mouse
  If you don't need pseudottys on your emergency diskettes, you might
  also want to add "spt mpt".  There is also a bug in this file; change
  the item "ptspwr" to "pts pwr" (by adding a space), and you will cut
  out a few more unnecessary devices.

  When editing /usr/lib/mkdev/fd, you should actually make a new
  copy (e.g. /usr/lib/mkdev/fd.new) and edit, and later use, that
  rather than /usr/lib/mkdev/fd.  Otherwise, you may find your
  changes vanish at some time in the future.

My keyboard locks up
  Some very fast machines (typically high-end Pentium systems) may be
**too fast for a timing loop in the kernel.  The first thing to try
**is to apply oss424a.

**The old solution, prior to oss424a, follows.  If oss424a fails to
**cure the problem, I'm not sure if this procedure will do any
**better, or if you're just trying to do the same thing again,
**so proceed with caution.

  You may be able to cure the problem by patching the keyboard driver.
  In single-user mode, perform the following steps:

  cd /etc/conf/pack.d/cn
  cp Driver.o Driver.orig
     (_Always_ make a backup before patching a program!)
  _fst -w Driver.o -
     (You will get a * prompt before each of the next two steps)
  rd42dat+0x1e?w 0xe830
     (The last two digits (30) set the duration of the timing loop; valid
      settings are 00 through 30.  _fst should respond with something like
      rd42dat+0x1e:  0xe80d= 0xe830
  $q
  cd /etc/conf/cf.d
  ./link_unix

  Once you've relinked and reinstalled the kernel, reboot and see if
  the problem is cured.  If not, try other values for the two digits
  that control the timing loop.  Further information can be found
  in TA 482644; information on finding TAs can be found earlier in
  this FAQ.

I'm having trouble with licensing and registration
  First off, you may have up to three difference license number/activation
  key combinations to use.  Please read the documentation and the COLA
  (Certificate Of License and Authenticity) card(s) carefully.  If you
  are upgrading from an old release of an SCO product, you will be asked
  not only to type in your new SNAK (Serial Number and Activation Key),
  but also the old SNAK from your old release.  Additionally, if you
**are upgrading to the Enterprise system, you must first install and
  license the Host system, and then perform an upgrade to Enterprise.

  Licensing and registration is a two-step process.  The first step
  involves licensing, and this takes place when you enter the SNAK
  from your COLA.  You then fill in a form, included with your software,
  and send it to SCO in any of a number of ways.  SCO sends you a
  registration key, which you enter to complete the registration
  process.  The registration key is dependent both on your serial
  number and on a number generated by the system when you install it;
  this latter half means that should you have to reinstall, you will
  need to re-register your system.

  One big problem many people have had is that in the case of an
**Enterprise upgrade, you _must_ register the Host system before you
  can register the Enterprise system.  If you do not, then you may
  end up with a system which will appear to accept your registration
  but which will subsequently complain that it has not been registered,
  and there is no elegant way out of this situation; SCO recommends
  reinstalling to cure this.  SCO is working on a cure for this but
  it is not ready yet and it will probably not be able to rescue systems
  which have already experienced this problem.

  If you need to do an upgrade or install and cannot wait for the
  registration information to be sent back to you, there is a procedure
  you can follow to avoid this problem.  Install the Host system,
  and then install the Enterprise system.  Send SCO the registration
  information for _both_ systems.  When you receive your registration
  keys, perform the following steps.
  1.  Take the system to single-user (maintenance) mode
  2.  Remove the Enterprise license.  This does _not_ mean removing
      the software - just the license.
  3.  Register the Host system license.
  4.  Register the Enterprise system license.
  5.  Shut the system down (haltsys) - do NOT bring it back up to
      multi-user mode without shutting down first

  For more information, see TA 482577.  Information on finding TAs can
  be found earlier in this FAQ.

  If you find yourself unregistering/unlicensing parts of your system
  and you have a PANIC, it's possible that you may have upset the
  kernel streams linker module.  Try booting with the boot string
  "defbootstr ksl.disable"; if that gets the system running, finish
  up your licensing and registration work and then reboot with your
  usual boot string.

sysadmsh is missing
  OSR5 includes sysadmsh, but it's not installed by default.  If you
  wish to use it, you will need to use custom or scoadmin to install
  it on your system.

Will Release 5 run my older binaries?
  In general, yes; binaries from previous versions of SCO Unix or
  SCO Xenix will run on OSR5.  The exceptions tend to be those
  which probe system internals, where such internals may have
  changed, or those coded with certain assumptions (e.g. "an inode
  number is always a 16-bit quantity") which are not necessarily
  true on OSR5.  Examples include programs which read directories
  from disk rather than using OS directory access routines, or
  those which look for kernel structures and variables.

I loaded a patch but it didn't take effect
  You probably forgot to apply it.  Loading a patch places the
  contents of the patch on the hard drive, but does not activate the
  patch.  Applying the patch does the necessary replacement of system
  files and whatever other adjustments are required to make the patch
  take effect.  For more detailed information on the actual procedures,
  consult your manuals.

  You may wish to load a patch, but not apply it, for several reasons.
  Another machine on the network can apply a patch directly from your
  machine's hard drive if you've loaded the patch.  Also, you may
  find that you will have to roll back several patches to replace
  or remove an earlier one, and then reapply the ones you rolled back;
  having loaded the patches first saves you from having to use the
  diskettes again.

What patches should I use?
  There is information in the file ftp://ftp.sco.com/README, including
  a list of currently applicable patches, and some quick summary
  information on which patches should _not_ be used in conjunction
  with each other.  For more detailed information, read the documentation
  files accompanying each specific patch.

What patches are on my system?
  To see which patches have been loaded, start scoadmin software or
  custom and pick Software -> Patch Management -> View Loaded
  Patches

  Checking the list of patches which have been applied may be more
  of a problem; there is no simple way of doing this with scoadmin.
  You can pick Software -> Examine -> Applied Patches, and then pick
  each component in turn to see what patches have been applied to it.
  Yes, SCO is aware that this is a pain, so hopefully there will be
  a better way in a future release.

  If you have applied the rs500d release supplement, there is a command-
  line method - customquery listpatches - which will list what patches
  have been applied.  This option to customquery did not exist prior
  to rs500d; if you do not have rs500d applied to your system, you
  probably should do so.

Questions and Answers Specific to Unix
--------------------------------------
I have a system memory dump in my swap space; how do I delete it?
  Go into single-user mode (NEVER try this in multi-user mode!).  Then
  copy something into your swap space.  The suggested method is:
        dd if=/etc/termcap of=/dev/swap count=100
**Unix 3.2v4.0 and later will do this for you if you want it to.

How do I save kernel panic dumps to tape?
  Edit the /etc/dumpsave file.  Yes, I know this answer is incomplete;
  I don't have a copy of Unix on which to compose a better one.

At boot time, the "Enter the root password or ^D" message doesn't work!
  If this message stair-steps across your screen and you can't do a
  ^D, the file /etc/ioctl.syscon has become corrupt.  Go into single-
  user mode by typing the root password followed by ^J instead of a
  carriage return.  Use stty sane^J to restore your console to more
  normal operation.  Remove /etc/ioctl.syscon, and reboot by running
  /etc/reboot.  The system will complain that /etc/ioctl.syscon is
  missing and will rebuild it for you.

  The usual cause for this file becoming corrupt was that the system was
  shut down from a terminal other than the console, and this file now
  contains the stty settings for that terminal (which are probably not
  correct for the console).

My pre-EAFS filesystem gives errors on filenames longer than 14 chars
  There is a tunable kernel parameter, ETRUNC, that controls this
  behaviour.  If set to 1, the kernel will silently truncates filenames
  to 14 characters.  If set to 0, the kernel returns ENAMETOOLONG, in
  accordance with POSIX.

I just upgraded to 3.2v4 but I still can't use long filenames
  Long filenames only work on EAFS filesystems.  Any new filesystems
  you create will be EAFS filesystems unless you specify otherwise.
  When you upgrade, your root filesystem will automatically be
  converted to an EAFS filesystem, but any other filesystems you have
  will not.

  If you have an existing AFS filesystem that you wish to convert to
  an EAFS filesystem, specify the -E option to fsck; this will convert
  your filesystem into an EAFS filesystem.

  If for some reason you need to convert an EAFS filesystem back to
  AFS, you can use fsck -^P (^P == control-P).  Note that there is
  no performance difference between AFS and EAFS filesystems except
  in accessing long filenames and symbolic links; otherwise, they
  share the same kernel driver.

The permissions on /usr/adm/sa and its children are wrong
  You have two simple basic choices:
  1.  move the lines from the "sys" crontab file to the "root" crontab file.
        0 * * * 0-6 /usr/lib/sa/sa1
        20,40 8-17 * * 1-5 /usr/lib/sa/sa1
  2.  ensure that /usr/adm/sa is read/writeable by "sys".

I get an error "Cannot obtain database information on this terminal"
  This error can be caused for various reasons.  First, determine
  the cause of the problem and implement a solution.  Then install
  all required SLSes according to the following paragraph.

  For SCO UNIX System V/386 Release 3.2 Operating System (the original
  version) SLS unx223 must be installed prior to installation of SLS
  unx257.  For SCO Open Desktop Release 1.0.0 and 1.0.1, the UFE
  should be installed prior to SLS unx257.  For 3.2.2 without Maintenance
  Supplement 1, and for ODT 1.1 without update G, install unx257 on
  its own (MS1 and UG both include unx257, and if you have them, you
  should _not_ install unx257).  SCO Unix 3.2v4 and ODT 2.0 have
  more up-to-date security, and unx257 should _not_ be installed on
  either.

  CAUSE 1:  The file /etc/auth/system/ttys has become corrupted.
  Reboot the system and enter single user (System Maintenance) mode.
  Edit the file and insert the following line if it does not exist:
        tty01:t_devname=tty01:chkent:
  This file should only contain entries for your terminals (ttyxx -
  where xx is the tty number).  Each entry ends with :chkent:.
  Remove unwanted lines.

  CAUSE 2:  After installation of a multiport intelligent serial board
  the file /etc/auth/system/ttys did not get updated with new entries
  for each tty port.  These entries can be created by taking the
  following steps:
       Type "sysadmsh"
       Select Accounts -> Terminal -> Create
       Type in each device name, example "tty3h", and then press
       "<Ctrl>X" to execute.  Select "YES" to save modifications.

  CAUSE 3:  This message can be generated sporadically on a system
  with a large number of users logging on and off.  Check the
  /etc/auth/system directory for "ttys" files.  If there are multiple
  files, the extra files must be removed.

  When database files such as /etc/auth/system/ttys are updated,
  a renaming procedure is used to ensure that multiple accesses
  to the file are managed properly. The contents of the old file
  (ttys) is copied/updated to create the new -t file (ttys-t).
  After that is done the old file is moved to a -o file (ttys-o),
  the new file (tty-t) is moved to the original name (ttys), and
  the ttys-o file is deleted.

  It is important to verify which of the files is the more complete
  file.  This file is usually the largest, but use vi, cat, or more
  commands to examine the content of the files for correctness and/or
  corruption.  Once you have determined which file is the most correct,
  make sure it is renamed to ttys, and remove all others.

  It is recommended that you have "OVERRIDE=tty01" in the file
  /etc/default/login.  That way root can always log in on that
  terminal when in multiuser mode.

  NOTE: if this error message appears on just one port and no other ports
        are affected or prevented from logging in, then ckeck to make sure
        the device has just one link. If the device has more than 1 link,
        remove it and recreate it with mknod(C).

  NOTE 2: TCP/IP 1.1.1 has an old /bin/login which can cause this problem.
       This release of TCP/IP is unsupported.

I need help configuring MMDF
  Chris Durham of SCO wrote some guides to configuring MMDF in typical
  TCP/IP and UUCP environments.  These used to be called "tcp-ip" and
  "uucp" at ftp://xenitec.xenitec.on.ca/archive/pub/doc/mmdf; I'm told
  they now reside in ftp://ftp.xenitec.on.ca/pub/doc/mmdf.  It might
  also be worth checking SCO's Web site; there are many TAs there
**on configuring MMDF, including Chris' guides.

What is the new "low" security level in 3.2v4?
  It is _not_ traditional Unix security without the TCB.  Rather, it
  uses the TCB to achieve a level of security _lower_ than traditional
  Unix security.  For example, it gives all users the privileges to
  administer print services, backups/restores, and to run shutdown.  The
  moral is not to use low security unless you know the security holes it
  opens and can live with them.  The "traditional" security level is the
  closest to traditional Unix security, and should probably be the
  lowest security level that most people should consider using.  The
  next level up is similar to C2 security as found in prior releases of
  SCO Unix, while the top level is tighter yet.

  Note that each of the four security levels, as with the two levels in
  earlier releases, is only a set of defaults.  Once you have installed
  a particular security level, you can adjust the exact settings to make
  security suit your needs.  Note that once a system has been set up at
  a particular security level, it may be difficult or impossible to
  completely increase the security level, particularly if the system has
  been in use for some time.

My AHA154x/174x isn't being detected
  On some fast machines (e.g. 486DX2/66), the timeout in the kernel
  routine that initializes the card may run too quickly, causing the
  system to not be able to use your host adapter.  SCO has a fixed
  version of /etc/conf/pack.d/ad/Driver.o that increases the timeout
  value; this should cure the problem.  This fix (unx365 for Unix
  3.2v4.0 and 3.2v4.1, or oda366 for ODT 2.0) is available from SCO's
  usual channels (see the administrative FAQ for info on ftp and UUCP
  access).  Later versions of the operating system include this fix;
  it is not applicable to anything earlier than 3.2v4.0 and ODT 2.0.
  As a temporary fix until you can get this SLS installed, slow your
  computer down during booting (many machines have a Turbo switch which
  can be turned off).

How do I upgrade from an n-user licence?
  If you are upgrading the user licence but staying on the same release
  of the operating system, you need to rebrand the appropriate files
  with the new serial number/activation key that you get in the upgrade
  kit.

  If you're upgrading to a more recent release, use the intelligent
  upgrade procedure built into the upgrade package.  This will not only
  update your OS to the current level, but will also upgrade your user
  licence to what you ordered.

How do I get MMDF to send one copy of a message to many people?
  You will need MMDF II level 43 for this; it's included in Unix 3.2v4.0
  and ODT 2.0 and above, and is available as a TLS for older releases.
  You will need to add a confstr= entry to your UUCP channel similar to

  MCHN    uucp, show="SCO UUCP Delivery", que=uucp, tbl=uuchn, ap=same,
          pgm=uucp, mod=imm, confstr="naddrs=15,maxlen=1024"

  naddrs sets the maximum number of addresses per message
  maxlen sets the maximum total length of the address

  You probably want to set maxlen no higher than 1024 or you may run
  into a limit in the system.  You may also want to configure your
  badhosts channel similarly.

My system is slow or hangs when sizing memory
  The OS tries to flush the cache before sizing memory.  On some systems,
  this may cause problems including painfully slow memory sizing.  For
  Unix 3.2v4.2 and related systems, try adding the cache=/d option to your
  boot string.  Try it out manually first, using
  defbootstr cache=/d
  at the Boot: prompt; if that works, add it to /etc/default/boot.

  If you still run into problems, you may need to compare the memory
  map with and without cache.  Boot with the "cache=/d prompt" options
  and, when the prompt comes up, type v to see the memory map found
  with the cache disabled.  Then boot using "cache=/e prompt" and,
  again, type v at the prompt to see the memory map with the cache
  enabled.  If they differ, it is not safe to size memory with cache
  disabled, and you will have to suffer with slow boot times (it
  will not affect performance once the system is rebooted).

My system doesn't recognize files starting with #!
  Unix 3.2v4.0 through 3.2v4.2 include a parameter to determine whether
  the kernel supports the use of #! to denote the interpreter for a
  particular script, but it is not tuneable using the standard configure
  program.  Instead, edit the file /etc/conf/pack.d/kernel/space.c and
  change the hashplingenable setting from 0 to 1.  Rebuild and install
  the new kernel.

Where do I get POP binaries?
  POP3 server binaries are available from ftp.sco.com (you want
  tls049) or as part of the Pine distribution (see ftp.celestial.com
**or odi.cwc.whecn.edu).  OpenServer Release 5 Enterprise includes a
**POP3 server, though Desktop does not; a newer POP3 server which can
**be installed on Enterprise or Desktop can be found in tls593.

What is Everest?
  Everest is another of the computer industry's well-known codenames,
  primarily representing the new technologies and developments which
  have now been announced as the OpenServer 5 family of products.

  The list of new and improved stuff in OpenServer 5 is far too long
  to list here.  Some of the more notable improvements include
**- A journalling filesystem with 27-bit inodes, up to 1 TB (NOT 512 GB
**  as documented in many places)
  - A compressing filesystem with 30-bit inodes, up to 1 TB
  - A number of dynamic self-tuning kernel parameters
  - Optional support for RAID levels 0, 1, and 5 in the kernel
  - Memory-mapped files
  - Use of additive licences for Host and Enterprise configurations
  - New system administration and management tools

  The OpenServer 5 family of products was announced on 9 May 1995,
  and a number of press releases and other announcements were posted
  to comp.unix.sco.announce on that day.

  For those looking through this FAQ for topics applicable to OpenServer
  5, be forewarned that the FAQ presently addresses Xenix and SCO Unix
  versions up to and including 3.2v4.2.  Much of it will still be
  applicable to OpenServer, and over time there will be OpenServer-
  specific questions and answers added, and modifications to existing
  answers to address areas where OpenServer differs from previous
  versions.  However, at the moment, not all of the FAQ may apply
  to OpenServer 5.

How do I fix a kernel trap 0x00000006?
  NOTE:  This problem appeared at some point in 3.2v4.x, and is fixed
  in OpenServer 5.

  This is due to executing an invalid instruction in kernel mode (trap
  6 is for an invalid instruction; a user process which does this will
  simply die with a core dump).  If your particular problem is a
  double panic and it doesn't leave a system memory dump in whatever
  device you've chosen for dumps (usually /dev/swap), apply the following
  patch.

  This is due to a problem in the kernel's querytlb() routine, which
  may allow the Pentium to execute a 386-specific instruction which is
  not supported on the Pentium.  The cure involves patching a kernel
  module using _fst (see part 1 on where to find /etc/_fst).  Go into
  the /etc/conf/pack.d/kernel directory.  We're going to work on
  locore.o, so make a backup and then run

  _fst -w locore.o -

  The conversation between you and _fst goes like this (the * is a
  prompt from _fst; don't type it or any of _fst's responses):

    * querytlb+5?w 0x9090
    querytlb+ox5:     0x375=0x9090
    * querytlb,4?ai
    querytlb:          call  near 0x17:0x0
    querytlb+0x5:      nop
    querytlb+0x6:      nop
    querytlb+0x7       sub     eax, eax
    * $q

  This fixes one of the modules which is linked into the kernel, so
  you only have to apply it once.  Relink the kernel, install it in
  /unix, and reboot.

How do I configure an EIDE drive to work on 3.2v4.x?
  This is a combination of a TA from SCO and a procedure posted
  on comp.unix.sco.misc by a hardy adventurer.  Use it at your
  own risk; it may not work with all hard drives, and you may
  not be able to have other OSes on your hard drive in some cases.
  The full version is in TA number 482436; information on finding
**TAs can be found earlier in this FAQ.  Note also that there is an
**SLS, uod429a, which adds LBA support to 3.2v4.2, and should be used
**instead of this procedure where applicable.

  OpenServer Release 5 is the first SCO operating system which supports
  LBA (Logical Block Addressing) mode, so to install on an older system
  the first thing you need to do is to disable this mode.  This may
  involve jumpers or a BIOS setting change; check your hardware
  documentation.

  Configure your BIOS to believe the hard drive has 1024 cylinders,
  16 heads, and 63 sectors per track.  Begin your installation,
  and make sure you run through the disk initialization section
  manually.  Apparently, if you can select the "Preserve
  additional filesystems" option, this may be an easy way to do it.
  When you get the prompts dealing with the actual geometry of your
  hard drive (this program is dkinit), modify the current disk
  parameters, and set them to something larger.  At 16 heads and
  63 above) spt, every actual megabyte (1 048 576 bytes, or 1024 kB)
  of disk space takes about two cylinders; you could use this
  equivalence to calculate the number of cylinders you should enter.  If
  in doubt, guess _low_; you do not want to have Unix trying to use disk
  space which isn't there.

  When you've done this, you've basically told Unix to ignore the
  BIOS settings (which will be used only for booting), and that
  should lift the ~500 MB limit up to about a gig.  Note that there
  is a limit of 2048 cylinders in SCO's hard drive drivers, which
  means you will not be able to access more than about a gigabyte.

How do I change my SCSI host adapter?
  This applies to at least 3.2v4.0 and later.  As always, make
  and verify a backup and a set of emergency diskettes before
  any major system surgery.

  Make sure that the appropriate driver is already installed.
  It may already be there, or it may be in the form of a
  BTLD.  Your manual should provide the instructions for this
  step.

  The file /etc/conf/cf.d/mscsi contains a list of SCSI devices
  and the parameters (such as which host adapter, what SCSI ID
  they are, etc.) required for them.  The safest change to make
  is to replacec the name of the old adapter driver (e.g. ad
  for an Adaptec 154x) to the name of the new one (e.g. arad
  for an AIC-7770-based adapter) on each such line.  There is
  another option, which is to use auto.  I am not sure exactly
  how this works if there is more than one host adapter installed,
  so on systems with multiple host adapters it is probably wisest
  to list the specific host adapter rather than using auto.

  There's at least one special case which deserves to be noted here.
  If you are moving from an EISA host adapter to a PCI one, you
  may need to enable PCI support in your kernel if this is the
  first PCI device.  In /etc/conf/sdevice.d/pci, you should see
  a line which begins "pci   N".  Change the N to Y.  If you are
  removing your last EISA device, you may wish to do the inverse
  in /etc/conf/sdevice.d/eisarom with the "eisarom" line, though
  it probably doesn't hurt to have this support in the kernel even
  though you have no EISA devices.  This also applies to other
  hardware changes involving addition or deletion of PCI and EISA
  devices, and it applies in reverse if you're removing your last
  PCI device and adding your first EISA one.

  Relink the kernel, shut down, and swap the hardware.

My machine had a panic.  How do I find out why?
**There are a number of situations which can cause panics.  First off,
**write down the actual panic message displayed on the screen when
**the machine crashed.  Also, write down the values of CS and EIP
**from the register dump.
**
**Next, reboot the system into single-user mode and run the following
**command to produce a panic report:
**
**echo panic -w /tmp/panic.out | crash -d /dev/swap
**
**This produces a report in the file /tmp/panic.out.  With the
**original panic message and this report, someone may be able to
**help you; without this information, it's just about impossible
**to say what went wrong.  In particular the section of the report
**listing the kernel stack may be useful in diagnosing what caused
**the panic.
**
**For further information, consult TAs 480619 and 482035.  Information
**on finding TAs can be found earlier in this FAQ.

Questions and Answers about TCP/IP and NFS
------------------------------------------
telnet doesn't work properly
  There is a known bug in telnetd under Xenix (and probably also under
  Unix), which causes it to be flaky when accessed by certain other
  software (such as Novell's LAN Workplace for DOS).  This is supposed
  to have been fixed in TCP/IP 1.2; also, the Xenix problem was supposed
  to have been fixed in lng337.

  Note that there may also be problems if you install an older version
  of TCP/IP on a newer operating system.  The newer version of /bin/login
  from your operating system may be overwritten by the older version
  from TCP/IP.

How do I know if I have enough streams buffers for TCP/IP and/or NFS?
  In OpenServer Release 5, streams buffers are among the data
  structures allocated dynamically by the kernel, and so in general
  you will never need to tune them because the system will allocate
**more if it's running short.  Note also that OSR5 does away with the
**80% and 90% (default) low and medium priority limits.

  Under Xenix, use the program 'sw' (stream watch); it will provide a
  dynamic display of the current and historical usage of various stream
  buffers.  Under Unix, you can use the crash command; the subcommand
  to use is strstat.  There is a version of 'sw' available for Unix,
  but not from SCO.  It can be found on some archive sites; I will
  include more information here when I find where I wrote it down :-(
  Under TCP/IP for Unix (and, presumably, the integrated TCP/IP version
  1.2), you can also use the netstat -m command.  Finally, u386mon,
  which is available from many public archive sites, provides
  similar functionality.

  Generally, you should set each class of streams buffer to be
  30-40% higher than the maximum usage you see, because by default
  the kernel will usually only use 80% of the buffers you have allocated
  (the rest are reserved for high-priority use, and this percentage
  is tunable).  Leave your system running and under typical use for
  as long as practicable (at least a few days, if at all possible),
  and then use one of the tools mentioned above to check the status of
  your streams buffers.  These tools list the configured limits for
  each class of buffers, the maximum number of each class used since
  the system was rebooted, and also how many times an allocation request
  for a given class has failed due to lack of available buffers.
  It's usually not a bad idea to tune the number of each class of
  buffer, because if you've allocated far more than is needed you're
  wasting memory and if you've underallocated, you may experience
  problems.  For more information, consult your System Administrator's
  Guide.

TCP/IP gives messages like "Notice: TCP SUM: SRC 89270107  SUM 0000D7AD"
  This simply means that TCP detected a checksum error in a packet.  TCP
  is a reliable protocol and will automatically request that the packet
  be re-sent.  This message serves as a notice only and should not be
  of concern unless it occurs frequently.  If you wish to determine
  the IP address of the machine that sent the bad packet, convert the
  SRC field from hexadecimal (89.27.01.07) to decimal (137.39.1.7).
  There are two common causes for these on high-speed networks, which
  are flaky network cards and slow cards that can't keep up with
  network traffic.  Also, these messages are common on SLIP and PPP
  links.

  Under Unix, at least, you may be able to stop the system from
  printing these errors.  In /etc/conf/pack.d/tcp/space.c, find
  the line which reads
  int tcpprintfs = 1;
  and change the 1 to a 0.  Relink the kernel and reboot.  I don't
  know of any similar procedure under Xenix ...

  In OpenServer Release 5, this variable defaults to zero (i.e.
  not printing these diagnostics).  It can be adjusted without
  a reboot using inconfig(ADMN).

How do I get /etc/issue to print for telnet sessions?
  There's an IT script with the full details on this.  Basically,
  you will need to create a file (we'll call it /etc/telbanner),
  owned by bin/bin and readable by everyone, with the message to be
  printed.  Next, create the following shell script and call it
  /etc/telbannerd:

  #!/bin/sh
  # name of file with banner
  BANNER_FILE=/etc/telbanner
  # name of telnet daemon
  TELNETD=/etc/telnetd
  # print banner if it exists and is readable
  [ -r ${BANNER_FILE} ] && cat ${BANNER_FILE}
  # now pass control to telnetd
  exec ${TELNETD} $*

  This script should be owned by bin/bin and world-executable and world-
  readable.  Now edit the telnet line in /etc/inetd.conf and change
  the "/etc/telnetd" to "/etc/telbannerd".  LEAVE EVERYTHING ELSE
  EXACTLY AS IT IS!  Finally, you'll need to send a SIGHUP to inetd
  to force it to re-read /etc/inetd.conf.

  One other note - in order for the above to work, you need the
  kernel support for #! turned on; see the entry on hashplingenable
  in the first section of this FAQ.

What does "WARNING:  tcp_deqdata" mean?
  This error means that streams resources need to be increased due to
  the volume of traffic on the network.  See the earlier entry in this
  section on how to check which streams buffers need to be increased.

         ---------------------End of Part Two-------------------
--
Stephen M. Dunn (SD313), CNE, ACE                  ste...@bokonon.ussinc.com
----------------------------------------------------------------------------
Manager, Technical Services                     United System Solutions Inc.
104 Carnforth Road, Toronto, ON, Canada M4A 2K7          (416) 750-7946 x251