From: res@colnet.cmhnet.org (Rob Stampfli)
Subject: Re: New 3b1'er (FAQ request)
Organization: Little to None
Date: Sat, 9 Jan 1993 15:33:56 GMT

Well, since no one else seems to want to do it...
----------------------------------------------------------------------
| Answers to some frequently asked questions about the AT&T UNIX PC, |
|     as well as some frequent problems, hints, and solutions.	     |
----------------------------------------------------------------------
[$Revision: 2.1 $]
Send updates to 3b1-faq@glyph.kingston.ny.us.

		Part 1 of 2

This article contains answers to the following questions:
1)  What exactly are the AT&T UNIX PC, PC7300, and 3B1?
2)  What is the operating system?  Its origins?
3)  What are the "OSU Archives"?
4)  Who supports these machines?  Are there any user groups?
5)  Where can I get my machine serviced or fixed?
6)  How do I get my free Personal Calendar program?
7)  What is "THE STORE!" and how can I access it?
8)  Is there any GNU software available?
9)  Is the X Window system available for the UNIX PC?
10) What's MGR?
11) How can I get a full 360kB when I format a MS-DOS floppy on the UNIX PC?
12) Are there any other utilities for fiddling with MS-DOS floppies?
13) Can I use the GNU C compiler in place of the hard-to-find development set?
14) What do I with old archives?
15) How do I restore from a backup when one of the floppies is bad?
16) How can I make a floppy-disk-based UNIX for fsck'ing the hard drive?
17) How can I get the machine to ask the device and program to boot from?
18) How do I get multiple login windows? 
19) What the heck is a +IN suffix on a file?
20) What do the HDERR (FDERR, or TPERR) messages in /usr/adm/unix.log mean?
21) Why are the header files missing after an install of the Development Set?
22) Why is the machine is booting over and over?
23) Is HoneyDanBer UUCP available to replace the stock uucp software?
24) Why doesn't the On-Board Modem (OBM) work with some other modems?
25) How do I get my on-board modem to be a dial-out-only modem?
26) Does the on-board modem support 2400 bps?
27) Why aren't the lpadmin, accept, and reject commands working right?
28) Why are all the jobs on the printer always followed by a formfeed?
29) Why can't I send bitmapped images to the printer correctly?
30) How do I configure a Hayes compatible external modem on the UNIX PC?
31) Any tips on building Cnews?
32) What are lipc and nipc, and how can I use nipc instead of lipc?
33) What third-party hardware is available?
34) Can I put a 68881 math coprocessor in my machine?
35) Can I really get 4MB of memory, even with a 1.5MB combo card, 512K RAM 
    card, and 2MB of RAM on the motherboard?
36) Can I hook up a 3.5" 720K floppy drive to my UNIX PC?  How about
    a 1.2MB or 1.44MB floppy drive?   Can I run both the 3.5" drive and 
    the 5.25" drive on my machine somehow?
37) Can I put a larger hard disk drive in the UNIX PC?
38) How do I park the hard disk heads before moving the machine?
39) How do I open the case and get to the motherboard?
40) Why does my fan sometimes speed up and slow down?  Should I replace it?
41) Why has my clock stopped?
42) What can I do when I turn on my UNIX PC and all I see is a "green screen"?
43) What can I do when I turn on my UNIX PC and I have no video?
44) What can I do when I get lots of FDERRs when writing/formatting a floppy?
45) Why does rn fail with "Can't open /dev/tty" from the built-in modem?
46) Can I connect my Starlan board to an Ethernet?
47) Can I run SLIP (Serial Line Internet Protocol) on my UNIX PC?
48) What are the consequences of "fsck -s" (salvaging the freelist)?
49) What does the "-s" option to dismount do?
50) How do I identify what motherboard revision I have?
51) How can the monitor fail?
52) What are the LED's left side of the machine for?
53) What's /etc/update?  What does it do? 
54) Why did the time display at the top of the screen go away?
55) How do I stop that darn double-ESC mode on console windows?
56) What do I do when the machine hangs at the boot message?
57) How can the UNIX PC be made more secure?
58) How do I access the expert menus in the diagnostics?
59) Where is Elvis?


------------------------------------------------------------------------
-- General -------------------------------------------------------------

------------------------------------------------------------------------
1)  What exactly are the AT&T UNIX PC, PC7300, and 3B1?

	The name "UNIX PC" is a catch-all name for a set of machines
developed by Convergent Technologies (now part of Unisys) and sold by
AT&T in the mid to late 80's, all having the same basic configuration:

	o 10MHz 68010 with custom MMU
	o demand paged, virtual memory UNIX (max. process size 2.5M)
	o 10/20/40/67MB disk
	o 512k/1M/2MB RAM
	o monochrome, quasi-Hercules display

	As marketing strategies changed and basic features were added,
the original offering (the PC7300) became known as the 3B1.  The 7300
machines featured 512k RAM on the motherboard with a 10 or 20MB disk.
The later 3B1 machines had 1M or 2M on the motherboard, and came with
a 40 or 67MB disk.  Accommodating the larger, full-height drives in the
3B1 required that a hump be added to the sloping, wedge-shaped case
top.  The 3B1 also has a heftier power supply.

------------------------------------------------------------------------
2)  What is the operating system?  Its origins?

	The operating system is based on UNIX System V Release 2, with
extensions from BSD 4.1, BSD 4.2, System V Release 3 and Convergent
Technologies.  The most recent version is 3.51, with a 3.51m FIXDISK
(2.0) available.  The FIXDISK can be gotten from AT&T directly, they
will send it out to you free of charge.  Just call the Hotline Support
line at 1-800-922-0354, and tell them you want the free FIXDISK 2.0
for the UNIX PC.  The FIXDISK is also available on OSU Archives as
FIXDISK2.0+IN.

------------------------------------------------------------------------
3)  What are the "OSU Archives"?

	OSU-CIS is an Ohio State University computer system which
holds a very large selection of UNIX-PC-related programs and files.
David Brierley (dave@galaxia.newport.ri.us) is the current maintainer
of the archives.  Ohio State graciously allows both anonymous FTP and
UUCP access to this archive.  For FTP from the Internet, access is via
the machine archive.cis.ohio-state.edu (IP address: 128.146.8.52).

They recommend the following L.sys (Systems) entries:

	#
	# Direct Trailblazer
	# dead, dead, dead...sigh.  for the 3rd time in as many months.
	#
	#osu-cis Any ACU 19200 1-614-292-5112 in:--in:--in: Uanon
	#
	# Direct V.32 (MNP 4)
	# dead, dead, dead...sigh.
	#
	#osu-cis Any ACU 9600 1-614-292-1153 in:--in:--in: Uanon
	#
	# Micom port selector, at 1200, 2400, or 9600 bps.
	# Replace ##'s below with 12, 24, or 96 (both speed and phone number).
	# Can't use MNP with V.32 on -3196
	#
	osu-cis Any ACU ##00 1-614-292-31## "" \r\c Name? osu-cis nected \c GO \d\r\d\r\d\r\d\r\d\r\d\r\d\r in:--in:--in: Uanon

	The file ~/att7300/README.Z contains a detailed list of the
archive's contents and should be the first thing to get.

	Another source of software for Internet-connected sites is the
anonymous FTP area on ftp.cs.caltech.edu.  Andy Fyfe
(andy@cs.caltech.edu) maintains new versions of TeX and GNU utilities
in the pub/3b1 directory.

------------------------------------------------------------------------
4)  Who supports these machines?  Are there any user groups?

	The primary support for the machine is the Usenet newsgroup,
comp.sys.3b1.  There are a lot of dedicated people who enjoy these
machines and post a wealth of information to the network.

	If you are in the Silicon Valley area, contact Thad Floryan
(thad@btr.com) for information on how to go to the "AT&T UNIX User's
Group" meeting on the fourth Wednesday of every month.  Although it's
a generic AT&T UNIX group, a large number of the members (including
Thad) own UNIX PC's.

------------------------------------------------------------------------
5)  Where can I get my machine serviced or fixed?

	AT&T will still support the machine for another year or so,
they have to by law [this may be obsolete now, and sounds suspiciously
like an urban legend].  Their prices are a bit high, but they will
come on site or you can bring your machine to a local depot to replace
or repair anything that is wrong with your UNIX PC.  Call
1-800-922-0353 (AT&T Hotline support) -- consulting fees will be
required to talk to an engineer, but if it's diagnosed to be a
hardware problem the consulting fees will be waived.  Caveat Emptor
(let the buyer beware).  They tend to like to replace lots of parts.
For a $3.00 battery, they'll replace the motherboard (not cheap!)

	A better solution, at least a cheaper one, is the ``A Small
Computer Repair Company'' (ASCRC).  They will diagnose your problem,
and repair or replace the part that is broken.  They will try their
hardest to repair the item first.  Their prices are much more
reasonable than AT&T's, but the catch is that you need to send the
computer (or just the component in question) to them.  They will
repair/replace it and ship it back.  Their turn-around time is usually
48-72 hours.  They repair AT&T's 6300, 6300+, 7300, 3B1 and UNIX PC
computers. For more information and/or to arrange servicing, contact:

		A Small Computer Repair Company
		5762 Dichondra Place
		Newark, CA  94560
		(415) 430-9226 or (415) 793-6980

------------------------------------------------------------------------
-- Software ------------------------------------------------------------

------------------------------------------------------------------------
6)  How do I get my free Personal Calendar program?

	Enclosed with the documentation of many or all UNIX PC's was a
card which you could send in the receive a free copy of the Personal
Calendar program.  The machine is discontinued, so sending in the card
now won't accomplish anything; that doesn't mean that you're out of
luck, however.  Many machines were shipped with the calendar program
in /etc/fixes.  Install it as follows (the name of the program is
"pcal"):

	Append this to your /usr/lib/ua/Office file:

		Name=Calendar
		Default = Open
		Open=EXEC -d /usr/bin/pcal -c
		Help=EXEC -d /usr/bin/uahelp -h /usr/lib/ua/ua.hlp -t Calendar

	Append this to your /usr/lib/ua/Preferences file:

		Name=Calendar
		Default = Open
		Open=EXEC -d /usr/bin/pcal -p
		Help=EXEC -d /usr/bin/uahelp -h /usr/lib/ua/ua.hlp -t Calendar

	If you are using the pcal that is located in /etc/fixes:

		$ su
		Password:
		# mv /etc/fixes/pcal /usr/bin
		# mv /etc/fixes/pcal.hlp /usr/lib/ua
		# chown bin /usr/bin/pcal /usr/lib/ua/pcal.hlp
		# chgrp bin /usr/bin/pcal /usr/lib/ua/pcal.hlp
		# chmod 755 /usr/bin/pcal 
		# chmod 644 /usr/lib/ua/pcal.hlp

------------------------------------------------------------------------
7)  What is "THE STORE!" and how can I access it?

	THE STORE! was owned and operated by AT&T, but is no longer
available for dialup uucp.  All publicly accessible software that was
formerly available there has been moved and archived on the OSU
archives (see below).

------------------------------------------------------------------------
8)  Is there any GNU software available?

	There are fairly recent versions of gcc, g++, gas, gdb, and
emacs as binary-only cpio archives on OSU.

------------------------------------------------------------------------
9)  Is the X Window system available for the UNIX PC?

	No, X has not been ported, and probably won't ever be ported
to the UNIX PC.  X is quite large, and there have been several
discussions about porting it in comp.sys.3b1, but it's probably not
worth the effort.

------------------------------------------------------------------------
10) What's MGR?

	MGR is an alternative windowing environment developed by Steve
Uhler at Bellcore and ported to the UNIX PC by Brad Bosch and Brian
Botton.  The MGR windowing environment can replace the standard
/dev/window environment on the UNIX PC quite nicely (it does prevent
some UNIX PC specific programs from being run in this phase, without
the wind.o loadable device driver loaded).  MGR's user interface is
quite similar to a SunWindows environment, and raster operations are
quite fast.  MGR is a user program, not a driver (besides the pty
driver), so it doesn't take up precious kernel space.  It does require
a hardware modification called the VIDPAL.  The VIDPAL (developed by
Brian Botton [...!att!iexist!botton]) is a daughterboard that sits
sandwiched between the 68010 CPU and the motherboard and allows direct
access to video memory from a user process.

	At one time, Brian had provided VIDPAL kits but no longer does
so.  If you want to try out MGR, but can't get a VIDPAL board, you may
want to try out John Milton's VIDPAL emulator -- a software-only
solution to video memory access.  It is certainly slower than a real
VIDPAL, but is interesting none the less.  The VIDPAL emulator was
posted to comp.sources.3b1 and so should be archived at standard
archive sites like uunet.uu.net.

	A beta source distribution of MGR is on OSU, and can also be
gotten via anonymous ftp from max.physics.sunysb.edu (129.49.21.100).

------------------------------------------------------------------------
11) How can I get a full 360kB when I format a MS-DOS floppy on the UNIX PC?

	The md_format program defaults to formatting floppies with 8
tracks per sector (320kB).  Use the "-9" option to get 9 tracks per
sector (360kB).

	A further suggestion is to get "windy.cpio.Z" from the OSU
Archives to run the md_format program since it is one of those which
tends to turn your full-screen UNIX window into a little, horrible-
looking window.  Windy fixes this by running the command in its own
window.

------------------------------------------------------------------------
12) Are there any other utilities for fiddling with MS-DOS floppies?

	The best of the bunch is Emmet P. Gray's Mtools package, which
is available on OSU.  The utilities in this package allow one to copy
files, delete files, rename files, make directories, format disks,
etc.  The 2.0 version of Mtools also supports the C:, D:, etc. drive
partitions of the DOS-73 emulator.

------------------------------------------------------------------------
-- Software development ------------------------------------------------

------------------------------------------------------------------------
13) Can I use the GNU C compiler in place of the hard-to-find development set?

	In theory, anyway, most of what you need can be obtained
elsewhere.  There are at least five things that you need to do C
programming on the UNIX PC:
	o a C compiler
		Use GCC (binary available in languages/gcc-gas.tar.Z
		on OSU-CIS)
	o an assembler
		Use GAS (binary available in languages/gcc-gas.tar.Z
		on OSU-CIS)
	o a linker/loader (/bin/ld)
		This is included in the Foundation Set.
	o system header files
		Alex Crain (alex@umbc3.umbc.edu) has created a set of
		ANSI header files which appeared in Volume 1, Issue 49
		of comp.sources.3b1, with one patch.
	o libraries
		This is the tough one.  There are a bunch of libraries
		that come the Development Set that would be difficult
		to replace.  One of the most important (/lib/libc.a)
		is on the Encryption Set disks in the Foundation Set.
		Supposedly FIXDISK2.0 contains one or more updated
		libraries.  The network and OSU remain good sources
		for strings, POSIX, dirent, etc. libraries.  Of
		course, there are other libraries like /lib/libm.a
		(math), and /lib/libld.a (COFF access) which might be
		more difficult to replace.

	This writer hasn't actually heard of anyone actually pulling
this feat off, but sometimes he has trouble paying attention. ("Eh?")

	(Thanks to Glenn Thobe for providing up-to-date information.)

------------------------------------------------------------------------
14) What do I with old archives?

	The archive format was changed from release 3.0 to 3.5 of the
operating system.  There is a utility to convert the archives to the
new format.

		# convert oldarchive.a newarchive.a

	Or you can run:

		# arconvert
		# file oldarchive.a newarchive.a
		oldarchive.a: 5.0 archive
		newarchive.a: 5.2 archive

	That will convert all the archives in /usr/lib and /lib that
are in the old 5.0 archive format to the new 5.2 archive format.

------------------------------------------------------------------------
-- Administration ------------------------------------------------------

------------------------------------------------------------------------
15) How do I restore from a backup when one of the floppies is bad?

	Get the public domain program called "afio".  It's available
in the OSU archives.  It supports reading the floppy disk backup set,
and will ignore errors and recover when it finds the next cpio ASCII
header if you use the "-k" option.  The backup set must be written
using cpio and the "-c" option must have been used during the writing
of the diskettes.

	The syntax for afio to restore is:
		# cd /
		# afio -ivk /dev/rfp021
			  ^ use the k option to allow dealing with
			    corrupted archives

------------------------------------------------------------------------
16) How can I make a floppy-disk-based UNIX for fsck'ing the hard drive?

	Make a copy of the "Floppy Filesystem Disk" (Disk 3 of ##) of
the Foundation Set as follows.  Insert the original floppy filesystem
diskette, and have a formatted, 10 sectors/track diskette ready.  Type
the "fpcp" command and copy it.

	Now that you have a copy, place a copy of /etc/fsck on it.
While you're at it, save your /etc/inittab in case it gets destroyed
in the future and you can't get the machine to boot.

		# mount /dev/fp021 /mnt
		# cp /etc/fsck /mnt/etc/fsck
		# cp /etc/inittab /mnt/etc/inittab.save
		# sync
		# umount /dev/fp021

	Now you have a disk that will help you do a standalone
filesystem check.

	To use this, first boot the system using the "Floppy Boot
Disk" (Disk 2 of ##).  It will stop and ask you to insert the Floppy
Filesystem Disk.  Insert your copy instead.  When it comes to the
first question, interrupt the script with <DEL> to get a "#" prompt.

	The disk is already mounted as /mnt, so unmount it:
		# umount /dev/fp002
		warning: /dev/fp002 not in mount table
	Do your filesystem check:
		# /etc/fsck -D -S /dev/rfp002
	Reboot the system:
		# sync
		# sync
		# reboot

	NOTE: the root filesystem is the floppy filesystem, so the
"-s" option to fsck salvages the floppy root filesystem, not the root
filesystem on the hard drive.  This is why "-s" is not used above.

    *** THE FOLLOWING IS NOT FOR THE UNINHIBITED OR CASUAL USER ***

	For the real UNIX hacker out there (who is fortunate enough to
have a tape drive on your machine) you could grab the fp_unix.sh.Z,
conf.sh.Z and kern.cpio.Z files from the OSU Archives.  This is a set
of tools, along with the kernel object files for 3.51m, that will let
you link in the tape driver (tp.o) to your floppy UNIX kernel and give
you full control of the tape device from the floppy UNIX.  This is
very handy for doing full backups or restores from the floppy!

------------------------------------------------------------------------
17) How can I get the machine to ask the device and program to boot from?

	By default the UNIX PC is set up with the non-verbose system
loader.  This can be changed to the "verbose" loader which will ask
what program and device to load from.

	*** WARNING *** Any time you write to the disk device like the
following, be extra careful that you type the correct device name.  A
backup is always recommended.

	Insert a blank diskette in the floppy drive.
		# fdfmt.vl
		# /etc/ldrcpy /dev/rfp020 /dev/rfp000

	Reboot your machine and you'll be able to load from the floppy
or the hard disk whatever program you desire (not that there is too
much you can load).  It may be useful to copy the several diagnostic
utilities to the hard disk (for easy retrieval).

	Insert your diagnostic disk ...
		# mount /dev/fp021 /mnt -r
		# mkdir /dgn
		# cp /mnt/s4diag /dgn/s4diag
		# umount /dev/fp021

	This can be repeated for diagnostics like, STARLAN, Voice
Power, DOS-73, Floppy Tape, etc.  Name the diagnostic programs
something unique (slndiag, vpdiag, dosdiag, etc.)  Now you can load
from the hard disk /dgn/s4diag, /dgn/vpdiag, etc.. and have that
diagnostic utility handy when needed.

	NOTE: After you do this procedure your system will not reboot
automatically (after power failures) without some user input.

------------------------------------------------------------------------
18) How do I get multiple login windows? 

	It is fairly easy to start up several windows with logins on
them: all you need to do is add additional getty commands to the
/etc/inittab file.  Don't be afraid to edit your /etc/inittab, even
though there is a big warning at the top of the file -- nothing will
happen if you are careful.

		 vid:2:respawn:/etc/getty window 9600
		 vd2:2:respawn:/etc/getty window 9600
		 vd3:2:respawn:/etc/getty window 9600
		^ NOTE: in all cases there is a space character there.

	This will start up 3 windows with logins.  Using the
<Shift><Suspd> key, you can cycle through all of them.

	Another option is to get the Boyd Ostroff's "wlogin" package,
posted to comp.sources.3b1 and available from the archives.  This
program can either replace or work with /etc/getty on the console and
lets you have multiple overlapping 24 line x 80 character windows
using a smaller font.  It will work with or without wmgr, smgr, ph and
ua.  The number of windows and their position is fully configurable by
the user.  If desired, it can provide a simple alternative windowing
environment to the UA, allowing you to remove ua and all its
associated files, thus freeing up over 1 MB of disk space.

------------------------------------------------------------------------
19) What the heck is a +IN suffix on a file?

	On the UNIX PC, "+IN" denotes an "Installable File".  If you
were to use the UA it would show that it's an Installable File.  The
Installable format is just a normal cpio archive.  The file can be
installed by hand by doing:

		# mkdir /tmp/install
		# mv FILE+IN /tmp
		# cd /tmp/install
		# cpio -icduvmB < ../FILE+IN
		[...]
		# ./Install

	A list of other Suffixes appears in the file
/usr/lib/ua/Suffixes.

------------------------------------------------------------------------
20) What do the HDERR (FDERR, or TPERR) messages in /usr/adm/unix.log mean?

	There are several possible causes for these.  One of course is
a bad disk, or a disk that has gone bad.  But one should check the
other options before determining the disk is really bad.

	Dirty power supply contacts have been known to cause these
problems.  Open the machine and clean the power supply contacts on the
ribbon-type cable that goes from the supply to the motherboard.

	A weak or faulty power supply could also be your problem.
Test the power supply voltages (with the hard drive and motherboard
connected as a load), using some sort of Y-connector off the power
cable to the hard drive.  Test the +12VDC and +5VDC supplies with a
meter, and make sure they are within acceptable tolerances.  If they
are too low, intermittent HDERRs will occur.  There are several
adjustment screws on the power supply (marked +5, +12, -12) that can
adjust these values.  Turning clockwise will increase the value, and
counterclockwise will decrease it.  Faulty power can make a good hard
disk or motherboard appear to be bad.

	More commonly you'll find FDERRs in your /usr/adm/unix.log
file.  Every time you format a new floppy disk, you'll get at least
one.  Floppy disks are prone to more errors, especially if you get
those bargain basement brand types.

	TPERRs might appear if you have a bad or defective cartridge
tape block.  If you start seeing a lot of these during your backup or
verify phases, it would be a good idea to re-format the tape and run
another surface check (to check for possibly bad streams, or good
streams that have gone bad).

------------------------------------------------------------------------
21) Why are the header files missing after an install of the Development Set?

	One of the packages' Install scripts (apparently that of
"Curses/Terminfo Programmers Package"), copies curses.h to
/usr/include anticipating that the directory has already been created
by a previous package's Install script.  If /usr/include doesn't exist
yet because the packages weren't installed in the right order, the
Install script will make a *file* called /usr/include, which is really
curses.h.

	To prevent this from happening, install the packages in this
order:

		Curses/Terminfo End User Package
		Development Set 3.5x
		Curses/Terminfo Programmers Package

---------------------------------------------------------------------
22) Why is the machine is booting over and over?

	The stock /etc/rc that called when the machine boots up writes
the output of the fsck(1M) to the hard disk (/etc/.lastfsck).  This is
definitely a problem.  Many people prefer having control over what
fsck does rather than running fsck with the "-y" option and having it
do all the work.  A lot of times fsck will delete files or clear them
and you have no control over what it's doing.

	Check out the fsokay.cpio.Z package on OSU, it contains some
enhanced /etc/rc scripts and tools to make the booting phase of the
UNIX PC a lot cleaner and more reliable.

------------------------------------------------------------------------
23) Is HoneyDanBer UUCP available to replace the stock uucp software?

	HDB binaries and documentation are available on OSU as the
following files:
		~/att7300/STORE/HDB3.5+IN.Z
		~/att7300/STORE/HONEYDOCS+IN.Z

------------------------------------------------------------------------
24) Why doesn't the On-Board Modem (OBM) work with some other modems?

	The OBM creates answerback tones which identifies itself (for
some reason) as an MNP reliable modem (!).  This confuses some MNP
modems and the Telebit Trailblazer (only if set in MNP reliable mode).
These cannot be altered in the OBM, but often a system which cannot
call the UNIX PC OBM can be called by the UNIX PC OBM.

------------------------------------------------------------------------
25) How do I get my on-board modem to be a dial-out-only modem?

	The easiest way to do this is to edit (with your favorite
editor) the /etc/inittab file.  Change the line:

		 ph0:2:respawn:/etc/getty ph0 1200
	to:
		 ph0:2:off:/etc/getty ph0 1200
		^
	NOTE: There is a space character in front of the first "ph0"
in the lines above.  ph0 may be ph1 if you are using line 2 for the
on-board modem.

------------------------------------------------------------------------
26) Does the on-board modem support 2400 bps?

	In what Convergent considered future releases of the UNIX PC
(P6), there was to be a 2400 bps modem.  This machine was never fully
developed to production levels, and therefore there is no 2400 bps
modem.  Interesting trivia: The machine was to have a color video,
60MB QIC tape, as well as a 68020 CPU paired with a 68881 FPU.

------------------------------------------------------------------------
27) Why aren't the lpadmin, accept, and reject commands working right?

	The lpadmin(1M), accept(1M), and reject(1M) commands require
the user to be logged in as (or su'd to) user "lp".  Being root will
not work.

		# su lp
		$ disable lp1
		$ /usr/lib/lpadmin -plp1 -mdumb -v/dev/lp
		$ enable lp1

------------------------------------------------------------------------
28) Why are all the jobs on the printer always followed by a formfeed?

	The line printer driver follows each close(2) of /dev/lp with
a formfeed.  There is no way to disable this, except by avoiding the
driver altogether and going straight to the raw printer device.

		# su lp
		$ /usr/lib/lpadmin -plp1 -mdumb -v/dev/rawlp

------------------------------------------------------------------------
29) Why can't I send bitmapped images to the printer correctly?

	8-bit, bitmapped images need to go to the raw printer device,
/dev/rawlp.

------------------------------------------------------------------------
30) How do I configure a Hayes compatible external modem on the UNIX PC?

	Thanks to Jim Adams, included in the OSU Archives is an
informational posting (posted to unix-pc.uucp and comp.sys.att) on how
to set up your external modem under HDB uucp.  The file is named
HDB_Modem.Z.

	The file uses the "hayes" modem as the example, although
information could probably be extracted for uses with other modems.
If you want information on how to set up your Telebit Trailblazer
modem, get the file tb-setup.sh.Z on OSU.

	This posting was too large to include in its entirety here, so
a completely separate posting was made.  He goes into how to set up
the modem, proper cabling, proper Devices and Dialers entries, and a
discussion on HFC (hardware flow control).

	Additionally, the "modemon" package by Boyd Ostroff provides a
simple way to configure external modems.  It consists of a small
program executed via inittab which can reset your modem and execute
any desired AT commands each time a getty is spawned on the serial
port.  This allows you to configure the modem differently for incoming
and outgoing calls and is especially handy if your modem doesn't have
nonvolatile parameter RAM.  The package includes complete
documentation and examples of how to set up an external modem.  It was
posted to comp.sources.3b1 and is available in the archives.

------------------------------------------------------------------------
31) Any tips on building Cnews?

	A sample build.def from Jan Isley (jan@bagend.uucp) follows
with the following interesting characteristics noted:
	- news account is uid=20, gid=20
	- bin owns the executables
	- using Doug Gwyn's dirent library (available on OSU)
	- using a mailer that understands @ addressing (like smail 2.5)
	- UNIX PC kernel does not support setuid(geteuid())
	- other site-specific stuff (machine name and organization)

newsuid="news"
newsgid="news"
binuid="bin"
bingid="bin"
binsrc="no"
mess="no"
unmess="no"
newsarts="/usr/spool/news"
newsctl="/usr/lib/news"
newsbin="/usr/lib/newsbin"
newsumask="002"
newsmaster="usenet"
newsconfig="/usr/lib/news/bin/config"
chown="/bin/chown"
chboth="yes"
chgrp="/bin/chgrp"
unixkind="usg"
addrsize="big"
dbmopt=""
faststdio="no"
storeval="yes"
faststrchr="yes"
sete="no"
ranlib="no"
symdef="yes"
cc="ccc"
copts="-O"
ldopts="-s"
postlibs="-ldirent"
hostname="no"
uname="yes"
uucptype="hdb"
dftype="ustat"
dfdirs="no"
archive="yes"
spacelow="yes"
nfsgroup="no"
server="newsie"
manpages="/usr/man"
manmess="no"
rbin="/usr/bin"
doui="no"
bin="/usr/bin"
atok="yes"
postdefltdist=""
paranoid="no"
whoami="bagend"
mailname="bagend.uucp"
organization="1 Bagshot Row, the Shire"
postdefltgroup=""
newspath="/bin:/usr/bin:/usr/local/bin"
fake=" fsync.o mkdir.o symlink.o strerror.o"
fakehdrs=" ../include/string.h ../include/sys/timeb.h"
immediate="no"
inputstall="yes"
defsub=""
mustsub=""

------------------------------------------------------------------------
32) What are lipc and nipc, and how can I use nipc instead of lipc?

	/etc/lddrv/lipc is the loadable device driver that implements
System V inter-process communications on the UNIX PC (semget(), etc.).
/etc/lddrv/nipc is a newer implementation of this driver which fixes
an IPC bug, but was never fully tested.  The default driver loaded by
/etc/lddrv/drivers is lipc, and in fact, this is the driver which the
program ipcs looks for when it reports on IPC usage.  No bugs with nipc
have been uncovered since it was made available (87?), and many people
would rather run the "better" driver than stick with the old lipc.

	There are two approaches for replacing lipc with nipc.  The
most obvious way is to edit /etc/lddrv/drivers to replace lipc with
nipc for when the system is next booted, then replacing the in-core
lipc with nipc with the following sequence:

		# cd /etc/lddrv
		# ./lddrv -dv lipc
		# ./lddrv -av nipc

	Unfortunately, ipcs will not find the lipc driver, and so
won't give any IPC status.  This can be overcome by wielding a binary
editor in the general direction of /usr/bin/ipcs, replacing the
hard-coded instances of "lipc" with "nipc".

	Another method is to remove lipc from core (./lddrv -dv lipc),
rename its files to something benign (lipc -> lipc.old, lipc.o ->
lipc.o.old, ifile.lipc -> ifile.lipc.old), rename the nipc files to be
lipc (nipc -> lipc, nipc.o -> lipc.o, ifile.nipc -> ifile.lipc), and
finally reload the new lipc (./lddrv -av lipc).

------------------------------------------------------------------------
-- Upgrading -----------------------------------------------------------

------------------------------------------------------------------------
33) What third-party hardware is available?

	Presently there are no known distributors that have a
selection of UNIX PC hardware.  The best source for hardware is the
network, reading comp.sys.3b1 and misc.forsale.  There is always
someone selling UNIX PCs and the appropriate hardware expansion.

------------------------------------------------------------------------
34) Can I put a 68881 math coprocessor in my machine?

	AT&T had listed a 68881 feature as being available for the
UNIX PC, but it was never fully developed.

------------------------------------------------------------------------
35) Can I really get 4MB of memory, even with a 1.5MB combo card, 512K RAM 
    card, and 2MB of RAM on the motherboard?

	The answer is yes.  It does require a simple pin-ectomy.  You
need to fool the hardware to think the 512K RAM card is in a slot that
doesn't physically exist on the UNIX PC.  For more information on how
to do this, grab John Milton's HwNote06 from the archive sites.

------------------------------------------------------------------------
36) Can I hook up a 3.5" 720K floppy drive to my UNIX PC?  How about
    a 1.2MB or 1.44MB floppy drive?   Can I run both the 3.5" drive and 
    the 5.25" drive on my machine somehow?

	Yes, to the 720K.  No, to the 1.2MB and 1.44MB.

	Putting a 720K 3.5" floppy drive is rather simple if you are
just replacing the existing 360K 5.25" drive completely.  In most
cases it's a one-to-one swap, providing you can get the jumper setting
set correctly on the 3.5" drive.

	You can run both drives, provided you make a mechanical switch
(SPDT) to change the drive select between the 5.25" 360K internal
drive and the 3.5" 720K (run externally).  You need to make a cable to
switch the pin 10 (FDRIVE0*) from one drive to the other.  Drilling a
hole in the case above the left fan grate is a suitable spot.

	When you use the 720K drive, all you need to do is create an
iv description file that has 80 cylinders instead of 40, and you get
the full 800K (80 tracks, 10 sec/trk).  Makes backups go faster!

------------------------------------------------------------------------
37) Can I put a larger hard disk drive in the UNIX PC?

	Upgrading from a 10MB, 20MB, or 40MB to a 67MB drive requires
a 3B1 power supply and a 3B1 case top (the 40MB and 67MB drive is
full-height).  There are other solutions to this -- you can get
half-height drives that have seek times faster than the 80ms of the
old 10MB and 20MB drives, and which have more disk space.  So long as
the drive has a ST506/MFM interface, has less than or equal to 1024
cylinders and less than or equal to 8 heads, the drive will work
without *any* hardware modifications.

	To upgrade to a disk with more than 8 heads and more than 1024
cylinders there are several approaches one can take.  Gaining more
cylinders is the easiest of upgrades: all you need to do is replace
the WD1010 disk controller (which is socketed on the motherboard at
location 21H) with the pin-for-pin compatible disk controller, WD2010.
The WD2010 comes in several varieties, and all seem to work for the
most part (WD2010A, WD2010B, etc.).  The WD2010 is a very difficult
part to come by -- Intel makes (or made) a pin-compatible version of
the WD2010, the Intel 82064.  There has been some discussion on Usenet
that people haven't been able to get the WD2010 to work in their older
revision motherboard UNIX PC or PC7300.  These machines have a
daughterboard that handles the disk circuitry, instead of the
all-in-one chip that was replaced in the later models.

	The operating system, from at least release 3.0, supported an
unreleased motherboard revision, P5.1.  The P5.1 revision level (like
the P3...P5 that you see during the boot phase) includes some extra
features such as an extra disk head select (expanding to 16 read/write
disk heads) and extra drive select (allowing expansion to two
simultaneous hard disks).  With the appropriate hardware modifications
(all requiring some expertise in soldering and reading schematics),
one could upgrade his motherboard to emulate this undocumented
motherboard revision.  These upgrades weren't released to the public
by either CT or AT&T during the life-cycle of the product, but were
later released and made public by several people in several different
forms.

    o   John Milton <...!cis.ohio-state.edu!n8emr!uncle!jbm> has a prebuilt
        circuit board that offers up to 4 hard disks and 2 floppy drives, but
        be forewarned that the operating system only supports the two
        hard disks and one floppy drive.  If the operating system patches
        could be made, John's hardware would support it.  He's offering a
        prebuilt and pretested board that can be wired into the motherboard.
        The motherboard wiring (jumpers) and soldering will have to be done 
        as well before you can use John's board (this is not a plug in and
        go situation -- it requires some time to wire).  The board and
        instructions currently cost $75, but contact John for pricing.
 
    o   SSDL/ICUS Hard Disk Upgrade Version 2.0.
	Gil Kloepfer, Jr (gil@limbic.ssdl.com) is currently (10Jan92)
	offering the second version of the popular ICUS do-it-yourself
	hard-disk upgrade kit.  From the announcement, answering the
	question "What is it?" --
	"It is a single-chip upgrade to the 3B1 that allows a second
	hard disk to be added and a 4th head select line to allow
	disks with more than 8 heads to be used.  It is a superset of
	the functionality of the P5.1 PAL (ie. you don't need P5.1 to
	use the V2.0 PAL), and completely emulates all the
	functionality of the earlier ICUS V1.0 upgrade.

	"This upgrade *DOES NOT* extend the number of cylinders
	(>1024).  You must purchase a WD2010 to replace the WD1010
	chip on the motherboard if you wish to do this."

	Full information about availability and pricing can be
	obtained from v2upgrade@limbic.ssdl.com.

    o   FIELD P5.1 PAL upgrade.  The P5.1 instructions were posted to 
        unix-pc.general a long time ago, and are now archived on OSU in
        the P5.1.Z file.  This requires a preprogrammed PAL chip to be made.

    The largest disk which can be handled by the UNIX PC/3B1 is:

    o   Motherboard revision P3...P5 (WD1010 disk controller)
	8 heads x 1024 cyls x 16 sectors/track x 512 bytes/sector  =  67.1MB

    o   Motherboard revision P3...P5 (WD2010 disk controller)
	8 heads x 1400 cyls x 16 sectors/track x 512 bytes/sector  =  91.7MB

    o   Motherboard revision P5.1 (modified) (WD1010 disk controller) 
	16 heads x 1024 cyls x 16 sectors/track x 512 bytes/sector = 134.2MB

    o   Motherboard revision P5.1 (modified) (WD2010 disk controller)
	16 heads x 1400 cyls x 16 sectors/track x 512 bytes/sector = 183.5MB

	NOTE: 1400 cylinders is the #define HDMAXCYL in
/usr/include/sys/gdisk.h -- although the WD2010 can support up to 2048
cylinders, the operating system cannot.  Also, with the multiple hard
disk upgrades you can have two disks that can be as large as the above
sizes for the P5.1 modified motherboard revision.

	FINAL NOTE ON THE WD2010: Some folks have reported troubles
with their systems after installing the WD2010, far too many to
discount as due to bad chips.  Thad Floryan was irritated enough by
this to take time away from sheep-herding and solve the problem.  This
problems occurs only on certain versions of the 3b1 motherboard.
Short and sweet, quoting from Thad here:

	"So, in overview, the complete and correct "DRUN patch" modification 
	to a 3B1 motherboard which does function with a WD1010 but does not 
	function with a WD2010 is:
		1. separate and lift [13N] 74123's pins 1 and 2 
		   from the motherboard
		2. run a wire from the lifted [13N] pin 1 
		   to [13M] 74F10 pin 7 (ground)
		3. run a wire from the lifted [13N] pin 2 
		   to [13K] 26LS32 pin 3
		4. replace R63 per:
			original:  6.81K,  1%, 1/4W
			new value: 4.75K, 1%, 1/4W
	Parts list:
		1. new 74123 (reason for this is described below)
		2. 4.75K, 1%, 1/4 W precision resistor
		3. less than one foot of 30ga "wire-wrap" wire 
		   for the two patches"

	And additionally:

	"If your system is one that DOESN'T have the "DRUN Patch"
	then putting the WD2010 in your system will cause you a LOT
	of grief.  From my observations on MANY systems, it's not
	always obvious whether the patch exists on one's system;
	some factory runs implemented the patch along the lines
	of what I described in my posting last December [excerpted
	above], and some runs had the patch integrated into
	(presumably) new motherboard layouts where the legs of the
	74123 chip are NOT sticking up in the air.  If the resistor at
	R63 has the color code bands, then the presence of 4.75K 1%
	means the patch is already applied (the value of 6.81K 1%
	means you have the old data separator circuit which will NOT
	function properly with a WD2010); if the resistor is the RN05
	type (no color bands) then you probably won't be able to read
	the value and you'll either have to remove it (to read the
	value) or forget the whole thing.

	The ABSENCE of a capacitor at C252 is also a good clue one's
	motherboard has the DRUN patch already applied."

------------------------------------------------------------------------
-- Maintenance ---------------------------------------------------------

------------------------------------------------------------------------
38) How do I park the hard disk heads before moving the machine?

	The Miniscribe and Hitachi disks used in the 40MB and 67MB
machines parks the heads automatically (and loudly when the power is
turned off.  (That's that *clunk* sound you hear when you hit the
power switch.)  Also note that many newer drives have auto-parking
mechanisms -- check with your specific manufacturers for more
information.

	If your drive doesn't auto-park (many Seagates don't), or you
want to make extra sure that the heads are in the parked position,
then after the machine is shutdown insert the Diagnostics floppy disk
and boot from it.  Select "Park Disk Heads" from the Diagnostics menu.

	Note that the older 7300 machines have 10 or 20MB disks which
do not auto-park.  If you're buying one used (especially at an auction
or a fair), you may want to bring along a diagnostics diskette to make
sure the disk is okay.

------------------------------------------------------------------------
39) How do I open the case and get to the motherboard?

	[Courtesy of Norman Yarvin:]

	Three sets of screws hold the case together.  The first set
consists of two screws underneath the keyboard retainer posts, and
three screws in the rear panel.  (The keyboard retainer posts hold the
keyboard to the base -- one is next to the socket for the keyboard
plug.  Note the seam around the top of the retainer posts.  Remove the
covers from the posts, and you'll find a screw inside each.)

	When this set of screws is removed, the top (plastic) part of
the case is attached to the bottom only by some cables, which have
enough slack to let you take the top of the case off, tilt it
backward, and rest it on its rear behind the machine.  However, this
is quite a difficult task.  This is because it is hard to get the very
front of the case up; the plastic is shaped in such a way as to catch
on to the metal bottom somewhere.  A bit of wrestling with the case is
usually necessary here, and some people prefer to take the top part of
the top part off (the next paragraph) before taking off the bottom
part of the top part.

	The second set of screws holds the top part of the case
together.  It consists of six screws, pointing upwards, which are
found under the overhang of the case.  The only time they really need
to be removed is when replacing the fan.  In addition to these screws,
two or three plastic hook-and-tab latches in the front of the machine
need to be released.  The top of the case must be moved outward
slightly (usually with a screwdriver or finger pressure) along the
joint to the right of the floppy drive in order to release the
catches.  [The three plastic catches in the front are in the middle,
and at about the 7th-to-10th louvers from the left and right of the
case.]

	Taking off the top of the case exposes only the floppy drive,
the hard disk (underneath shielding) and the power supply.  To get to
the motherboard, you then have to unscrew the third set of screws --
three screws at the very front of the machine.  The two latches on
either side of the motherboard cover become obvious when one tries to
lift up the panel, and are easily released.  The motherboard cover
pivots at the rear; it can be lifted up.  To lift it up more than an
inch, the power supply cable and the 10-pin video cable must be
unplugged.  After that the metal shielding can be lifted and slid
along the tracks and then flipped up or removed.  This exposes the
motherboard.  If you need to remove the motherboard shielding
completely and the monitor assembly, you need to disconnect the floppy
and hard disk cables from the motherboard (note the direction of the
connectors, and when replacing them be very sure that the 20-pin and
34-pin connectors are seated correctly on the associated pins).  If
you have a PC7300 power supply and motherboard, your floppy drive
power cable might also be connected to the motherboard.  To remove the
whole assembly, in that case, you'll need to remove the power
connector from the back of the floppy drive as well.

	Be careful when putting the top of the Unix PC/3B1 back on; a
common cause for the machine not powering up after the cover is
replaced is the 120VAC connectors (brown and blue wires crimped on)
falling off the power input, or being pulled off by the hard drive as
the case is closed.  The green ground wire has a tendency to get
caught in the fan blades (causing the fan not to start spinning when
the machine is turned on) or caught in the case itself.  Check that
the fan is working after closing the case.

	As always, use your head.  Be careful when exposing any
component of the Unix PC.  There are many static sensitive components;
ground yourself before poking around inside.

------------------------------------------------------------------------
40) Why does my fan sometimes speed up and slow down?  Should I replace it?

	The fans have been a problem with the UNIX PC in a lot of
cases.  What happens is the 12VDC fan is connected to a thermal switch
that will run the fan motor faster when the machine is hot, and then
slow it down when the machine cools.  There have been occasions,
however, when a fan goes from fast to slow, and then slows all the way
to a dead stop.  The fan tends to collect a lot of dust and dirt, and
sometimes when switching to the slow speed it goes so slow that it
stops and doesn't have enough "umph" to start up again.

	Gil Kloepfer theorizes the reason for this happening is that
the 12VDC fan is constantly running with too little current due to a
resistor wired in series with the power supply when the thermal switch
is in its normally open position.  When the fan is beginning to
malfunction, it will run subtly slower, but not enough to keep enough
air moving through the machine.  The thermal switch kicks-up the
power, which causes the fan to move faster and cool the machine down
until the switch kicks-out again.  This cycling effect keeps going
until the fan become excessively weak and clogged with dirt to where
it eventually stops working permanently.  But he goes on to add that,
in any case, "I don't think it's just dirt."

	The next stage is the machine overheats, the power supply cuts
out, and the machine powers down, then it powers up, and down, and up.
If you are lucky, you catch this before major damage occurs or you
take preventive measures beforehand.  Most of the time the power
supply gets so hot, it warps the plastic case above it.  This is a
sure sign that a UNIX PC has had a "meltdown" before.

	What can you do?  Well, you can replace the 12VDC fan with a
3" 120VAC fan.  The 120VAC fans are more robust, they produce more air
current (~34CFM normally) and don't draw on the power supply any.  One
drawback is that they are noisier.  Radio Shack has an appropriate
120VAC fan for $16.95, cat. no. 273-242.

	Some people can go years or forever without ever having a
problem, but it just takes that one day that you aren't around and the
machine goes into "meltdown" and then you'll be assured some damage
somewhere.

---------------------------------------------------------------------
41) Why has my clock stopped?

	Your battery is dead.  On the UNIX PC motherboard there is a
3.0 VDC lithium battery which keeps the real-time clock operating.
Unfortunately, the battery is soldered to the motherboard in most
cases.  It's either the round cylindrical canister type, or more
commonly the flat disc shaped battery.  A suitable replacement can be
purchased at Radio Shack, but you'll need to get the disc battery
holder.  If you desolder the battery from the motherboard, solder in
the holder, future replacing of this battery will be much simpler.  If
you are nervous about touching a soldering iron to your precious
machine, ASCRC will do it for you (see above).

------------------------------------------------------------------------
-- Failures ------------------------------------------------------------

------------------------------------------------------------------------
42) What can I do when I turn on my UNIX PC and all I see is a "green screen"?

	This symptom crops up in a lot of UNIX PC's.  Generally, the
machine can be revived with only little fuss.  Open the machine down
to the motherboard.  Carefully reseat all the socketed chips,
especially the 68010 CPU.  Blow all of the accumulated dust out of the
machine (vacuuming is not recommended due to the possibility of static
discharge).  7 times out of 10 the machine will boot afterwards.  If
the machine still doesn't boot, it could be something more serious.
Check with the ASCRC on how you can go about getting the machine
repaired.

--------------------------------------------------------------------
43) What can I do when I turn on my UNIX PC and I have no video?

	The first thing you could do is check the brightness control.
After you are sure that it's not that, the problem generally goes away
by replacing the power supply.  If you don't have a spare one, try
asking on Usenet, or deal with either AT&T or ASCRC.

------------------------------------------------------------------------
44) What can I do when I get lots of FDERRs when writing/formatting a floppy?

Jon H. LaBadie, Boyd Ostroff, and Perry Miller have suggested that
there could be accumulated dust blocking the write protect apparatus
on the floppy drive.  The easiest solution for this is to get a can of
compressed air, or blow real hard into the floppy aperture several
times.  This generally will remove the dust or dirt from the area, and
hopefully will solve the problem.  (With the light being blocked, the
floppy drive is considered permanently write protected!)

	If the problem persists after you follow the simple solution,
you might have to open the machine, remove the floppy drive, and
perform a closer examination.  If all else fails, a standard TEAC 360K
floppy drive is a one-for-one replacement.

------------------------------------------------------------------------
45) Why does rn fail with "Can't open /dev/tty" from the built-in modem?

	The problem is a line in the term.c file.  The lines that have
to be changed for rn to work are:

	Before change:

		[...]
    		devtty = open("/dev/tty",O_RDONLY);
    		if (devtty < 0) {
			printf(cantopen,"/dev/tty") FLUSH;
			finalize(1);
    		}
    		fcntl(devtty,F_SETFL,O_NDELAY);
		[...]

	After change:

		[...]
    		devtty = open("/dev/tty",O_RDWR);    /* changed for UNIX PC */
    		if (devtty < 0) {
			printf(cantopen,"/dev/tty") FLUSH;
			finalize(1);
    		}
    		/* fcntl(devtty,F_SETFL,O_NDELAY);   /* changed for UNIX PC */
		[...]

	This change is required because the /dev/ph* devices require
DATA connections to be opened with O_RDWR, so changing the O_RDONLY
(or, in some versions of rn, the constant 0) to O_RDWR will solve your
problems.  Note that these changes are also required for rn-derived
programs like trn.

------------------------------------------------------------------------
46) Can I connect my Starlan board to an Ethernet?

	No, you cannot connect Starlan to an Ethernet network, at
least not directly.  Starlan, or in the case of the UNIX PC, Starlan-1
(1BASE5) is a 1Mbps (megabits/sec) network over twisted pair wire.
The URP protocol is used to communicate over Starlan-1 on the UNIX PC.
The newer Starlan standard is Starlan-10 (10BASE2) and is 10Mbps which
is more *like* Ethernet.  The protocol used is the ISO/OSI standard,
and therefore its interconnectability is increased.  However, this is
not compatible with the UNIX PC version.  There is an expensive item
that AT&T sells, called the Starlan 1:10 Bridge, which connects the
two networks together if this is a necessity, but plan to spend around
$4,500 for the convenience.  (AT&T PEC Code: STARLAN 1:10 BRIDGE
2611-005.) According to AT&T Stargroup documentation, there is
software available to interconnect Starlan-10 hardware to Ethernet
using IEEE 802.3, TCP/IP protocol, this of course in conjunction with
the Bridge could connect Starlan-1 via the Starlan 1:10 Bridge to
Starlan-10, and then to Ethernet, a roundabout way, but presumably
possible.

	If you want to connect your UNIX PC to a *real* Ethernet,
you'll need to hunt down the AT&T UNIX PC Ethernet board.  This board
runs a version of the TCP/IP drivers developed by Wollogong.  The
board will require the proper cables, as well as a transceiver.  This
increases the cost of Ethernet interconnectability.  The Wollogong
TCP/IP drivers are an older version not supported by Wollogong
anymore.  It's generally acknowledged that there are many bugs, and
the throughput of the board is nowhere near what Ethernet should be
getting.  (People report that throughput with the Starlan-1 board was
better than the TCP/IP Ethernet board, which shouldn't be the case.)

	Thanks to the hard work of Roger Florkowski
(cs.utexas.edu!taliesin!roger), UNIX PC Starlan users don't have to be
limited with just uucp'ing and cu'ing over the network.  He has ported
and created a bunch of BSD network utilities (r* commands).  His
package, (bsdslan.cpio.Z on OSU-CIS) allows one to do remote tape
operations, remote copies, and remote shell commands.

------------------------------------------------------------------------
47) Can I run SLIP (Serial Line Internet Protocol) on my UNIX PC?

	So far there hasn't been anyone who has ported a SLIP device
driver. That would be the optimal solution, but in the interim we do
have an answer for those who want to run SLIP.

	There is the KA9Q/W9NK TCP/IP Version 890421.1 available for
the UNIX PC.  Thanks to Phil Karn (the original developer), Gary
Sanders, and Rob Stampfli, the package supports SLIP which in theory,
over a modem or direct serial line (preferably 9600 baud or higher)
one could use to connect to an Internet machine allowing Dialup/Direct
SLIP logins.  With the pseudo-tty driver (pty) you can have multiple
TELNET sessions (even on the UNIX PC side).  Built into the "net"
package is FTP, TELNET, FINGER, SMTP, and others.

	KA9Q is available from OSU-CIS, Gary Sander's BBS or via
anonymous uucp login on Rob's UNIX PC:

		kd8wk Any ACU 2400 16147598597 in:--in: uucp word: anonymous

	To obtain the net source, issue the following uucp command:

		$ uucp kd8wk!~/pub/netsrc.cpio.Z /usr/spool/uucppublic

	To obtain an executable for the AT&T 7300, enter the following:

		$ uucp kd8wk!~/pub/netexe.7300.Z /usr/spool/uucppublic

	System Name: 	N8EMR
	Phone:		614-895-2553 (19.2K Trailblazer, 2400, 1200)
	Login:		hbbs 
	Data Settings:	8 Bits, NO Parity, 1 Stop Bit
	Times: 		24hrs

------------------------------------------------------------------------
48) What are the consequences of "fsck -s" (salvaging the freelist)?

	Jim Adams sent some information regarding the uses (and
dangers) of salvaging the freelist using the fsck(1M) command.

	fsck(1M) provides a method of salvaging and reconstructing the
freelist maintained by the UNIX filesystem.  It is dangerous to
haphazardly do anything with the filesystem, as well as just
reconstructing the freelist.  If the filesystem isn't in a good state,
it's possible that the freelist could be further damaged by just
salvaging it.  fsck(1M) will salvage the freelist when necessary, or
when the question "SALVAGE (Y/N)?" is answered "yes".

	Jim has said that the alternative method, fsck -S, should be
used if you wish to salvage the freelist.  The salvage will only be
done if the filesystem is properly constructed, and nothing damaging
could occur by its reconstruction.  If errors are found during the
fsck phases, other than errors like "POSSIBLE FILE SIZE ERROR I=nnn"
(which occurs from sparse files, also known as files with holes in
them) the salvage will not be done.

	fsck(1M) is designed to be run on a mounted root filesystem,
so long as the block device is used and the system is in a quiet
state.  fsck(1M) can be run on the raw/character device when
the filesystem isn't mounted, and this is generally much faster.
fsck(1M) will automatically reboot the system without sync'ing, if the
"mounted" root filesystem was modified, just as you should (since the
in-core image of the filesystem would be different).  There is no
"re-mount" facility on the UNIX PC, otherwise the root filesystem
could just be remounted.

	Another suggestion made was to run "fsck -D" to check
directories for bad blocks.  This takes longer, but is considered
worth it.  (fsck -D is similar to the MSDOS CHKDSK facility.)

------------------------------------------------------------------------
49) What does the "-s" option to dismount do?

	It should never be used.  It's an historical option (as the
manual notes), used to un-mount the "Syquest" external drive.  This
unfortunately causes the first hard disk to RECAL if you don't have
the second disk upgrade.  With the second disk upgrade it improperly
un-mounts all the filesystems, apparently not handling the /etc/mnttab
file correctly for all the partitions on the second disk.

	In many people's opinions, it's much safer to use multiple
/etc/umount commands to unmount multiple partitions.  This works for
all cases, and there is no second guessing on what the command is
actually doing.  If you want to mimic the operation of dismount, you
can easily issue the "sync" command before the "umount" command.  As
far as clearing the "pulled-flag" as the manual indicates, many have
never had any problem just using the /etc/umount command (on floppies
as well as my other partitions and hard disk)

------------------------------------------------------------------------
50) How do I identify what motherboard revision I have?

	[Courtesy of Thad Floryan:]

	The board "schematic" number (in copper) near the left rear
corner is quite useful when referencing one of the three sets of
schematics in the Reference Manual.  Often the copper number is
obscured by a white sticker bearing a different number.  BOTH sets of
numbers "almost" uniquely identify your machine.  Peel the white
sticker off and reapply it flanking the copper number.

	The copper board number will (usually) be one of 60-00222-00,
60-00225-00 or 60-00230-00.  If yours is 60-00216-00 you have my
sympathy (the connector to the floppy drive may be pin-for-pin
reversed from that found on all other motherboards, and you probably
have the daughterboard above the motherboard).  The white paper
sticker will bear a printed number something like "60-00237".

	The OTHER "number" to write down for future reference is the
"REV.n" value on the white sticker normally found near the volume
control sliding pot; this will be something like "REV.C", "REV.F",
"REV.J", etc.

	The combination of the two sets of reference designators seems
to uniquely identify all 3B1 systems I've seen.  And note that a
"REV.C" on a "225" board is NOT the same as a "REV.C" on a "230"
board.  And, before you ask, I have NOT been able to determine
precisely what each "REV.n" represents and I doubt that information
still exists even at CT (now UNISYS/NCG).

------------------------------------------------------------------------
51) How can the monitor fail?

	[Courtesy of Rob Stampfli:]

	I have witnessed the loss of more than a few Unix-PC monitors
to a phenomenon where the right side of the screen becomes
increasingly compressed (nonlinear), at an exponentially increasing
rate, until the monitor fails completely.  Usually, this occurs over a
period of months, and it usually is observed after the monitor has
been removed from service, stored, then placed back into service.

	[Rob notes a particular case which was diagnosed by his
colleague, Harry Maddox, BEFORE the monitor failed completely.  He
writes, "We believe that an actual failed monitor would take out an
associated transistor and the flyback transformer, unless the monitor
is fused, presenting a much more difficult problem to fix."  The
particulars:]

	A 4.7 uF 25V non-polarizing electrolytic capacitor (C411) is
bad.  C411 develops a high internal resistance and gets quite hot,
which further causes it to deteriorate.  It may explode -- use
caution.  C411 is located between L402 and T401 inside the monitor
proper.  The value and voltage rating of this capacitor is not
critical, "ESR" [equivalent series resistance] is however.

	Replace C411 with a mylar capacitor, 4-6 uF @ 25V or more,
such as AT&T 535GA (4.22 uF @ 100V) or equivalent.  Mount on end with
insulation on top lead.  Dress away from adjacent parts.

	Replace CAP ASAP before further damage is done.  Replace fuse
if blown.  Check TR402 for Collector to Base shorts if set was not
working.  Also D403 for short.

	Procedure:

	1. Remove CRT Cover (2 screws in back).
	2. Remove Speaker Assembly (2 screws).
	3. Remove RF Tape from bottom cover (shield).  One tape is
	   hidden at front of bottom shield.
	4. Remove bottom shield.
	5. A small part (I think a thermal sensor) is found on the
	   bottom of the PC board just under C411.  It is covered with
	   black tape.  Remove the tape and bend sensor out of the
	   way.
	6. Remove C411 and replace with Mylar capacitor, 4-6 uF, 100V.
	7. Replace sensor and tape.
	8. Reassemble monitor.

	Note: the bottom shield is tricky to remove and replace if you
don't unmount the monitor from its swivel mount, but it can be done.
If monitor has failed completely, then check fuse (if present), TR402
(C-B short), and D403 for a short.

------------------------------------------------------------------------
-- Mysteries -----------------------------------------------------------

------------------------------------------------------------------------
52) What are the LED's left side of the machine for?

	This is from John Milton's HwNotes series #1.

	0 RED:	  This is the "user LED". It can be turned on and off
		  with the syslocal(2) call. It is not used by any
		  existing applications.
	1 GREEN:  This is the one most people get wrong. This LED
		  toggles every time there is a process context
		  change, and is cleared on the whole second.
	2 YELLOW: This is the idle LED. When it is on, there are no
		  processes in the ready to run state.
	3 RED:    Heart beat LED. This is toggled on the whole second.

	This and other interesting information is available in the
HwNote series 1-15 that are archived on OSU.

------------------------------------------------------------------------
53) What's /etc/update?  What does it do? 

	/etc/update is an antiquated command which is no longer
necessary to be used.  It is not a shell script, but could easily be
one.  The executable basically takes one argument, the number of
seconds to sleep, or defaults to 30 (I believe).  It then sleeps that
interval and then issues a sync(2) system call.  This is a continuous
process -- it detaches itself from the current tty with the setpgrp(2)
call, and closes all file descriptors 0, 1, and 2 (stdin, stdout, and
stderr).  It was to be run by /etc/init, as a boot-time process, and
was to remain there for the duration of the machine's uptime.

------------------------------------------------------------------------
54) Why did the time display at the top of the screen go away?

	The time at the top of the display is provided by the program
/etc/smgr, which combines the functionality of cron, /etc/update, a
time display, plus maybe a few other mysterious things.  Equally
mysterious is its propensity to occasionally die, leaving a stipple
pattern in its place.  Some people see a correlation with the weekly
run of /etc/cleanup.wk, others point to intermittent power or thermal
problems.

	Restarting smgr is thankfully unmysterious; become root and
type "/etc/smgr".

------------------------------------------------------------------------
55) How do I stop that darn double-ESC mode on console windows?

	Some programs that use the TAM (Terminal Access Method)
library can leave the keyboard (really the shell window) in a strange
state after leaving.  This state is characterized by each press of the
ESC key injecting two 0x1b characters into the input stream.  This
generally doesn't help anybody -- vi beeps too much, emacs is
unusable, etc.  The fix is to issue the following ioctl from a C program:

		#include <sys/window.h>
		ioctl(0, WIOCSESC, 0);	/* to turn off double-esc mode */

	If you really want it back again, do the following:

		ioctl(0, WIOCSESC, 1);	/* to turn on double-esc mode */

------------------------------------------------------------------------
56) What do I do when the machine hangs at the boot message?

		Version #.##x
		Real memory      = #######
		Available memory = #######
		Main board is ####

	9 times out of 10 the /etc/inittab file is either deleted,
corrupted, or truncated because of some filesystem damage during a
system crash.

	The machine will hang there at that Main board prompt forever
since /etc/init is looking for the inittab file.  This is where it is
handy to have a floppy filesystem disk with saved copy of /etc/inittab
on it.  Boot the system using the "Floppy Boot Disk" (Disk 2 of ##),
then insert your copy when it asks for the Floppy Filesystem Disk.
Interrupt the script with <DEL> to get a "#" prompt when the first
question appears.  On your floppy, if you followed the previous
advice, is /etc/inittab.save, which can be happily copied to the
/mnt/etc/inittab file when the hard disk root filesystem (/dev/fp002)
is mounted from the floppy as /mnt.

		# umount /dev/fp002
		# fsck -s /dev/rfp002
		# mount /dev/fp002 /mnt
		# ls -l /mnt/etc/inittab
	If the file isn't there, or is corrupted:
		# cp /etc/inittab.save /mnt/etc/inittab
		# sync
		# umount /dev/fp002
		# sync
		# sync
		# reboot

	The other one time (out of 10), the /etc/inittab file is okay
but there is a /etc/utmp.lck file on the system.  This happens in very
rare race conditions involving the pututent(3C) routines.  Removing
this file and rebooting will generally recover the system.

------------------------------------------------------------------------
57) How can the UNIX PC be made more secure?

	The best way to not worry about security is to not allow users
on your machine that aren't trusted.  Especially users that have shell
access.

	There are several serious problems with the UNIX PC's
software, specifically the User Agent (UA).  The UA (the windowing
environment, also known as the Office environment) has some serious
security problems.  The best solution, of course, would be to remove
the entire UA system from your machine.  This isn't the easiest
procedure (since there are lots of programs scattered all around the
disk that are tied into the UA) and probably not the most desirable
for some novice users.  What's so wrong with it?  Well, look in your
trusty manuals, in section 4.  The manual UA(4) states (talking about
UA configuration files):

	[...] (page 4)
	EXEC and SH have a number of variations, which are used depending
	on the intelligence of the process being invoked. 
	[...]
	The variations are specified via option characters as follows:

		-n	Run the process without a window
		-w	Run the process without waiting
		-d	Run the process in a dimensionless window
		-p	Run the process with superuser privileges
	[...]

	The "-p" option being the problem.  For a little experiment to
show to a security conscious user (who still likes the UA), start out
in a non-privileged user account.

	First create a file in your home directory called "Office"
with the following lines:

		Name=Super User UNIX
		Default = Run
		Run=EXEC -pwd $SHELL

	Then type:

		$ exec /usr/bin/ua

	Select the new object that you just created ("Super User
UNIX") and then at the "#" prompt type "id" for the effect.

		# id
		uid=0(root) gid=0(root)

	OK, convinced?

	If you really *LOVE* the UA, you can do something about this.
Protect the programs /usr/lib/ua/uasetx and /usr/lib/ua/uasig so they
are not executable by "other" and only executable by a "trusted" group.

    -rwsr-x---  1 root    trusted    4268 Jan  1  1970 /usr/lib/ua/uasetx
    -rwsr-x---  1 root    trusted    2068 Jan  1  1970 /usr/lib/ua/uasig

	Another problem involves UA mail-handling.  Send yourself some
electronic mail.  Nothing elaborate is necessary.

		$ mail myself < /dev/null

	Select the [mailbox] icon when it comes up, and then when
you're in /bin/mail, at the "?" prompt type "! /bin/sh".  Poof!  Root
shell.

		# id
		uid=0(root) gid=0(root)
		# pwd
		/etc/lddrv

	This last problem can easily be corrected with Lenny
Tropiano's "email" program that is archived on OSU as "email.sh.Z".
That program sets the correct user id, group id, and home directory.

	The other things to look for are covered in lots of books on
UNIX security: directories with 777 permissions (world writable),
setuid programs that aren't very security conscious, etc.

------------------------------------------------------------------------
58) How do I access the expert menus in the diagnostics?

	The diagnostic floppy has a mode in it for the more
experienced system tester.  This mode allows the user to skip the
menus and just specify the test to run.  The diagnostic tests can be
run repeatedly for testing intermittent hardware.  The diagnostic
output can be sent to a parallel printer for review later, and also
for unattended testing (since the output can scroll off the screen
rather easily).

	To enter the expert mode, boot the diagnostic disk and type in
"s4test" at the first menu prompt.  The result is the following
prompt:

		expert>

	From there you can type "?" for a "semi-verbose" command
syntax, and a list of many of the tests.  For more detail on what
tests and subtest you can do, grab a nice file by Craig Votava
(cmv@ihlpf.att.com), "s4test.info.Z" from the OSU Archives.

------------------------------------------------------------------------
59) Where is Elvis?

	Eating Doritos under the sink in my spare bathroom.

------------------------------------------------------------------------
-- Credits -------------------------------------------------------------

    The following are just a few of the folks who made this list possible.
    Apologies to those who may have been missed.

	James Warner Adams	<adams@ucunix.san.uc.edu>
        Brad Bosch		<brad@i88.isc.com>
        Brian Botton		<botton@iexist.att.com>
        David Brierley		<dave@Galaxia.Newport.RI.US> 
        Brant Cheikes		<brant@manta.pha.pa.us>
        Alex S. Crain		<alex@umbc3.umbc.edu>
        Mark Dapoz		<...!cs.utoronto.edu!hybrid!mdapoz>
        Mike "Ford" Ditto	<ditto@amix.commodore.com>
        Roger Florkowski	<...!cs.utexas.edu!taliesin!roger>
        Thad Floryan		<thad@btr.com>
        Darren Friedlien	<darren@bacchus.bacchus.com>
        Mark Galassi		<rosalia@max.physics.sunysb.edu>
        Robert Granvin		<rjg@sialis.mn.org>
        Emmet P. Gray		<...!uunet!uiucuxc!fthood!egray>
        Jan Isley		<...!gatech!bagend!jan>
        Karl Kleinpaste		<karl@cis.ohio-state.edu>
        Gil Kloepfer, Jr	<gil@limbic.ssdl.com>
	Jon H. LaBadie		<...!princeton!jonlab!jon>
        John McMillian		<jcm@pegasus.att.com>
	Perry Miller		<pbm@cup.portal.com>
        John Milton		<...!cis.ohio-state.edu!n8emr!uncle!jcm>
        Scott H. Mueller	<scott@zorch.SF-Bay.ORG>
	Boyd Ostroff		<ostroff@oswego.oswego.edu>
        Arnold Robbins		<arnold@skeeve.ATL.GA.US>
        Gary W. Sanders		<...!osu-cis!n8emr!gws>
        Rob Stampfli		<...!osu-cis!n8emr!kd8wk!res>
        Lenny Tropiano		<lenny@icus.ICUS.COM>
        Craig Votava		<cmv@ihlpf.att.com>
        Norman Yarvin		<yarvin-norman@cs.yale.edu>

------------------------------------------------------------------------
Local Variables:
mode: outline
outline-regexp: "-- [a-zA-Z]+\\|60\\|[0-9]+)"
eval: (hide-body)
End:
-- 
Andy Heffernan		$BJ8;z(J
Bite the wax tadpole.	ahh@moji.uucp (uunet!glyph!moji!ahh)


Newsgroups: comp.sys.3b1