---------------------------------------------------------------------- | Answers to some frequently asked questions about the AT&T UNIX PC, | | as well as some frequent problems, hints, and solutions. | ---------------------------------------------------------------------- [$Revision: 3 $ $Date: 95/06/06 11:17:48 $] Send updates to 3b1-faq@nyx.cs.du.edu. 1.0. General 1.1. What exactly are the AT&T UNIX PC, PC7300, and 3B1? 1.2. What is the operating system? Its origins? 1.3. What are the "OSU Archives"? 1.4. Who supports these machines? Are there any user groups? 1.5. Where can I get my machine serviced or fixed? 2.0. Software 2.1. How do I get my free Personal Calendar program? 2.2. What is "THE STORE!" and how can I access it? 2.3. Is there any GNU software available? 2.4. Is the X Window system available for the UNIX PC? 2.5. What's MGR? 2.6. How can I get a full 360kB when I format a MS-DOS floppy on the UNIX PC? 2.7. Are there any other utilities for fiddling with MS-DOS floppies? 2.8. What commercial software was available for the UNIX PC? 3.0. Software Development 3.1. Can I use the GNU C compiler in place of the hard-to-find development set? 3.2. What do I with old object-file archives? 4.0. Administration 4.1. How do I restore from a backup when one of the floppies is bad? 4.2. How can I make a floppy-disk-based UNIX for fsck'ing the hard drive? 4.3. How can I get the machine to ask the device and program to boot from? 4.4. How do I get multiple login windows? 4.5. What the heck is a +IN suffix on a file? 4.6. What do the HDERR (FDERR, or TPERR) messages in /usr/adm/unix.log mean? 4.7. Why are the header files missing after an install of the Development Set? 4.8. Why is the machine is booting over and over? 4.9. Is HoneyDanBer UUCP available to replace the stock uucp software? 4.10. Why doesn't the On-Board Modem (OBM) work with some other modems? 4.11. How do I get my on-board modem to be a dial-out-only modem? 4.12. Does the on-board modem support 2400 bps? 4.13. Why aren't the lpadmin, accept, and reject commands working right? 4.14. Why are all the jobs on the printer always followed by a formfeed? 4.15. Why can't I send bitmapped images to the printer correctly? 4.16. How do I configure a Hayes compatible external modem on the UNIX PC? 4.17. Any tips on building Cnews? 4.18. What are lipc and nipc, and how can I use nipc instead of lipc? 5.0. Upgrading 5.1. What third-party hardware is available? 5.2. Can I put a 68881 math coprocessor in my machine? 5.3. Can I really get 4MB of memory, even with a 1.5MB combo card, 512K RAM card, and 2MB of RAM on the motherboard? 5.4. What dynamic memory chips can be used to upgrade a 3b1/7300? 5.4. 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? 5.5. Can I put a larger hard disk drive in the UNIX PC? 6.0. Maintenance 6.1. How do I park the hard disk heads before moving the machine? 6.2. How do I open the case and get to the motherboard? 6.3. Why does my fan sometimes speed up and slow down? Should I replace it? 6.4. Why has my clock stopped? 7.0. Failures 7.1. What can I do when I turn on my UNIX PC and all I see is a "green screen"? 7.2. What can I do when I turn on my UNIX PC and I have no video? 7.3. What can I do when I get lots of FDERRs when writing/formatting a floppy? 7.4. Why does rn fail with "Can't open /dev/tty" from the built-in modem? 7.5. Can I connect my Starlan board to an Ethernet? 7.6. Can I run SLIP (Serial Line Internet Protocol) on my UNIX PC? 7.7. What are the consequences of "fsck -s" (salvaging the freelist)? 7.8. What does the "-s" option to dismount do? 7.9. How do I identify what motherboard revision I have? 7.10. How can the monitor fail? 8.0. Mysteries 8.1. What are the LED's left side of the machine for? 8.2. What's /etc/update? What does it do? 8.3. Why did the time display at the top of the screen go away? 8.4. How do I stop that darn double-ESC mode on console windows? 8.5. What do I do when the machine hangs at the boot message? 8.6. How can the UNIX PC be made more secure? 8.7. How do I access the expert menus in the diagnostics? 9.0. Credits ------------------------------ Subject: 1.0. General This section contains general questions about the Unix-PC. ------------------------------ Subject: 1.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. ------------------------------ Subject: 1.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 was available from AT&T directly, but is now only available on the OSU Archives as FIXDISK2.0+IN. ------------------------------ Subject: 1.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.network23.com) 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). This is the URL for the OSU archives ftp access. Dave Brierley has also now added www access to the UNIX-PC archives with this URL. 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. [Ed. Note: As far as I know the archive at ftp.cs.caltech.edu for the 3b1 has been shut down, everything in the caltech archives is mirrored in the OSU archives in ~/pub/att7300/csvax ] ------------------------------ Subject: 1.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. ------------------------------ Subject: 1.5. Where can I get my machine serviced or fixed? This is difficult, since AT&T no longer supports the machine. The only remaining possibility appears to be ``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. 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 (510) 430-9226 or (510) 793-6980 ------------------------------ Subject: 2.0. Software This section describes some of the software available. ------------------------------ Subject: 2.1. 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 to receive a free copy of the Personal Calendar program. The machine is discontinued, so sending in the card now won't accomplish anything, but that doesn't mean that you're out of luck. 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 ------------------------------ Subject: 2.2. 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 above). ------------------------------ Subject: 2.3. 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 as well at CalTech (see above). ------------------------------ Subject: 2.4. 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. ------------------------------ Subject: 2.5. 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 since the wind.o loadable device driver is not 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). ------------------------------ Subject: 2.6. 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 ("windy.cpio.Z" at OSU) and use it to run the md_format program, since md_format 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. ------------------------------ Subject: 2.7. 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. ------------------------------ Subject: 2.8. What commercial software was available for the UNIX PC? What follows is a list Steve Urich (beyo@beyonet.UUCP) typed in from an old TRC catalog listing UNIX PC commercial software. At the end of this list are a few more products seen by other folks on Usenet. UNIX PC SOFTWARE Model Description AT&T650002 GSS Terminal. Access to host graphics; Tektronix 4014 EGM AT&T650005 3270+ Emulator. For SNA networks through dial-up or dedicated lines AT&T650007 AT&T Electronic Mail. menu driven with lots of options for sending notes & files AT&T650008 TCP/IP Ethernet, includes ICMP, UDP, NVT, PTP, SMPT, TFTP & remote cmnds AT&T650101 Voice Mail Software. Send and receive text and vioce mail AT&T650S01 UNIX PC Network. Starlan messaging, file transfer and e-mail AT&T650S02 UNIX PC Server. Starlan file server for MS-DOS networks. AT&T651002 GSS Drivers+ VDI based software for printers AT&T651003 UNIX System V Release 3.51 AT&T651004 GSS Toolkit. Graphics programming including metafile, plotting & windows. AT&T651005 GSS Metafile Interpreter. Library of functions for VDM standard AT&T651006 GSS GKS. C tool implements the GKS standard AT&T651007 GSS Plotting System. Chart building capabilities. AT&T651008 GSS Window Manager for C language windowing. AT&T651010 Informix C-ISAM. Tool for ISAM without a full RDBMS. AT&T651018 Development Tools. Commercial and scientific ISAM sort/merge AT&T651021 UNIX Utilities 3.51. AT&T651201 MS Basic. Basic with over 120 commands from Microsoft. AT&T651202 SMC Basic. Business Basic III compatability. AT&T651203 SMC Run Time. Executable only; non-development version. AT&T651204 RM Cobol. 1974 ANSI standard; certified by GSA. AT&T651205 RM Cobol Run Time. Executable only; non-development version. AT&T651209 LPI Fortran. Fortran 77 meeting ANSI X3.9-1978 AT&T651210 LPI Pascal. ANSI/IEEE standard supported by LPI Debug. AT&T651211 LPI C Full implementation with LPI's modular component architecture. AT&T651216 LPI Debug. Interactive source level debugger works with all LPI products. AT&T651219 RM Fortran. High preformance implementation of F77 and ANSI 3.9-78. AT&T651221 Animator. Integrated with MF Level II Cobol. AT&T651223 Cobol LVL II. ANSI-74, ISAM tools, source compatible with compact Cobol II AT&T651224 Forms II. Visual programming tool for screen based forms generation. AT&T651226 Cobol LVL II Run Time. Executable only; non-development version AT&T651227 SVS Fortran. ANSI-77 including Symbolic Debugger. AT&T651229 SVS Pascal. Combines ISO and UCSD standards AT&T651232 AT&T BASIC Interpreter. Standard Basic with many extensions AT&T651233 AT&T BASIC Compiler. Full implementation of ANSI X3.60-78 with extensions. AT&T651237 UNIFY. Multi-user RDBMS. AT&T651702 dBASE III. Ashton-Tate and AT&T AT&T651706 QUICKCODE III. Automate dBASE III programming. AT&T651707 dUTIL. Toolkit for dBASE III programmers. AT&T651713 FILE-IT. Easy to use personal DBMS which builds informix files thru menus. AT&T651713 INFORMIX. The most flexible true relational multi-user programming language. AT&T651714 INFORMIX Run Time. Executable versions of Informix programs. AT&T651715 SMART DBMS. Powerful relational database integrated with the Smart package. AT&T651L60 BASIC ORACLE. Fully compatible with IBM's SQL/DS and DB2 AT&T651L61 TURBO ORACLE. ANSI Standard SQL; C language precompiler. AT&T652004 Multiplan. Microsoft's spreadsheet solution. AT&T652009 GSS CHART. Interactive standalone package for mainframe quality graphics. AT&T652010 GSS Sound Pres. Fully featured interactive graphics on a wide variety of devices. AT&T652016 AT&T SUPERCOMP 20. The multiuser standard of spreadsheets. AT&T652017 BUSINESS GRAPHICS. Turn your 20/20 data into charts. (Requires Supercomp 20). AT&T652022 PAINT POWER. Sophisticated but easy to use drawing package. AT&T652026 SMART SFTWR SYS. Database-Spreadsheet-Wordprocessor. AT&T652029 TEAM POWER. Office work groups for 2 to 5 users sharing all resources. AT&T652202 MS WORD. Microsoft's professional word processor for UNIX. AT&T652204 AT&T Word Processor. Easy to use word processor. AT&T652208 Crystalwriter. Powerful word processing with English language commands. AT&T652209 Wordstar 2000. MicroPro's best selling word processor. AT&T652210 SMART WORD PROCESSOR. Professional word processor which works with Smart. AT&T653001 BUSINESS ACCTING. Complete business accounting system. AT&T653002 OC/INV. Complete package for managing incoming orders and product control. AT&T653003 PAYROLL. Complete payroll and personnel management. AT&T653004 A/P. Comprehensive control system-can be integrated with G/L. AT&T653005 A/R. Maintains customer profiles and accounts-can be integrated with G/L. AT&T653006 GENERAL LEDGER. Fully automated package for maintaining business records. AT&T?????? Wordmarc Composer. Word processing package. AT&T?????? Pegasys. Computer-aided design. AT&T?????? Image Director AT&T?????? Samna. Word processor. AT&T?????? Q-Office. Office integration AT&T?????? User Agent Design Tool. ------------------------------ Subject: 2.0. Software Development This section give a little info on what is necessary for software development ------------------------------ Subject: 3.1. Can I use the GNU C compiler in place of the hard-to-find development set? In theory, anyway, most of what you need from the Development Set 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 which 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.) ------------------------------ Subject: 3.2. What do I with old object-file archives? The object-file archive format was changed from release 3.0 to 3.5 of the operating system. There is a utility to convert these 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. ------------------------------ Subject: 4.0. Administration This section contains info on how to administer the 3b1 and some of the available packages for the 3b1 ------------------------------ Subject: 4.1. 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 ------------------------------ Subject: 4.2. 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 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! ------------------------------ Subject: 4.3. 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. ------------------------------ Subject: 4.4. 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 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. ------------------------------ Subject: 4.5. 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. ------------------------------ Subject: 4.6. 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). ------------------------------ Subject: 4.7. 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 ------------------------------ Subject: 4.8. 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. ------------------------------ Subject: 4.9. 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 ------------------------------ Subject: 4.10. Why doesn't the On-Board Modem (OBM) work with some other modems? One problem is that the OBM seems to create 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. Another problem is that the OBM has trouble establishing a UUCP connection when calling Telebits configured in locked-speed mode. Chris Lewis (clewis@ferret.ocunix.on.ca) has written a program called phfix which can be invoked from /etc/rc to correct this particular problem using the (undocumented?) PIOCOVSPD setting on the OBM. The result is that the OBM can successfully connect with locked-speed Telebits, and they can connect back. The program is not on OSU or in any comp.sources.3b1 archives, so it is presented here: /* Sample program for bashing the OBM into tone dial and setting PIOCOVSPD to permit talking to certain modems (particularly telebits). The documentation mentions 2.3% speed change for PIOCOVSPD. That's all I know. You are free to do whatever you wish with this code, but please leave this comment in. Chris Lewis, clewis@ecicrl.uucp, Jan 2 1991. */ #include #include #include main(argc, argv) int argc; char **argv; { int f; struct updata upd; f = open("/dev/ph1", O_RDWR | O_NDELAY, 0); if (f < 0) { perror("/dev/ph1"); exit(1); } ioctl(f, PIOCGETP, &upd); /* retrieve Phone parameters */ #ifdef NEVER /* if you want to play with these go ahead - for some reason my 3b1 always comes up in PULSE */ upd.c_lineparam &= ~PULSE; /* reverse the sense to set to pulse dial */ upd.c_lineparam |= DTMF; /* reverse the sense to set to pulse dial */ upd.c_feedback |= SPEAKERON; upd.c_feedback |= LOUDSPK; ioctl(f, PIOCDISC, &upd); /* apply PIOCOVSPD for talking to some modems*/ #endif ioctl(f, PIOCOVSPD, &upd); /* apply PIOCOVSPD for talking to some modems, eg: Telebits */ ioctl(f, PIOCSETP, &upd); /* set phone parameters */ } ------------------------------ Subject: 4.11. 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. ------------------------------ Subject: 4.12. 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. As the existing OBM is a proprietary AT&T chip, the likelihood of there being a drop-in upgrade is remote at best. Interesting trivia: The P6 machine was to have a color video, 60MB QIC tape, as well as a 68020 CPU paired with a 68881 FPU. ------------------------------ Subject: 4.13. 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 ------------------------------ Subject: 4.14. 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 ------------------------------ Subject: 4.15. 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. ------------------------------ Subject: 4.16. 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. ------------------------------ Subject: 4.17. 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="" ------------------------------ Subject: 4.18. 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). ------------------------------ Subject: 5.0. Upgrading This secion contains info on upgrading your unix-pc. ------------------------------ Subject: 5.1. 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. ------------------------------ Subject: 5.2. 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. ------------------------------ Subject: 5.3. 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. ------------------------------ Subject: 5.4. What dynamic memory chips can be used to upgrade a 3b1/7300? The following is a cross-reference list of 256 by 1-bit dynamic memory chips that are usable for 3b1/7300 memory upgrades: AM90C256-xx AMD Advanced Micro Devices MB81256-xx FUJ Fujitsu HM50256-xx HIT Hitatchi HY53C256-xx - Hyundai P21256-xx - Intel M5M4256P-xx MIT Mitsubishi MCM6256-xx MOT Motorola UPD41256-xx NEC NEC Technologies MSM41256-xx OKI Okidata KM41256-xx - Samsung TMS4256-xx TI Texas Instruments TMM4256C-xx TOSH Toshiba The digits in xx are speed designations--common values are: xx=10 for 100ns; xx=12 for 120ns and xx=15 for 150ns. Since it is now economically advantageous to obtain chips from third parties (private sales, auctions or hamfests), the manufacture's LOGO and identification stamped on the chip may be the only clues one has for a scavenger hunt. If the experimentalist is not familiar with the Manufacture's LOGOs, a perusal of a computer magazine (PC World, etc.) should help one to become familiar with most of them. Good hunting! ------------------------------ Subject: 5.5. 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! ------------------------------ Subject: 5.6. 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 problem 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." ------------------------------ Subject: 6.0. Maintenance This section answers general maintenance questions. ------------------------------ Subject: 6.1. 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. ------------------------------ Subject: 6.2. 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. ------------------------------ Subject: 6.3. 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. ------------------------------ Subject: 6.4. 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 (BR-2325), but you'll need to get the disc battery holder. If you desolder the battery from the motherboard, solder in the holder, future replacement 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). ------------------------------ Subject: 7.0. Failures This section answers question about failures. ------------------------------ Subject: 7.1. 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. ------------------------------ Subject: 7.2. 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 ASCRC. ------------------------------ Subject: 7.3. 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. ------------------------------ Subject: 7.4. 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. ------------------------------ Subject: 7.5. 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. ------------------------------ Subject: 7.6. 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 ------------------------------ Subject: 7.7. 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.) ------------------------------ Subject: 7.8. 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) ------------------------------ Subject: 7.9. 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). ------------------------------ Subject: 7.10. 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. ------------------------------ Subject: 8.0. Mysteries This section describes some mysteries of the 3b1/unixpc. ------------------------------ Subject: 8.1. 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. ------------------------------ Subject: 8.2. 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. ------------------------------ Subject: 8.3. 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. As smgr does its cron processing, it logs what it is doing in /usr/adm/cron.log. So that this file does not get too large, smgr responds to signal 17 (SIGUSR2) by truncating the log file. Unfortunately, smgr will exit if the log file is missing. If you want to make sure this does not happen anymore, edit /etc/cleanup.wk (the script that runs weekly and sends smgr the clean up signal) and add touch /usr/adm/cleanup.wk before the script sends the signal with "kill -17 $PID" Restarting smgr is thankfully unmysterious; become root and type "/etc/smgr". ------------------------------ Subject: 8.4. 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 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 */ ------------------------------ Subject: 8.5. 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 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. ------------------------------ Subject: 8.6. 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. ------------------------------ Subject: 8.7. 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 subtests you can do, grab a nice file by Craig Votava (cmv@ihlpf.att.com) called "s4test.info.Z" from the OSU Archives. ------------------------------ Subject: 9.0. 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 Brad Bosch Brian Botton David Brierley Brant Cheikes Alex S. Crain Mark Dapoz <...!cs.utoronto.edu!hybrid!mdapoz> Mike "Ford" Ditto Roger Florkowski <...!cs.utexas.edu!taliesin!roger> Thad Floryan Darren Friedlien Mark Galassi Robert Granvin Emmet P. Gray <...!uunet!uiucuxc!fthood!egray> Jan Isley <...!gatech!bagend!jan> Karl Kleinpaste Gil Kloepfer, Jr Jon H. LaBadie <...!princeton!jonlab!jon> John McMillan Perry Miller John Milton <...!cis.ohio-state.edu!n8emr!uncle!jcm> Scott H. Mueller Boyd Ostroff Arnold Robbins Gary W. Sanders <...!osu-cis!n8emr!gws> Rob Stampfli <...!osu-cis!n8emr!kd8wk!res> Lenny Tropiano Craig Votava Norman Yarvin Chris Lewis --