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