Path: sparky!uunet!olivea!mintaka.lcs.mit.edu!vanilla.lcs.mit.edu!treese From: tre...@lcs.mit.edu Newsgroups: comp.unix.ultrix,comp.sys.dec,news.answers Subject: comp.unix.ultrix Frequently Asked Questions Summary: This posting contains a list of Frequently Asked Questions (and their answers) about the ULTRIX operating system from Digital Equipment Corporation. Message-ID: <ultrix-faq_725825633@lcs.mit.edu> Date: 31 Dec 92 18:14:19 GMT Expires: Sat, 13 Feb 1993 18:13:53 GMT Sender: n...@mintaka.lcs.mit.edu Followup-To: comp.unix.ultrix Organization: MIT Laboratory for Computer Science Lines: 1676 Approved: news-answers-requ...@MIT.Edu Supersedes: <ultrix-faq_723188...@lcs.mit.edu> Last-Modified: 28 December 1992 Originator: tre...@vanilla.lcs.mit.edu Archive-name: ultrix-faq Version: 1.5 This is the Frequently Asked Questions posting for comp.unix.ultrix. It is also posted on comp.sys.dec, but it is not a full FAQ for comp.sys.dec. This FAQ is available in the following archive sites, in the file /pub/DEC/ultrix-faq.txt. gatekeeper.dec.com crl.dec.com decuac.dec.com It can also be obtained by sending mail to ftpm...@pa.dec.com with the following lines: connect get /pub/DEC/ultrix-faq.txt To receive this posting by mail, send a note to ultrix-faq-requ...@crl.dec.com. If the location of a file in an archive is not specifically mentioned below, it is in /pub/DEC on the above machines. To make suggestions for changes or additions to this Frequently Asked Questions list, send mail to ultrix-...@crl.dec.com. Answers are especially appreciated. An archive of recent postings to comp.unix.ultrix can be found via anonymous FTP on ftp.cc.rochester.edu in /pub/usenet/comp.unix.ultrix. Thanks to folks at the University of Rochester for providing this service. Some general notes: When used alone, the word "DECstation" is used to mean any of the DECstations or DECsystems that use MIPS RISC processors. Unless otherwise specified, these answers refer to ULTRIX 4.3, which is the current release of ULTRIX. Many people have contributed to this list, directly or indirectly. In some cases, an answer has been adapted from one or more postings on the comp.unix.ultrix newsgroup. Our thanks to all of those who post answers. The name (or names) at the end of an entry indicate that the information was taken from postings by those individuals; the text may have been edited for this FAQ. These citations are only given to acknowledge the contribution. Although the editor of this FAQ is an employee of Digital Equipment Corporation, this posting is not an official statement from Digital Equipment Corporation. Alpha ===================================================== A1. Where can I get more information about Alpha? **CHANGED** A2. Where can I find software that has been ported to Alpha? A3. How well do Alpha systems perform? **CHANGED** A4. What does the "AXP" in "DEC 3000 Model 400 AXP Workstation" mean? Software ====================================================== S1. How do I play music CDs on DEC CD-ROM drives? S2. Why does dxpsview sometimes crash with an X error? **CHANGED* S3. How do I compile perl on RISC/ULTRIX? S4. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? S5. Where can I get a T-shell (tcsh) that works on ULTRIX 4.2? S6. How do I build gdb on RISC/ULTRIX? S7. Why doesn't "talk" work between DECstations and other machines? S8. Why doesn't troff work? S9. How are /bin/sh and /usr/bin/sh5 related? S10. Why doesn't syslog work on ULTRIX 4.3? **NEW** Installation ====================================================== I1. How do I copy a setld(8) tape? I2. How do I copy a CDROM installation kit to TK50? Network ====================================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? N2. Why don't packet-filter applications like "tcpdump" or CAP work? **CHANGED* N3. OK, I've done all that and CAP still doesn't run. **CHANGED** N4. I want to run the "screend" program but I get "Operation not supported on socket". N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? N7. How do I change the IP address of a diskless client? N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? N10. How can I run network daemons from inetd as users other than root? N11. How do I decode "stale filehandle" messages from NFS? Disk ====================================================== D1. Why doesn't ULTRIX 4.1 work with disks bigger than 1.2GBytes? D2. Where can I get a disktab entry for the XXX disk? Programming ====================================================== P1. What does "unaligned access" mean, and how can I fix it? P2. Where can I get an ANSI C compiler for DECstations running ULTRIX? **NEW** P3. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? **NEW** Laser and Line Printers ====================================================== L1. Where can I get a printcap entry for the XXX printer? Graphics ====================================================== G1. Why does the X server use so much memory? G2. How can I build an X11R5 server for an ULTRIX 4.1 machine? G3. How do I change or get rid of the Digital logo on the login screen of my workstation? G4. How do I run MIT X11 Software? G5. How do I build X software that I got from the net? G6. Why do some applications run slowly on the DECstation PX and PXG displays? Hardware ====================================================== H1. What are the pinouts of the MMJ jacks on the back of various DECstations and VAXstations? H2. How do I set the SCSI ID on an RZ25? H3. How can I get detailed information on the TURBOchannel? H4. What third-party hardware can I get for the TURBOchannel? H5. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? H6. How can I find out which type of DECstation 5000 I have? Miscellaneous ====================================================== M1. What is the floating-point number representation on ULTRIX? M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? M4. Where can I get free source code for interesting programs on ULTRIX? M5. Where can I get technical information on the DECstation family of machines? M6. Where can I get performance information about DECstations? M7. Why can't I submit a bug report by electronic mail? M8. How do I send mail to Digital employees? M9. How do I get a list of available patches for my release of Ultrix? M10. How can I get files available by anonymous FTP if I'm not connected to the Internet? M11. How can I write documentation in Bookreader format? M12. Why does ULTRIX restrict the number of users on the system? **CHANGED** M13. Where else can I discuss ULTRIX with other users? M14. Where can I get on-line copies of the DEC Software Product Descriptions (SPD)? M15. Where can I get more information about Digital's UNIX products? **NEW** ******************** Alpha *************************************** ===================================================== A1. Where can I get more information about Alpha? **CHANGED** A variety of documents about the Alpha architecture and systems can be copied from gatekeeper.dec.com:/pub/DEC/Alpha. See the README file for more information. Technical overviews of the DEC/3000 Model 400 and 500 AXP Workstations and Server products are available on gatekeeper.dec.com in the /pub/DEC/DECinfo/technical-overview directory. dec-3000-400-axp.ps (and .Z) dec-3000-500-axp.ps (and .Z) The index file in that directory lists other available technical overviews. Details of the software rollout (operating systems and layered products) can be found in /pub/DEC/DECinfo/misc on gatekeeper.dec.com: axp_software_phases.ps axp_software_rollout.ps [Russ Jones, rjo...@wsl.dec.com] [Win Treese, tre...@lcs.mit.edu] ===================================================== A2. Where can I find software that has been ported to Alpha? gatekeeper.dec.com:/pub/DEC/Alpha/apps has several free programs that have been ported to Alpha. Alpha support is also appearing in many kits from the originator. ===================================================== A3. How well do Alpha systems perform? **CHANGED** Here is the SPEC performance summary for the Alpha systems announced in November, 1992: DEC 10000 Model 610 AXP, @200 MHz SPECmark89 184.14 SPECint89 104.52 SPECfp89 268.60 SPECint92 106.54 SPECfp92 200.36 DEC 7000 Model 610 AXP, @182 MHz SPECmark89 167.43 SPECint89 95.06 SPECfp89 244.18 SPECint92 96.58 SPECfp92 182.11 DEC 4000 Model 610 AXP, @160 MHz SPECmark89 136.23 SPECint89 83.73 SPECfp89 188.45 SPECint92 83.51 SPECfp92 143.10 DEC 3000 Model 500 AXP, @150 MHz SPECmark89 121.50 SPECint89 73.47 SPECfp89 169.89 SPECint92 74.30 SPECfp92 126.0 DEC 3000 Model 400 AXP, @133 MHz SPECmark89 108.14 SPECint89 65.80 SPECfp89 150.6 SPECint92 65.32 SPECfp92 112.2 More detailed performace information can be found in gatekeeper.dec.com:/pub/DEC/Alpha/performance: AXP_VMS_SVR_PERF_BRIEF_921120.PS axp_vms_svr_perf_brief_921120.ps.Z Alpha AXP Server Family Performance Brief - OpenVMS 10 benchmarks AXP_VMS_WS_PERF_BRIEF_921120.PS axp_vms_ws_perf_brief_921120.ps.Z Alpha AXP Workstation Family Performance Brief - OpenVMS 5 benchmarks At this time there are no OSF/1 benchmark reports available in this directory. ===================================================== A4. What does the "AXP" in "DEC 3000 Model 400 AXP Workstation" mean? The AXP is part of the trademark. Trademarking a name internationally is challenging. ******************** Software *************************************** ============================================== S1. How do I play music CDs on DEC CD-ROM drives? Music CDs can be played through a speaker jack on RRD42 CD-ROM drives, which is the one contained in the DECstation 5000/{120,125} box. There are two different programs: A command line version and a Motif-based version. Both can be found in: gatekeeper.dec.com or decuac.dec.com in /pub/DEC: cdp.c[.Z] /* command line version */ xcd_source.tar.Z /* Motif version. */ Neither of these programs is supported by Digital. ============================================== S2. Why does dxpsview sometimes crash with an X error? **CHANGED** dxpsview will often behave better if the "Watch Progress" item is selected from the Options menu. You can use the following resource in your .Xdefaults file: DPSViewer*watchProgress: on to make this the default behavior. Some reports indicate that this resource only works properly on ULTRIX 4.2A and later, however. Some have reported that disabling the use of PostScript comments also helps: DPSViewer*useComments: off ============================================== S3. How do I compile perl on RISC/ULTRIX? The following is valid for perl 4.0, patchlevel 10. They will probably change in patchlevel 19. The biggest trick in compiling perl on RISC/ULTRIX is fixing its notion of "volatile". To do this, when Configure stops and asks you if you want to edit config.sh, do so. Search for the word "volatile" and change the "define" on that line to "undef". On machines with a relatively small amount of memory, you may not want to use -O on eval.c, since the compiler can end up taking a long time to compile that file. If the source directory is NFS-mounted, it is usually the case that you will see the message io/fs..........FAILED on test 18 This is harmless and can be ignored. For patchlevel 19, you can ignore the comments above about "volatile". ============================================== S4. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? A version of the 4.3BSD syslog library and daemon that detects either 4.2bsd-compatible clients (which is what the Ultrix libc.a will help you create) or 4.3bsd-compatible clients, which are more flexible, is available by anonymous FTP from gatekeeper.dec.com in /pub/DEC/jtkohl-syslog.shar. Another version that supports regular expressions in syslog.conf is available from decuac.dec.com, in /pub/DEC/syslog43.urc.tar.Z ============================================== S5. Where can I get a T-shell (tcsh) that works on ULTRIX 4.2? Versions of tcsh later than 6.01 run on ULTRIX 4.2. The latest version the FAQ editor knows is 6.02, available by anonymous FTP from tesla.ee.cornell.edu. You do not need csh sources for this version of tcsh. ============================================== S6. How do I build gdb on RISC/ULTRIX? To build gdb, you will also need to install the GNU make. For gdb 4.0 and later: - unpack the tar file - cd <tar-root> - ./configure +subdirs decstation - cd H-decstation/T-decstation - gnumake This will build the gdb binary in <tar-root>/gdb/H-decstation/T-decstation/gdb Install this binary in the location of your choice (e.g. /usr/local/bin) ============================================== S7. Why doesn't "talk" work between DECstations and other machines? The original Berkeley talk protocol did not use network byte order, so machines with different byte order could not talk to each other. This was fixed in 4.3BSD, and in recent versions of ULTRIX. Some vendors have not fixed their software. The 4.3BSD talk software is available from many FTP archive sites. ============================================== S8. Why doesn't troff work? Digital doesn not support troff on ULTRIX, mostly because of the way AT&T licenses the software now. However, you can use groff (GNU roff) which works pretty nicely and generates pure PostScript. There's a RISC/ULTRIX binary kit for groff available for FTP from decuac.dec.com in ~ftp/pub/binaries. [Marcus Ranum, m...@tis.com] ============================================== S9. How are /bin/sh and /usr/bin/sh5 related? /bin/sh on ULTRIX is the traditional Bourne shell. /usr/bin/sh5 is the newer "System V" shell and has functions and a few other odds and ends added to it. A comparison of the manual pages will give an idea of the differences. [Marcus Ranum, m...@tis.com] ============================================== S10. Why doesn't syslog work on ULTRIX 4.3? **NEW** There is a bug in the distribution: /etc/syslog.pid is owned by root. It should be owned by daemon. [Alan Rollow, a...@nabeth.cxo.dec.com] ******************** Installation *************************************** ============================================== I1. How do I copy a setld(8) tape? First, a few words about the format of a setld tape. Tapes used by setld(8) consist of a number of tape files that contain the product subsets, installation control files and other stuff. The fourth file on the tape is an uncompressed tar(1) archive of the inventory files (.inv), subset control programs (.scp) and control information (.ctrl). There is also a file that lists the subsets, their sizes and checksums (.image). The tapes files after the 4th are the subset files. They may or may not be compressed. They will have a block size of 10 KB. The order of lines in the .image file is the order of subset on the tape, with the classic exception. There are two flavors of tapes; Layered product tapes and ULTRIX distribution tapes. The first three files on layered product tapes will typically be space holders and only one 10 KB file. Distribution tapes use the first three files for other things. The 3rd of these files is dump(8) image of the root file system. The block size of this file will be 10 KB. In the .image file for the distribution it would be listed ROOT: 44419 12720 ROOT 01690 12080 UDTBASE420 47187 14340 UDTBIN420 etc... So, on this distribution tape ROOT is 3rd, the installation control archive (INSTCTRL) is 4th, UDTBASE420 is 5th and so on. The first two files are a primary and secondary boot program. Whether the 2nd is necessary depends on system architecture. The MIPS-based systems typically only use the first boot file; the VAX uses both. The block size of the first boot program is 512 bytes. Copying a setld tape Use dd(1) to copy each tape file using the appropriate block size. When you run out of tape input files you're done. For example, if you are using two tape drives: dd bs=512 if=/dev/nrmt0h of=/dev/nrmt1h dd bs=10240 if=/dev/nrmt0h of=/dev/nrmt1h dd bs=10240 if=/dev/nrmt0h of=/dev/nrmt1h ... mt -f /dev/nrmt0h rew mt -f /dev/nrmt1h rew ============================================== I2. How do I copy a CDROM installation kit to TK50? The two shell shell scripts below can be used to duplicate CDROM or disk layered product distributions (note: not the base system) onto a TK50. They are not supported by Digital. --------------------------cut here-------------------------------------------- #!/bin/sh5 # cdrom_kitcap # This script is based on one from "Guide for Preparing Software for # Distribution" (but this one really works). This script prepares the # /etc/kitcap file which is needed by the gentapes script to create, # in this specific case, a copy of cdrom software (layered product only) # to TK50... # note: this script uses tmp space, insure $TMPDIR is pointing to a file # system with enough space to copy files... # Original author: John R. Frandsen, Digital Equipment Corporation TMPDIR=/usr/tmp KITCAP=$TMPDIR/kitcap CURVOL=1 BINDIR=`pwd` touch $TMPDIR/space tar cf $TMPDIR/SPACE $TMPDIR/space cd instctrl I=`expr *.image : '\(.*\).image'` echo "Your product code is $I" tar cf $TMPDIR/INSTCTRL * echo "${I}TK:$TMPDIR:SPACE:SPACE:SPACE:INSTCTRL:\\" >> $KITCAP for S in `awk '{print $3}' *.image` do [ $S = ROOT ] && continue . $S.ctrl set -- `(IFS=:;echo $MTLOC)` VOL=$1 LOC=$2 [ $VOL -ne $CURVOL ] && { echo ":%%$VOL CURVOL=$VOL" >> $KITCAP } echo ":$S\\" >> $KITCAP cp $BINDIR/$S $TMPDIR done echo >> $KITCAP mv $TMPDIR/kitcap /etc cd $BINDIR --------------------------cut here-------------------------------------------- #!/bin/sh5 # disk_kitcap # This script is based on one from "Guide for Preparing Software for # Distribution" (but this one really works). This script prepares the # /etc/kitcap file which is needed by the gentapes script to create, # in this specific case, a copy of disk software (layered product only) # to TK50... # Original author: John R. Frandsen, Digital Equipment Corporation KITCAP=/tmp/kitcap CURVOL=1 touch space tar cf SPACE space cd instctrl I=`expr *.image : '\(.*\).image'` echo "Your product code is $I" cp $I.image .. tar cf ../INSTCTRL * cd .. echo "${I}TK:`pwd`:SPACE:SPACE:SPACE:INSTCTRL:\\" >> $KITCAP cd instctrl for S in `awk '{print $3}' *.image` do [ $S = ROOT ] && continue . $S.ctrl set -- `(IFS=:;echo $MTLOC)` VOL=$1 LOC=$2 [ $VOL -ne $CURVOL ] && { echo ":%%$VOL CURVOL=$VOL" >> $KITCAP } echo ":$S\\" >> $KITCAP done echo >> $KITCAP mv /tmp/kitcap /etc #---------------------------------------------------------------------------- ******************** Network *************************************** ============================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? There is a bug in the ULTRIX version of named that causes it to run out of file descriptors when it does too many zone transfers. A somewhat different version of named that does not have this problem can be found in cra-bind.tar.Z. This version cannot use Kerberos for server-server authentication, as the ULTRIX version can. It does support Hesiod data and queries. It is not supported by Digital, although it is in active use on Digital's Internet machines. ============================================== N2. Why don't packet-filter applications like "tcpdump" or CAP work? **CHANGED** Probably because you have not configured the packet filter into the kernel. The default kernel configurations do NOT include the packet filter. See "man 4 packetfilter" for full details, but basically the process involves editing your kernel configuration file add "options PACKETFILTER" add "pseudo-device packetfilter" rebuilding your kernel installing the new kernel booting the new kernel "cd /dev; MAKEDEV pfilt" to create the required entries You might also want to add the following lines to /etc/rc.local: [ -f /usr/etc/pfconfig ] && { /usr/etc/pfconfig +p +c -a 2>&1 & echo -n ' pfconfig' >/dev/console } This allows you to use promiscuous-mode applications, such as "tcpdump" or "nfswatch". Note that the '-a' option to pfconfig allows any user to spy on the network. If it is omitted, only root may do so. There are also some patches for ULTRIX 4.2 and 4.2A for the packetfilter code. Call Digital's Customer Support if you need them. The official description of the patches is below; here is some background information. ULTRIX 4.3 has all of the patches included. Note: these patches cause DECnet-OSI not to work. To run DECnet-OSI on ULTRIX 4.3, you will need the latest patched version of net_common.o for 4.3. Although not mentioned in the description, these patches should also make Ultrix more forgiving of certain incorrect 802.3 packets. Such packets are sent by some 3rd-party implementations. I don't think this will fix the problem in every case, since some Digital Ethernet interfaces filter out "bad" 802.3 packets in hardware. The patches should work for DECstations and most DECsystems. Note that if you install these patches and you have been running CAP, you should recompile CAP after removing the definition for ULT42PFBUG from the Configure script. The ULT42PFBUG patch to CAP will not work once the kernel has been patched. You should also *stop* doing ifconfig ln0 copyall once you install the patches. If you have been using tcpdump, nfswatch, or a similar monitoring program on an FDDI network, installing these patches will probably make that not work. You will still be able to use tcpdump on an Ethernet, of course. The reason for this is that tcpdump only worked on FDDI networks because of the bug that is fixed by these patches. These patches are available for Ultrix 4.2 and 4.2A, and for both RISC and VAX. They must not be applied to previous versions of Ultrix. Finally, note you must install new versions of BOTH net_common.o and pfilt.o; you cannot just install one of the files. /sys/{MIPS,VAX}/BINARY/net_common.o /sys/{MIPS,VAX}/BINARY/pfilt.o ----------------------------------- (v4.2 RISC & VAX, v4.2a RISC) Listed are problem resolved by these 2 patches: 1. PACKET FILTER FAILS TO RECEIVE UNICASTS TO LOCAL HOST The packet filter mechanism is supposed to allow a user application to receive packets that are sent to the local host, if no other protocol in the kernel wants to use the packet. This worked fine in Ultrix 4.0 and 4.1, but in Ultrix 4.2 it is broken. Apparently, setting "copyall" with ifconfig is a workaround, but this is an EXTREMELY inefficient workaround, and requires users to reconfigure their systems as super-user. This is not needed in ULTRIX 4.3. 2. PACKET FILTER IOCTL EIOCDEVP RETURNS WRONG MTU VALUE A change was made to increase the size for ethernet packets from 1500 bytes to 1514 bytes which is the MAX size for the ethernet. This will allow 1500 bytes for the message and 14 bytes for the header. Also corrected the value returned in endevp.end_MTU by the EIOCDEVP ioctl. 3. 802.3/802.2 PACKETS NOT PROPERLY DELIVERED TO PACKET FILTER The packet filter is defined, in its manual page, to provide packets to user applications exactly as those packets appear on the network. The current kernel code mangles the headers of 802.2 encapsulations of Ethernet packets, causing several popular applications to fail. [Jeff Mogul, mo...@pa.dec.com] ============================================== N3. OK, I've done all that and CAP still doesn't run. **CHANGED** [See the previous topic for information on relevant patches for ULTRIX.] There are several bugs in the Ultrix 4.2 packet filter mechanism, some of which affect CAP. These are fixed in ULTRIX 4.3. The details are complex, but you can solve one of them by doing (as super-user, probably from /etc/rc.local) /etc/ifconfig ln0 copyall (substitute whatever interface type you are using for "ln0"). The other bug, which apparently only affects CAP when "Phase 2" is in use, requires a patch to CAP. CAP patches are available from a number of archive sites, including gatekeeper.dec.com: in the directory named /pub/net/appletalk/cap/cap.patches Another problem you may have is that some Ethernet interfaces sold for the Macintosh occasionally send incorrect 802.3 packet headers. (The bug is that they send a packet whose length does not match the value provided in the 802.3 header's length field. Ultrix 4.2, as well as some of Digital's Ethernet interface hardware, is strict about checking 802.3 header, and does not accept these packets.) As of this writing, a patch is not yet available and there is no workaround. If you can, you should try to get the vendor of the nonconforming interface to provide a solution. Once you have obtained an up-to-date, fully patched copy of CAP 6.0, the Configure script does not automatically switch on the workaround code; you must manually edit the m4.setup file to turn the workaround code on. [Jeff Mogul, mo...@pa.dec.com] ============================================== N4. I want to run the "screend" program but I get "Operation not supported on socket". By default, support for screend is not configured into the Ultrix 4.2 kernel, and the documentation for this is missing. Edit your kernel configuration file to include the line: pseudo-device gwscreen and rebuild your kernel (i.e., run /etc/config, then change to the right directory and do "make depend" and then "make"). Install the new kernel and reboot the system. [Jeff Mogul, mo...@pa.dec.com] ============================================== N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. Get a copy of NSL Network Note NN-16, "Using screend to Implement IP/TCP Security Policies". Send mail with "Subject: help" for information on how to order this, or just "Subject: send postscript nn-16" if you want to receive the PostScript file via return mail to nsl-techrepo...@pa.dec.com or ...!uunet!decwrl!nsl-techreports [Jeff Mogul, mo...@pa.dec.com] ============================================== N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? The version of SUN RPC shipped with ULTRIX V4.2 supports up to 32 groups per user, whereas previous versions supported 8 groups per user. Users that are members of more than 8 groups cannot NFS mount file systems from NFS servers using the version of SUN RPC that only supports 8 groups. The error message that nfs_mount will give you if you are in too many groups will look like this: nfs_mount: crltrx:/usr/local server not responding: RPC: Authentication error; why = Invalid client credential nfs_mount: access denied for crltrx:/usr/local The workaround is to reduce the number of groups you are a member of to eight or less to make NFS mounts work again. In particular, you should check the number of groups that "root" is in. ============================================== N7. How do I change the IP address of a diskless client? To change the IP address of a diskless client, first change it in whatever hosts database you use (BIND, /etc/hosts, or YP). There is also a file in the client's /etc directory called netblk.c. It looks like this: #include <sas/mop.h> struct netblk nblk={ "server", 0x100b002a, "client", 0x100b003e, 0x100b00ff, 0xffffff00, 0, 5, 0, 0, "/dlclient0/client.root", "rz3b", "" }; The various fields of the structure are defined in /usr/include/sas/mop.h. Change the client's address (expressed here as a 32-bit integer), and compile netblk.c using 'cc -c netblk.c'. The netmask and the broadcast address can also be changed here. ============================================== N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? ONC RPC (formerly "Sun RPC") is not supported under ULTRIX. This means that not only may some library routines like "clnt_create" not exist, but that if they do, they may not work as expected. If you need to use RPC for an application can use the unsupported version of the RPC4.0 distribution that is available for FTP from crl.dec.com and decuac.dec.com in pub/sources/rpc4.0-ultrix.tar.Z. ONC RPC will be a supported component of Digital's OSF/1 product. ============================================== N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? Put this in rc.local: echo -n 'disabling kernel routing: ipforwarding ' >/dev/console /usr/etc/kvar -k -wl -s ipforwarding -v 0 /vmunix >/dev/console ============================================== N10. How can I run network daemons from inetd as users other than root? inetd will take a username as the fifth field. This is not documented on the inetd manual page. For example: finger stream tcp nowait nobody /usr/etc/fingerd fingerd ============================================== N11. How do I decode "stale filehandle" messages from NFS? In the message NFS server: stale file handle _fs(21,154) file 4100 21 and 154 are the major and minor device numbers. 4100 is the inode number. Running 'ls -l' on /dev will show the device numbers, so you can ask mount what directory the filesystem is mounted on. Then use find <file system> -inum <inode no> -print to find the file. [Peter Mayne, p...@chmeee.enet.dec.com] [Greg Shapiro, gshap...@monkeyboy.WPI.EDU] ******************** Disk *************************************** ============================================== D1. Why doesn't ULTRIX 4.1 work with disks bigger than 1.2GBytes? There is a bug in the V4.1 SCSI driver that will only allow it to read something like (2 ** 21) or (2 ** 20) LBNs. After that it wraps around to the beginning of the disk. It is fixed in V4.2. ============================================== D2. Where can I get a disktab entry for the XXX disk? A collection of contributed disktab entries is in /pub/DEC/ultrix-disktabs on the usual archive machines. Get a copy of the file for an up-to-date list. ============================================== ******************** Programming *************************************** P1. What does "unaligned access" mean, and how can I fix it? Unaligned accesses typically come up when programs use malloc(3) or other memory allocation routines in atypical ways, or when programs do certain (hazardous) kinds of type casts. malloc(3) returns data aligned to the most restrictive alignment (8 byte boundaries on MIPS machines). If you are writing your own malloc wrapper (say to add a reference count) and you write code like this: char *mymalloc(int size) { short *newmem; newmem = (short *) malloc(size + sizeof(short)); *newmem = 1; /* initialize reference count */ return (char *) (newmem + 1); } you are then returning a pointer that is no longer 8-byte aligned. Now, code like int *i; i = (int *) mymalloc(sizeof(int)); *i = 10; will generate unaligned access messages whenever *i is used. An example of dangerous casting would be something like char buffer[100]; int i; i = (int)*((int *)&buffer[3]); The program will usually still run correctly, because an exception handler in the kernel performs an unaligned read. There are some rare cases, however, where the fixed read yields incorrect results. The messages are printed by default because one usually wants to know when a program is generating the unaligned accesses. Now, if you're only getting a few of these messages, it might not matter, but if you're getting pages of them (or worse, have turned off the logger because you were getting so many unaligned access messages), you might consider correcting your program. You can use the uac(1) (Unaligned Acces Message Control) command to turn off the messages. If you want to find the the problem in the source code, you can use dbx. Suppose the message is: Fixed up unaligned data access for pid 2337 (bozo) at pc 0x5ad364 This tells you that the problem occurs in the program "bozo". In dbx, you would type, for example: % dbx bozo (dbx) 0x5ad364/i *[main:206, 0x0x5ad364] lw r0,40(sp) dbx prints the offending instruction, along with its location: line 206 in main(). If you need to do unaligned accesses, you might find the following useful: int unaligned_load_word(int *src); int unaligned_load_half(short *src); unsigned int unaligned_load_uhalf(unsigned short *src); float unaligned_load_float(float *src); double unaligned_load_double(double *src); void unaligned_store_word(int *dst,int val); void unaligned_store_half(short *dst,int val); void unaligned_store_float(float *dst,float val); void unaligned_store_double(double *dst,double val); These unaligned access routines are an unsupported component of the standard C library on RISC/ULTRIX. They provide for alignment-safe access to the primitive data types (short,int,float,double). They are fairly fast as they use the special MIPS unaligned instructions (LWL,LWR,SWL,SWL) for doing the complicated part of the work. If you are running ULTRIX 4.2, and you would like to disable the automatic fixup of unaligned accesses, use: #include <sys/syscall.h> #include <sys/sysmips.h> syscall(SYS_sysmips, MIPS_FIXADE, 0, NULL, NULL, NULL); The above code fragment will disable address fixups for your process, and this will be inherited by any children. Where a fixup would have occured, you will get a SIGBUS. ============================================== P2. Where can I get an ANSI C compiler for DECstations running ULTRIX? **NEW** DEC C++ comes with a full ANSI C compiler, which is also known as DEC C. The GNU C compiler (gcc) also runs on DECstations with ULTRIX, as well as under OSF/1 on Alpha platforms. It is available from many ftp sites. [Dan McCoy, mc...@pixar.com] [Mads Westermann, w...@dd.dk] ============================================== P3. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? **NEW** A Modula-2 compiler for DECstations and VAXen developed at Digital's Western Research Lab is available in gatekeeper.dec.com:/pub/DEC/Modula-2. If you like Modula-2, you might be interested in Modula-3, a successor language to Modula-2 developed at Digital's Systems Research Center and the (now defunct) Olivetti Research Center. A description of the language and a portable compiler that runs on many platforms is available in gatekeeper.dec.com:/pub/DEC/Modula-3. [Richard Sharpe, sha...@adodem.enet.dec.com] [Win Treese, tre...@lcs.mit.edu] ******************** Laser & Line Printers ************************** ============================================== L1. Where can I get a printcap entry for the XXX printer? A collection of contributed printcap entries is in /pub/DEC/ultrix-printcap on the usual archive machines. Get a copy of the file for an up-to-date list. ******************** Graphics *************************************** ============================================== G1. Why does the X server use so much memory? Xws and the other other DEC X servers generally grow larger with workload, not because of memory leaks. When you start an X server, its process is quite small. As applications are started, the server allocates memory for a variety of reasons to service requests from clients. An example of this is allocating a pixmap. When the resource is freed, the corresponding memory is freed back to the malloc pool, but the server image doesn't get any smaller. This is true of any application where you malloc memory and then free it. If your workload is consistent, server growth is asymptotic, growing quickly at first, then tapering off. In other words, if you exit the application that caused the server to allocate a lot of memory, the server size won't shrink when the application exits, but the server won't grow any larger if you run the same application the same way again. Of course it's possible that a memory leak in the server still exists. If you think you have a memory leak, you should figure out which application you run that triggers the leak. You should run that application several times, observing the server size with every iteration. If the server grows by an appreciable amount each time, please file an SPR. For workstations with minimal memory, we recommend that you use the following server command line arguments: -once (restart the server afresh for each session) -su (inhibit save unders) -bs (inhibit backing store) The -su and -bs flags essentially trade CPU for memory, making applications work harder in some cases to save server memory. This tradeoff isn't as bad as it may sound. [Joel Gringorten, gring...@wsl.dec.com] ============================================== G2. How can I build an X11R5 server for an ULTRIX 4.1 machine? The display device drivers changed significantly between ULTRIX 4.1 and ULTRIX 4.2. To build an R5 server on ULTRIX 4.1 system, edit the Edit the file ultrix.cf in mit/config and #define OSMinorVersion to be 1. This should cause the Xcfbpmax server to be built instead of the Xdec server. Xdec only runs on ULTRIX 4.2. ============================================== G3. How do I change or get rid of the Digital logo on the login screen of my workstation? To have no logo displayed at all, add this line to /.Xdefaults: XSessionManager*displayLogo: no To replace the Digital logo with a different Encapsulated PostScript image, add the following to /.Xdefaults: XSessionManager*logoFile: filename XSessionManager*logoFullScreen: true Make sure that "filename" is the full path to a PostScript file. Note that the PostScript should not end with a "showpage" or the page will print and then disappear with the "new page." ============================================== G4. How do I run MIT X11 Software? If you are running with Ultrix 4.2 or later, you should have received some sort of distribution media with "Unsupported" subsets on it. Among those subsets are the following: UDXUNFONTS420 'Unsupported MIT Fonts' UDXUNMAN420 'Unsupported X11 Reference Pages' UDXUNMIT420 'Unsupported X11 Components' These subsets, in total, provide the fonts, manual pages, and clients from the X11 Release 4 distribution from MIT, with a few minimal changes to fix problems that cropped up after the MIT release. If all you want is R4 clients, load the above subsets. These subsets were built directly from the X Consortium sources and include all of the public patches. The R4 clients will be installed in /usr/bin/X11; put that directory in your path in order to access them. An ls on /usr/bin/X11 will also reveal the names of the applications that are available. If you have a previous version of Ultrix, or if you need X11 Release 5, you will have to build from the X Consortium sources yourself. There are some difficulties associated with building Release 4 from source on Ultrix versions 4.0 and higher; fortunately, Release 5 corrects these problems, so be sure to start with a fresh Release 5 distribution. Building from source should be a simple matter of editing the mit/config/ultrix.cf file and then connecting to the toplevel directory and typing ``Make World''. If you are running Ultrix 4.2, you don't need to edit ultrix.cf, but for other versions of Ultrix, be sure to cd to mit/config and change the OSMinorVersion (and, for versions of Ultrix prior to 4.0, the OSMajorVersion) number to the appropriate number for your version of Ultrix. As mentioned in another FAQ answer, the Xdec server provides multiscreen capability for colour frame buffers, but features of Ultrix required to support this capability are not present prior to Ultrix 4.2; for those versions, the Xcfbpmax server will be built; this server only supports one display per machine, and only DECstation 2100 and 3100 and DECstation 5000 models running with the CX adapter. The Xdec server should work on the following systems: DECstation 2100 Monochrome or Color Workstations DECstation 3100 Monochrome or Color Workstations DECstation 5000/1xx CX, MX or HX Single or Multiscreen Workstations DECstation 5000/2xx CX, MX or HX Single or Multiscreen Workstations The support for the HX option on the above platforms is limited to direct frame buffer I/O - the graphics processor present on the HX board will not be used. This means that performance with the R5 server will be substantially worse than performance with the DEC-supplied server in most cases. Support for the PX and PXG options is not present in R5 in any form. Support for the MX exists, but some problems have been reported when attempting to render non-black, non-white pixels. Source to X11 Release Five can be copied across the Internet from gatekeeper.dec.com (16.1.0.2), crl.dec.com (192.58.206.2), or export.lcs.mit.edu (18.24.0.12). Other internet archives may also have full source distributions; asking around on the Usenet newsgroup comp.windows.x will probably elicit this information. ============================================== G5. How do I build X software that I got from the net? If you get source code to an X application from somewhere and want to build it, here are a few helpful hints: First, make sure the following subsets are installed: UDXUNMIT420 UDXUNFONTS420 You may also find the man pages for the previous two subsets useful. They're in: UDXUNMAN420 Next, add the following line to the end of /usr/lib/X11/config/site.def #define StandardIncludes -I/usr/include/mit If there are any README files with the source code, now is a good time to read them, and make any changes they suggest. If you installed the MIT X11 distribution from MIT, rather than the ULTRIX subsets, your local configuration may be different. If there is an Imakefile: If the source code has a file called "Imakefile" at the top of its directory hierarchy, typing the following in that top-level directory should build the application: xmkmf make Makefiles make depend make To install the application, type make install If there isn't an Imakefile: You might have to edit the Makefile to make the application compile. If ".h" files (like those for the Athena widget set, "Xaw") are not being found, adding "-I/usr/include/mit" to the "cc" command(s) in the Makefile will usually do the trick. If you are having problems linking, try using "-lXext-mit" and "-lX11-mit" instead of "-lXext" and "-lX11" in the Makefile. ============================================== G6. Why do some applications run slowly on the DECstation PX and PXG displays? The PX and PXG graphics adapters are designed for high-speed two-dimensional vector drawing and for high-speed three-dimensional rotation and polygon fills, respectively. In order to get maximum performance in these specialized areas, both kinds of adapters have their own intelligent on-board processor which do high-speed drawing operations, and in the case of the PXG, a general purpose RISC processor which does 3D rendering, scaling and rotation. In order to optimize graphics performance, a tradeoff was made on both of these boards which prevents your system CPU from directly accessing display memory. Allowing your system CPU to directly access display memory would, at a minimum, cut the graphics accelerator performance by a factor of two, and perhaps more. Unfortunately, as a result, operations which involve the copying of large images (Pixmaps) into or out of display memory are performed much more slowly than they would be if the processor were able to directly access system memory. One example of this is the ever-popular background image. The X server keeps a Pixmap containing the pattern with which to paint the root window; whenever an area of the root window is exposed, the X server must copy that portion of the Pixmap over the relatively low-performance I/O channel to the PX or PXG adapter, which then copies it into display memory. As a result, iconifying and deiconifying windows can become a fairly slow experience, particularly on systems with lower TurboChannel bandwidth. In this case, the solution is simple; just use the standard, boring background. However, if an application that you use actually needs to copy Pixmaps to the screen on a regular basis, you will definitely experience slow performance; there's no way to fix this problem. Unless you need the vector performance of the PX or the 3D rendering capabilities of the PXG, use one of the several boards DEC produces which are optimized for windowing and imaging, such as the CX (dumb colour frame buffer), MX (dumb monochrome frame buffer), HX (smart colour frame buffer), or TX (imaging colour frame buffer). ******************** Hardware *************************************** ============================================== H1. What are the pinouts of the MMJ jacks on the back of various DECstations and VAXstations? This describes the 6-pin modified modular jack (MMJ) used for serial ports on various DECstations and VAXstations, as well as on other DEC equipment. DEC carries four DB-to-MMJ adaptors. They are internally wired as follows Rdy Out TX+ TX- RX- RX+ Rdy In Adaptor Gender 1 2 3 4 5 6 Use with: -------------------------------------------------------------------------- H8575-A F 20 2 7 7 3 6&8 VTxxx terminal H8571-C M 6 3 7 7 2 20 DEC printer H8571-D M 6 3 7 7 2 20 Modem H8571-E M 20 2 7 7 3 6&8 Female terminal or LaserWriter -------------------------------------------------------------------------- RS-232 using DB-25 connectors: DTE DCE Terminal Modem or computer Pin Number Signal Name 2 TD Transmit Data --> 3 RD Receive Data <-- 7 GND Ground --- 6 DSR Data Set Ready <-- 8 DCD Data Carrier Detect <-- 20 DTR Data Terminal Ready --> ============================================== H2. How do I set the SCSI ID on an RZ25? Back by the power connector are a row of 3 jumpers. These set the scsi id. The one closest to the power connector is bit 2, and you install a jumper to get a "1". The default id is 7, which conflicts with the controller. Note that the mounting bracket on the drive covers these jumpers, so they are not immediately obvious. ============================================== H3. How can I get detailed information on the TURBOchannel? The TURBOchannel is a 32bit synchronous I/O channel that is currently used on products in the VAX, MIPS and ALPHA architectures. It is used in both the workstation and server based systems. Software support for VMS, Ultrix, and OSF/1 will be provided for the applicable systems under thos three architectures. For specific product information contact your local DEC sales person. Use of the TURBOchannel does not require any license or fees. It is free to both option and system vendors alike. The documentation that is provided on-line is available for public use and may be copied, in its entirety, and distributed freely. Overview information: There is a postscript presentation available on line at gatekeeper:pub/DEC/TriAdd/TURBO.ps /TURBO.ps.Z (compressed file) The script for the presentation is a postscript file gatekeeper:pub/DEC/TriAdd/TURBO_README.ps /TURBO_README.ps (compressed file) TURBOchannel Specifications: Are available on-line in postscript format for anonymous ftp at gatekeeper:pub/DEC/TriAdd/turbo_hw_spec.ps (hardware spec) /turbo_hw_spec.ps.Z (compressed file) gatekeeper:pub/DEC/TriAdd/turbo_fw_spec.ps (firmware spec) /turbo_fw_spec.ps.Z (compressed file) gatekeeper:pub/DEC/TriAdd/turbo_sys_params.ps (system params) /turbo_sys_params.ps.Z (compressed) gatekeeper:pub/DEC/TriAdd/tci_spec05c.ps (ASIC spec) /tci_spec05c.ps.Z (compressed file) TURBOchannel Industry Group: The TURBOchannel protocol specifications belong to an open industry group. The TcIG information and meeting minutes can be found in the file gatekeeper:pub/DEC/TriAdd/tcigmeeting.ps (meeting minutes) /tcigmeeting.ps.Z (compressed file) TURBOchannel Support: Technical support for TURBOchannel Option and System developers is available through Digital's TRI/ADD Program. Membership in Digital's TRI/ADD Program is free of charge. For more information contact Digital's TRI/ADD Program 1.800.678.OPEN Canada & US 529 Bryant Ave. PAG-2 1.415.617.3452 Outside North America Palo Alto, CA 94301-1616 1.415.853.0155 FAX tri...@decwrl.dec.com [AJ Casamento, a...@pa.dec.com] ============================================== H4. What third-party hardware can I get for the TURBOchannel? There is a postscript version of the TRI/ADD Shippable Products Catalog available for anonymous FTP at gatekeeper:pub/DEC/TriAdd/TAcatalog.ps /TAcatalog.ps.Z (compressed file) for Asian countries, the file is gatekeeper:pub/DEC/TriAdd/TA+catalog.ps /TA+catalog.ps.Z (compressed file) The catalog contains more than just TURBOchannel based products, but the TURBOchannel products have a special logo next to them which makes them easy to identify. An overview list (without product details) of the catalog is the postscript file gatekeeper:pub/DEC/TriAdd/shortTAcatalog.ps /shortTAcatalog.ps.Z (compressed file) or the text file gatekeeper:pub/DEC/TriAdd/shortTAcatalog.txt /shortTAcatalog.txt.Z (compressed) [AJ Casamento, a...@pa.dec.com] ============================================== H5. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? All DS5000 series machines set the memory stride from the first memory array module (this is true of the Personal DECstation and the DS5000/1xx series and not just the DS5000/2xx machines). The only supported configurations are those in which all of the memory array modules are of the same capacity. Memory array module types are: MS01-AA 1Mbit DRAM DS2100,DS3100,PDS5000/20,PDS5000/25,DS5000/120, DS5000/125,DS5000/133 MS01-CA 4Mbit DRAM PDS5000/20,PDS5000/25,DS5000/120,DS5000/125, DS5000/133 MS02-AA 1Mbit DRAM DS5000/200,DS5000/240 MS02-CA 4Mbit DRAM DS5000/200,DS5000/240 However, you can place one memory array module of a smaller capacity at the end of a series of higher capacity modules. Slot Module 0 MS02-CA 1 MS02-CA 2 MS02-AA This configuration will work, and be properly recognized by Ultrix, but it is not "supported." The console will see all of the memory modules. The operating system will be expecting memory in 32MB segments and when it hits slot 2 it will simply believe that there are 24MB of failed memory on that module. It will not be possible to support higher memory congigurations in the DS5000 series machines with 16Mbit DRAM cards. The issue is that both the physical memory address and the I/O address are provided by the same Kseg0 block (512MB) in the R3000. This will not change with the advent of the R4000 daughter cards, as it would require modification of the memory controller ASIC (the MT chip) as well. ============================================== H6. How can I find out which type of DECstation 5000 I have? If /etc/sizer -c returns: DS5000 then it's a 5000/200. DS5000_100 then it's a 5000/1xx (where xx={20,25,33}) DS5000_300 then it's a 5000/240. DSPERSONAL_DECSTATION then it's a 5000/xx. For something more specific on the 5000/1xx and 5000/xx, you need to look at the messages printed out at last boot time (available in the error log; use /etc/uerf -R -r 300). ******************** Miscellaneous *************************************** ============================================== M1. What is the floating-point number representation on ULTRIX? The floating point format differs depending on which architecture the ULTRIX software is running on. Digital's RISC machines all use IEEE floating point representation with a little-endian byte ordering. You can easily convert between little and big endian ordering by reversing bytes within the floating point number. The VAX line uses a unique (although, given the popularity of VAXen) quite well known floating point format. The ULTRIX C libraries include routines which will translate between RISC (IEEE) and VAX floating point formats. Look under "ftoi" in either the online or hardcopy documentation. ============================================== M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? The console emulates a dumb terminal, with no ability to address the screen. To run anything like a screen editor, you must start the window system. ============================================== M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? On VMS (assuming your tape drive on VMS is MUA0:) : mount/foreign/block=10240/record=10240 mua0: copy mua0: file.tar On Ultrix: dcp -i 'vms::where$logical:file.tar' file.tar ============================================== M4. Where can I get free source code for interesting programs on ULTRIX? The main FTP server for DEC is gatekeeper.dec.com, which maintains a large selection of sources from the net in general, as well as public code for ULTRIX, such as "monitor", "top" and other system-specific tools. ~ftp/pub/DEC has sources for several packages written by employees at Digital (though they are not supported Digital products), as well as some programs that required special changes to port to ULTRIX. More or less up to date copies the pub/DEC directory are also available on crl.dec.com and decuac.dec.com. None of these sources or utilities are "supported" by anyone other than their authors. ============================================== M5. Where can I get technical information on the DECstation family of machines? Technical information on the DS3100, DS5000/200, and TurboChannel are available in gatekeeper.dec.com:/pub/DEC/specs: -r--r--r-- 1 root system 184329 Nov 19 1990 DS3100.ps.Z -r--r--r-- 1 root system 77017 Nov 19 1990 DS5000_200.ps.Z -r--r--r-- 1 root system 1336 Nov 6 17:36 README -r--r--r-- 1 root system 24758 Nov 19 1990 tc_cfb.ps.Z -r--r--r-- 1 root system 77051 Nov 19 1990 tc_ether.ps.Z -r--r--r-- 1 root system 29304 Nov 19 1990 tc_scsi.ps.Z Technical information on the new Personal DECstations 5000/20 and /25, the DECstation 5000/133 and DECstation 5000/240 are available on the net. Included are the Technical Overviews and Info Sheets for the products. The files are on gatekeeper.dec.com:/pub/DEC/specs1. -r--r--r-- 1 root system 159698 Dec 13 12:35 3maxp_info.ps.Z -r--r--r-- 1 root system 336073 Dec 13 12:35 3maxp_teov.ps.Z -r--r--r-- 1 root system 249185 Dec 13 12:35 3min_info.ps.Z -r--r--r-- 1 root system 134107 Dec 13 12:35 maxine_info.ps.Z -r--r--r-- 1 root system 311201 Dec 13 12:35 maxine_teov.ps.Z "3maxp" ("3Max+") refers to the DS5000/240; "maxine" refers to the Personal DECstations. ============================================== M6. Where can I get performance information about DECstations? Performance information on some of Digital's systems is available in gatekeeper.dec.com:/pub/DEC/performance: DECSTATION_FAMILY_PERF_SUMMARY_APR_92.PS decstation_family_perf_summary_apr_92.ps.Z Results of several well-known benchmarks for the DECstation 5000 family DECSYSTEM_FAMILY_PERF_SUMMARY_MAY_92.PS decsystem_family_perf_summary_may_92.ps.Z Results of several well-known benchmarks for the DECsystem family VAXSTATION_FAMILY_PERF_SUMMARY_MAR_92.PS vaxstation_family_perf_summary_mar_92.ps.Z Results of 8 well-known benchmarks for the VAXstation 4000 family DS5100_TPCA_INFORMIX_MAR92.PS ds5100_tpca_informix_mar92.ps.Z TPC Benchmark A for INFORMIX running on a DECsystem 5100 DS5500_TPCA_INFORMIX_MAR92.PS ds5500_tpca_informix_mar92.ps.Z TPC Benchmark A for INFORMIX running on a DECsystem 5500 DS5100_TPCB_INFORMIX_DEC3.PS ds5100_tpcb_informix_dec3.ps.Z TPC Benchmark B for INFORMIX running on a DECsystem 5100 DS5500_TPCB_INFORMIX_DEC3.PS ds5500_tpcb_informix_dec3.ps.Z TPC Benchmark B for INFORMIX running on a DECsystem 5500 DS5000_25_TPCB_INFORMIX_APR92.PS ds5000_25_tpcb_informix_apr92.ps.Z TPC Benchmark B for INFORMIX running on a DECsystem 5000 model 25 DS5000_240_TPCA_SYBASE_AUG92.PS ds5000_240_tpca_sybase_aug92.ps.Z TPC Benchmark A for SYBASE running on a DECsystem 5000 model 240 ============================================== M7. Why can't I submit a bug report by electronic mail? At this time, Digital does not accept bug reports by electronic mail. We hope that this unfortunate situation may change in the future. Please file a Software Performance Report (SPR) instead. ============================================== M8. How do I send mail to Digital employees? If you have Internet ftp capability, grab gatekeeper.dec.com:~ftp/gateway.doc, which contains every bit of relevant lore we've ever collected on this topic. If you must get by with what little information we have room for here in the FAQ, well, read on. The easiest way to find out how to get mail to a Digit is to have them send mail to you. If you get their mail, look at the headers (check the "From:" line, in particular) and try sending mail to the address as it appears to you. (If your Digit doesn't know how to send you mail, have them grab gateway.doc (it's DECWRL::"/gateway.doc" from the inside) and read it carefully. If you need to send mail to someone ``from scratch'', you will need to get them to tell you their address. If they say something like ``JOVE::VIXIE'' then the right way to reach them is one of: vi...@jove.enet.dec.com vixie%jove.e...@relay.dec.com ...!uunet!decwrl!jove.enet!vixie If on the other hand they say something like ``I'm PAUL VIXIE @WRL,'' then you can try one of these: vi...@wrl.mts.dec.com vixie%wrl....@relay.dec.com ...!uunet!decwrl!wrl.mts!vixie In the best of all possible worlds they will say something like ``My address is <vi...@pa.dec.com>'' in which case you should send to one of: vi...@pa.dec.com vixie%pa.dec....@relay.dec.com ...!uunet!decwrl!pa.dec.com!vixie If you try most or all of the above suggestions and can not figure out what you're doing wrong, send mail to our gateway postmaster, which is one of: postmas...@dec.com postmas...@decwrl.dec.com ...!uunet!decwrl!postmaster ============================================== M9. How do I get a list of available patches for my release of Ultrix? At this time, Digital does not publish lists of available patches. The Customer Support Centers will inform you if you call about a problem for which there is a patch. ============================================== M10. How can I get files available by anonymous FTP if I'm not connected to the Internet? One way is to use the DECWRL ftpmail server. To find out how to use it, send a one-line message to ftpm...@pa.dec.com (or ...!uunet!decwrl!ftpmail or decwrl::ftpmail). The subject line can be anything you want since it will be ignored. The text of the message should be one unquoted lowercase word: "help". ============================================== M11. How can I write documentation in Bookreader format? On ULTRIX, VMS, SunOS, and Windows, DECwrite will produce Bookreader files. On VMS, VAX Document will also produce Bookreader files. Digital will provide information about the format of Bookreader format files upon request, although it is apparently difficult to work with (most have concluded that it's not worth the trouble). If you're interested in getting the format, send mail to the FAQ Editor, Win Treese (tre...@crl.dec.com), and he'll see about getting the information. [Patrick Stephens, steph...@galvia.enet.dec.com] [Win Treese, tre...@crl.dec.com] ============================================== M12. Why does ULTRIX restrict the number of users on the system? The answer to this is two-fold. The first reason is that due to Digital's contract with AT&T, Digital pays royalties to AT&T for its ULTRIX product on "bands" of user increments which match up to the capacity upgrade licenses which we sell. For every ULTRIX upgrade license sold, Digital sends a portion of that royalty payment to AT&T. Other vendors have worked other licensing arrangements with AT&T. The second reason is that Digital depends more on "personal" use of an operating system, and tries to break up the costs of providing an operating system depending on the number of users using it. Rather than charge a larger amount of money for a two-user system, Digital charges a base amount of money, then distributes the rest of the development costs across the per-user license base. Digital hopes that this gives an equitable and affordable system to all customers. [Jon "maddog" Hall, h...@zk3.dec.com] ============================================== M13. Where else can I discuss ULTRIX with other users? The decstation-managers mailing list is a rapid-turnaround vehicle for Ultrix (and maybe OSF/1 someday) administrators to reach a pool of people with similar expertise who might be able to help them resolve a problem they're having. There's no discussion on the list--just questions and summaries of responses to those questions. To join the list, send a request to decstation-managers-requ...@ornl.gov. [Dave Sill, d...@ornl.gov] ============================================== M14. Where can I get on-line copies of the DEC Software Product Descriptions (SPD)? Most SPDs can be found on gatekeeper.dec.com:/pub/DEC/DECinfo/SPD. They are numbered in the usual way; check the file "index" if you aren't sure of the number. Note that there are over 800, so 'ls' will get you a long listing! ============================================== M15. Where can I get more information about Digital's UNIX products? **NEW** Information about Digital's products is posted to the biz.dec.* newsgroups. Digital's UNIX Marketing group publishes an electronic newsletter called "DECnews for UNIX". It appears approximately every 2 to 3 weeks, and contains information about all of Digital's UNIX products: ULTRIX, OSF/1, SCO UNIX, as well as layered software products and related hardware. To subscribe, send a request to decnews-u...@pa.dec.com with a subject line of either: "subscribe abstract" (for an abstract issue subscription) or "subscribe full" (for a full issue subscription) [Russ Jones, rjo...@wsl.dec.com] [Win Treese, tre...@lcs.mit.edu]
Newsgroups: comp.unix.ultrix,comp.sys.dec,news.answers,comp.answers Path: gmd.de!newsserver.jvnc.net!howland.reston.ans.net!math.ohio-state.edu! wupost!gumby!yale!mintaka.lcs.mit.edu!vanilla.lcs.mit.edu!treese From: tre...@lcs.mit.edu Subject: comp.unix.ultrix ULTRIX Frequently Asked Questions Message-ID: <ultrix-faq_739048052@lcs.mit.edu> Followup-To: comp.unix.ultrix Summary: This posting contains a list of Frequently Asked Questions (and their answers) about the ULTRIX operating system from Digital Equipment Corporation. Originator: tre...@vanilla.lcs.mit.edu Sender: n...@mintaka.lcs.mit.edu Supersedes: <ultrix-faq_736317...@lcs.mit.edu> Organization: MIT Laboratory for Computer Science Date: Wed, 2 Jun 1993 19:08:19 GMT Approved: news-answers-requ...@MIT.Edu Expires: Fri, 16 Jul 1993 19:07:32 GMT Lines: 1100 Archive-name: dec-faq/ultrix Last-modified: Sat Apr 3 16:26:59 EST 1993 Version: 1.10 This is part 1 of the Frequently Asked Questions posting for comp.unix.ultrix, with answers about the ULTRIX operating system. It is also posted on comp.sys.dec, but it is not a full FAQ for comp.sys.dec. Companion postings have answers that apply to both ULTRIX and OSF/1 and answers that apply to OSF/1 alone. A separate FAQ describes how to get information about Digital products and interacting with Digital. This FAQ is available in the following archive sites, in the directory /pub/DEC/dec-faq: gatekeeper.dec.com crl.dec.com decuac.dec.com It can also be obtained by sending mail to ftpm...@pa.dec.com with the following lines: connect get /pub/DEC/dec-faq/ Many FAQs, including this one, are available on the archive site rtfm.mit.edu in the directory pub/usenet/news.answers. The name under which a FAQ is archived appears in the Archive-name line at the top of the article. This FAQ is archived in the directory dec-faq. To receive this posting by mail, send a note to ultrix-faq-requ...@crl.dec.com. If the location of a file in an archive is not specifically mentioned below, it is in /pub/DEC on the above machines. To make suggestions for changes or additions to this Frequently Asked Questions list, send mail to ultrix-...@crl.dec.com. Answers are especially appreciated. An archive of recent postings to comp.unix.ultrix can be found via anonymous FTP on ftp.cc.rochester.edu in /pub/usenet/comp.unix.ultrix. Thanks to folks at the University of Rochester for providing this service. Some general notes: When used alone, the word "DECstation" is used to mean any of the DECstations or DECsystems that use MIPS RISC processors. Similarly, "Alpha" refers to any DEC systems that use the Alpha AXP processor. Unless otherwise specified, these answers refer to ULTRIX 4.3, which is the current release of ULTRIX. Many people have contributed to this list, directly or indirectly. In some cases, an answer has been adapted from one or more postings on the comp.unix.ultrix newsgroup. Our thanks to all of those who post answers. The name (or names) at the end of an entry indicate that the information was taken from postings by those individuals; the text may have been edited for this FAQ. These citations are only given to acknowledge the contribution. Although the editor of this FAQ is an employee of Digital Equipment Corporation, this posting is not an official statement from Digital Equipment Corporation. Software ====================================================== S1. Why does dxpsview sometimes crash with an X error? S2. How do I compile perl on RISC/ULTRIX? S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? S4. How do I build gdb on RISC/ULTRIX? S5. Why doesn't "talk" work between DECstations and other machines? S6. Why doesn't troff work? S7. How are /bin/sh and /usr/bin/sh5 related? S8. Why doesn't syslog work on ULTRIX 4.3? S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? S10. How can I get a core dump of a running process on ULTRIX? S11. Will ULTRIX ever have shared libraries? S12. Where can I get a "man" program that understands multiple directories? Network ====================================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? N2. Why don't packet-filter applications like "tcpdump" or CAP work? N3. OK, I've done all that and CAP still doesn't run. N4. I want to run the "screend" program but I get "Operation not supported on socket". N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? N7. How do I change the IP address of a diskless client? N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? N10. How can I run network daemons from inetd as users other than root? N11. How do I decode "stale filehandle" messages from NFS? N12. Where can I get IP multicast support for ULTRIX? Disk ====================================================== D1. Why doesn't ULTRIX 4.1 work with disks bigger than 1.2GBytes? D5. How can I increase the number of inodes on a filesystem? D6. What the ^&@(%*&) is a gnode? Programming ====================================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? Graphics ====================================================== G1. Why does the X server use so much memory? G2. How can I build an X11R5 server for an ULTRIX machine? G3. How do I change or get rid of the Digital logo on the login screen of my workstation? G4. How do I run MIT X11 Software? G5. How do I build X software that I got from the net? G6. Why do some applications run slowly on the DECstation PX and PXG displays? G7. What can I do to improve security with X? Can I use xdm? Hardware ====================================================== H5. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? H6. How can I find out which type of DECstation 5000 I have? H7. How can I run a DECstation 3100 without the display? Miscellaneous ====================================================== M1. What is the floating-point number representation on ULTRIX? M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? M4. Why does ULTRIX restrict the number of users on the system? M5. Where else can I discuss ULTRIX with other users? ******************** Software *************************************** ============================================== S1. Why does dxpsview sometimes crash with an X error? dxpsview will often behave better if the "Watch Progress" item is selected from the Options menu. You can use the following resource in your .Xdefaults file: DPSViewer*watchProgress: on to make this the default behavior. Some reports indicate that this resource only works properly on ULTRIX 4.2A and later, however. Some have reported that disabling the use of PostScript comments also helps: DPSViewer*useComments: off ============================================== S2. How do I compile perl on RISC/ULTRIX? The following is valid for perl 4.0, patchlevel 35. It is probably approximately correct for later versions as well. The biggest trick in compiling perl on RISC/ULTRIX is fixing its notion of "volatile". To do this, when Configure stops and asks you if you want to edit config.sh, do so. Search for the word "volatile" and change the "define" on that line to "undef". On machines with a relatively small amount of memory, you may not want to use -O on eval.c, since the compiler can end up taking a long time to compile that file. If the source directory is NFS-mounted, it is usually the case that you will see the message io/fs..........FAILED on test 18 This is harmless and can be ignored. ============================================== S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? A version of the 4.3BSD syslog library and daemon that detects either 4.2bsd-compatible clients (which is what the Ultrix libc.a will help you create) or 4.3bsd-compatible clients, which are more flexible, is available by anonymous FTP from gatekeeper.dec.com in /pub/DEC/jtkohl-syslog.shar. Another version that supports regular expressions in syslog.conf is available from decuac.dec.com, in /pub/DEC/syslog43.urc.tar.Z ============================================== S4. How do I build gdb on RISC/ULTRIX? To build gdb, you will also need to install the GNU make. For gdb 4.0 and later: - unpack the tar file - cd <tar-root> - ./configure +subdirs decstation - cd H-decstation/T-decstation - gnumake This will build the gdb binary in <tar-root>/gdb/H-decstation/T-decstation/gdb Install this binary in the location of your choice (e.g. /usr/local/bin) ============================================== S5. Why doesn't "talk" work between DECstations and other machines? The original Berkeley talk protocol did not use network byte order, so machines with different byte order could not talk to each other. This was fixed in 4.3BSD, and in recent versions of ULTRIX. Some vendors have not fixed their software. The 4.3BSD talk software is available from many FTP archive sites. ULTRIX includes a program, "otalk", which uses the old protocol, but it only works with machines that use little-endian byte order (e.g., VAXen, DECStations, not most others). ============================================== S6. Why doesn't troff work? Digital doesn not support troff on ULTRIX, mostly because of the way AT&T licenses the software now. However, you can use groff (GNU roff) which works pretty nicely and generates pure PostScript. There's a RISC/ULTRIX binary kit for groff available for FTP from decuac.dec.com:/pub/binaries. [Marcus Ranum, m...@tis.com] ============================================== S7. How are /bin/sh and /usr/bin/sh5 related? /bin/sh on ULTRIX is the traditional Bourne shell. /usr/bin/sh5 is the newer "System V" shell and has functions and a few other odds and ends added to it. A comparison of the manual pages will give an idea of the differences. [Marcus Ranum, m...@tis.com] ============================================== S8. Why doesn't syslog work on ULTRIX 4.3? There is a bug in the distribution: /etc/syslog.pid is owned by root. It should be owned by daemon. [Alan Rollow, a...@nabeth.cxo.dec.com] ============================================== S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? DEC's LSE is part of the DECset for ULTRIX product, a set of CASE tools. GNU Emacs also has packages for several different languages. [Jean-Marc Digne, di...@prssud.enet.dec.com] ============================================== S10. How can I get a core dump of a running process on ULTRIX? Get gcore from gatekeeper.dec.com:/pub/DEC/gcore.shar. This one is known to work on ULTRIX 4.2; it should work on 4.3 as well. [Jeff Mogul, mo...@pa.dec.com] ============================================== S12. Will ULTRIX ever have shared libraries? No. Alpha OSF/1 does, however. ============================================== S12. Where can I get a "man" program that understands multiple directories? The ULTRIX man program does not understand multiple directories. Some that do are: 1. The 4.3BSD man program, available from decuac.dec.com:pub/sources/bsd-man.tar.Z. 2. GNU man, from gatekeeper.dec.com:pub/GNU/man-1.0.tar.Z is a later version, but I can't remember where it might be. 3. Tom Christiansen's PERL man program, from: convex.convex.com:pub/perl/scripts/man.shar.Z. Requires perl Alpha OSF/1 man understands MANPATH. [Frank Wortner, fr...@croton.nyo.dec.com] ******************** Network *************************************** ============================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? There is a bug in the ULTRIX version of named that causes it to run out of file descriptors when it does too many zone transfers. A somewhat different version of named that does not have this problem can be found in cra-bind.tar.Z. This version cannot use Kerberos for server-server authentication, as the ULTRIX version can. It does support Hesiod data and queries. It is not supported by Digital, although it is in active use on Digital's Internet machines. [Win Treese, tre...@crl.dec.com] ============================================== N2. Why don't packet-filter applications like "tcpdump" or CAP work? Probably because you have not configured the packet filter into the kernel. The default kernel configurations do NOT include the packet filter. See "man 4 packetfilter" for full details, but basically the process involves editing your kernel configuration file add "options PACKETFILTER" add "pseudo-device packetfilter" rebuilding your kernel installing the new kernel booting the new kernel "cd /dev; MAKEDEV pfilt" to create the required entries You might also want to add the following lines to /etc/rc.local: [ -f /usr/etc/pfconfig ] && { /usr/etc/pfconfig +p +c -a 2>&1 & echo -n ' pfconfig' >/dev/console } This allows you to use promiscuous-mode applications, such as "tcpdump" or "nfswatch". Note that the '-a' option to pfconfig allows any user to spy on the network. If it is omitted, only root may do so. There are also some patches for ULTRIX 4.2 and 4.2A for the packetfilter code. Call Digital's Customer Support if you need them. The official description of the patches is below; here is some background information. ULTRIX 4.3 has all of the patches included. Note: these patches cause DECnet-OSI not to work. To run DECnet-OSI on ULTRIX 4.3, you will need the latest patched version of net_common.o for 4.3. Although not mentioned in the description, these patches should also make Ultrix more forgiving of certain incorrect 802.3 packets. Such packets are sent by some 3rd-party implementations. I don't think this will fix the problem in every case, since some Digital Ethernet interfaces filter out "bad" 802.3 packets in hardware. The patches should work for DECstations and most DECsystems. Note that if you install these patches and you have been running CAP, you should recompile CAP after removing the definition for ULT42PFBUG from the Configure script. The ULT42PFBUG patch to CAP will not work once the kernel has been patched. You should also *stop* doing ifconfig ln0 copyall once you install the patches. If you have been using tcpdump, nfswatch, or a similar monitoring program on an FDDI network, installing these patches will probably make that not work. You will still be able to use tcpdump on an Ethernet, of course. The reason for this is that tcpdump only worked on FDDI networks because of the bug that is fixed by these patches. These patches are available for Ultrix 4.2 and 4.2A, and for both RISC and VAX. They must not be applied to previous versions of Ultrix. Finally, note you must install new versions of BOTH net_common.o and pfilt.o; you cannot just install one of the files. /sys/{MIPS,VAX}/BINARY/net_common.o /sys/{MIPS,VAX}/BINARY/pfilt.o ----------------------------------- (v4.2 RISC & VAX, v4.2a RISC) Listed are problem resolved by these 2 patches: 1. PACKET FILTER FAILS TO RECEIVE UNICASTS TO LOCAL HOST The packet filter mechanism is supposed to allow a user application to receive packets that are sent to the local host, if no other protocol in the kernel wants to use the packet. This worked fine in Ultrix 4.0 and 4.1, but in Ultrix 4.2 it is broken. Apparently, setting "copyall" with ifconfig is a workaround, but this is an EXTREMELY inefficient workaround, and requires users to reconfigure their systems as super-user. This is not needed in ULTRIX 4.3. 2. PACKET FILTER IOCTL EIOCDEVP RETURNS WRONG MTU VALUE A change was made to increase the size for ethernet packets from 1500 bytes to 1514 bytes which is the MAX size for the ethernet. This will allow 1500 bytes for the message and 14 bytes for the header. Also corrected the value returned in endevp.end_MTU by the EIOCDEVP ioctl. 3. 802.3/802.2 PACKETS NOT PROPERLY DELIVERED TO PACKET FILTER The packet filter is defined, in its manual page, to provide packets to user applications exactly as those packets appear on the network. The current kernel code mangles the headers of 802.2 encapsulations of Ethernet packets, causing several popular applications to fail. [Jeff Mogul, mo...@pa.dec.com] ============================================== N3. OK, I've done all that and CAP still doesn't run. [See the previous topic for information on relevant patches for ULTRIX.] There are several bugs in the Ultrix 4.2 packet filter mechanism, some of which affect CAP. These are fixed in ULTRIX 4.3. The details are complex, but you can solve one of them by doing (as super-user, probably from /etc/rc.local) /etc/ifconfig ln0 copyall (substitute whatever interface type you are using for "ln0"). The other bug, which apparently only affects CAP when "Phase 2" is in use, requires a patch to CAP. CAP patches are available from a number of archive sites, including gatekeeper.dec.com: in the directory named /pub/net/appletalk/cap/cap.patches Another problem you may have is that some Ethernet interfaces sold for the Macintosh occasionally send incorrect 802.3 packet headers. (The bug is that they send a packet whose length does not match the value provided in the 802.3 header's length field. Ultrix 4.2, as well as some of Digital's Ethernet interface hardware, is strict about checking 802.3 header, and does not accept these packets.) As of this writing, a patch is not yet available and there is no workaround. If you can, you should try to get the vendor of the nonconforming interface to provide a solution. Once you have obtained an up-to-date, fully patched copy of CAP 6.0, the Configure script does not automatically switch on the workaround code; you must manually edit the m4.setup file to turn the workaround code on. [Jeff Mogul, mo...@pa.dec.com] ============================================== N4. I want to run the "screend" program but I get "Operation not supported on socket". By default, support for screend is not configured into the Ultrix 4.2 kernel, and the documentation for this is missing. Edit your kernel configuration file to include the line: pseudo-device gwscreen and rebuild your kernel (i.e., run /etc/config, then change to the right directory and do "make depend" and then "make"). Install the new kernel and reboot the system. [Jeff Mogul, mo...@pa.dec.com] ============================================== N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. Get a copy of NSL Network Note NN-16, "Using screend to Implement IP/TCP Security Policies". Send mail with "Subject: help" for information on how to order this, or just "Subject: send postscript nn-16" if you want to receive the PostScript file via return mail to nsl-techrepo...@pa.dec.com or ...!uunet!decwrl!nsl-techreports [Jeff Mogul, mo...@pa.dec.com] ============================================== N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? The version of SUN RPC shipped with ULTRIX V4.2 supports up to 32 groups per user, whereas previous versions supported 8 groups per user. Users that are members of more than 8 groups cannot NFS mount file systems from NFS servers using the version of SUN RPC that only supports 8 groups. The error message that nfs_mount will give you if you are in too many groups will look like this: nfs_mount: crltrx:/usr/local server not responding: RPC: Authentication error; why = Invalid client credential nfs_mount: access denied for crltrx:/usr/local The workaround is to reduce the number of groups you are a member of to eight or less to make NFS mounts work again. In particular, you should check the number of groups that "root" is in. ============================================== N7. How do I change the IP address of a diskless client? The Internet address of a diskless client is determined by the network boot block the system send as the secondary load file. This file is initially created by DMS but at the present time DMS does not have the capability to change an existing netblk. NOTE: If you attempt to change the IP address of either the client or server without modifying the netblk then your DISKLESS CLIENTS WILL NOT BOOT. The definition of the network boot block is in /usr/include/sas/mop.h and the netblk structure is shown below. struct netblk { char srvname[32]; /* server hostname (boot server)*/ unsigned long srvipadr; /* server IP address (boot server)*/ char cliname[32]; /* client hostname */ unsigned long cliipadr; /* client IP address */ unsigned long brdcst; /* broadcast address */ unsigned long netmsk; /* network mask address */ short swapfs; /* swap file system type*/ short rootfs; /* root file system type*/ short swapsz; /* swap size in 1/2 Meg units */ short dmpflg; /* dump flag 0 - disabled */ /* 1 - enabled */ char rootdesc[80]; /* root filesys descriptor */ char swapdesc[80]; /* swap file descriptor */ char reserved[20]; /* for later use */ }; In order to change the IP address of the client or of the server you will need to modify the netblk. The code for the boot block is in the file /etc/bootblk.c on the diskless client. An example of this file is: #include <sas/mop.h> struct netblk nblk={ "my_server", 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, 0, 5, 0, 0, "/dlclient0/my_client.root", "rz3b", "" }; A quick cross-reference with the mop include file will tell you which fields represent which data. To change the IP addresses you need to use the command /usr/diskless/makpkt. The format of this command is: makpkt server_IP_addr client_name client_IP_addr broadcast netmask Here is an example of using makpkt to change the network boot block parameters. For a server of address 16.128.128.4 and a client called fred of address 16.128.128.19 on a class B network you'll need to use the command: % makpkt 16.128.19.4 fred 16.128.20.19 16.128.255.255 255.255.0.0 this will produce the output: 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, You will now need to edit netblk.c and replace the line 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, with 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, The next step is to compile the new netblk. % cc -c netblk.c If you are changing the client IP address then you will also need to modify the CLIARP field in /etc/dlparam on the client. eg. CLIARP="16.182.128.61" Finally you can change the server and/or client IP address on the server and reboot. ============================================== N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? ONC RPC (formerly "Sun RPC") is not supported under ULTRIX. This means that not only may some library routines like "clnt_create" not exist, but that if they do, they may not work as expected. If you need to use RPC for an application can use the unsupported version of the RPC4.0 distribution that is available for FTP from crl.dec.com and decuac.dec.com in pub/sources/rpc4.0-ultrix.tar.Z. ONC RPC will be a supported component of Digital's OSF/1 product. ============================================== N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? Put this in rc.local: echo -n 'disabling kernel routing: ipforwarding ' >/dev/console /usr/etc/kvar -k -wl -s ipforwarding -v 0 /vmunix >/dev/console ============================================== N10. How can I run network daemons from inetd as users other than root? inetd will take a username as the fifth field. This is not documented on the inetd manual page. For example: finger stream tcp nowait nobody /usr/etc/fingerd fingerd ============================================== N11. How do I decode "stale filehandle" messages from NFS? In the message NFS server: stale file handle _fs(21,154) file 4100 21 and 154 are the major and minor device numbers. 4100 is the inode number. Running 'ls -l' on /dev will show the device numbers, so you can ask mount what directory the filesystem is mounted on. Then use find <file system> -inum <inode no> -print to find the file. [Peter Mayne, p...@chmeee.enet.dec.com] [Greg Shapiro, gshap...@monkeyboy.WPI.EDU] ============================================== N12. Where can I get IP multicast support for ULTRIX? Patches to enable IP Multicast are available from gregorio.stanford.edu:vmtp-ip. Patches are available for Ultrix 4.1 & 4.2a. Binaries are available for 4.2a. [Lance Berc, b...@src.dec.com] ******************** Disk *************************************** ============================================== D1. Why doesn't ULTRIX 4.1 work with disks bigger than 1.2GBytes? There is a bug in the V4.1 SCSI driver that will only allow it to read something like (2 ** 21) or (2 ** 20) LBNs. After that it wraps around to the beginning of the disk. It is fixed in V4.2. ============================================== D2. How can I increase the number of inodes on a filesystem? "newfs -i XXX" is usually used to increase the number of inodes on a filesystem, where XXX is the desired number of bytes per filesystem. However, there is a not-well-known limit of 2048 inodes per cylinder group, and newfs doesn't tell you that if you try to ask for more. The solution is to get more cylinder groups, either by using "newfs -c XXX" to specify the number of cylinders per group or by using 4096-byte blocks and 512-byte fragments. Read the newfs manual page before trying this at home or work. [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== D3. What the ^&@(%*&) is a gnode? "Gnode" means "generic inode". Like most versions of UNIX these days, ULTRIX has a virtual filesystem. This means the kernel can support different types of filesystem - like the BSD FFS, the old V7-style filesystem in System V, RFS, NFS etc. Gnodes are similar to the vnodes of the Sun filesystem switch. The message "out of gnodes" usually means "out of inodes" on the filesystem. To fix this, you can delete files or reinitialize the filesystem with newfs (after backing everything up!). The message "gnode: table is full" means that the kernel table for keeping track of open files is full. If you need to fix this, increase the maxusers parameter in your kernel configuration file and rebuild your kernel. [Jim Reid, j...@cs.strath.ac.uk] [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== ******************** Programming *************************************** ============================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? DEC C++ comes with a full ANSI C compiler, which is also known as DEC C. The GNU C compiler (gcc) also runs on DECstations with ULTRIX, as well as under OSF/1 on Alpha platforms. It is available from many ftp sites. [Dan McCoy, mc...@pixar.com] [Mads Westermann, w...@dd.dk] ============================================== P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? A Modula-2 compiler for DECstations and VAXen developed at Digital's Western Research Lab is available in gatekeeper.dec.com:/pub/DEC/Modula-2. If you like Modula-2, you might be interested in Modula-3, a successor language to Modula-2 developed at Digital's Systems Research Center and the (now defunct) Olivetti Research Center. A description of the language and a portable compiler that runs on many platforms is available in gatekeeper.dec.com:/pub/DEC/Modula-3. [Richard Sharpe, sha...@adodem.enet.dec.com] [Win Treese, tre...@lcs.mit.edu] ******************** Graphics *************************************** ============================================== G1. Why does the X server use so much memory? Xws and the other other DEC X servers generally grow larger with workload, not because of memory leaks. When you start an X server, its process is quite small. As applications are started, the server allocates memory for a variety of reasons to service requests from clients. An example of this is allocating a pixmap. When the resource is freed, the corresponding memory is freed back to the malloc pool, but the server image doesn't get any smaller. This is true of any application where you malloc memory and then free it. If your workload is consistent, server growth is asymptotic, growing quickly at first, then tapering off. In other words, if you exit the application that caused the server to allocate a lot of memory, the server size won't shrink when the application exits, but the server won't grow any larger if you run the same application the same way again. Of course it's possible that a memory leak in the server still exists. If you think you have a memory leak, you should figure out which application you run that triggers the leak. You should run that application several times, observing the server size with every iteration. If the server grows by an appreciable amount each time, please file an SPR. For workstations with minimal memory, we recommend that you use the following server command line arguments: -once (restart the server afresh for each session) -su (inhibit save unders) -bs (inhibit backing store) The -su and -bs flags essentially trade CPU for memory, making applications work harder in some cases to save server memory. This tradeoff isn't as bad as it may sound. [Joel Gringorten, gring...@wsl.dec.com] ============================================== G2. How can I build an X11R5 server for an ULTRIX machine? The display device drivers changed significantly between ULTRIX 4.1 and ULTRIX 4.2. To build an R5 server on ULTRIX 4.1 system, edit the Edit the file ultrix.cf in mit/config and #define OSMinorVersion to be 1. This should cause the Xcfbpmax server to be built instead of the Xdec server. Xdec only runs on ULTRIX 4.2 and later. ============================================== G3. How do I change or get rid of the Digital logo on the login screen of my workstation? To have no logo displayed at all, add this line to /.Xdefaults: XSessionManager*displayLogo: no To replace the Digital logo with a different Encapsulated PostScript image, add the following to /.Xdefaults: XSessionManager*logoFile: filename XSessionManager*logoFullScreen: true Make sure that "filename" is the full path to a PostScript file. Note that the PostScript should not end with a "showpage" or the page will print and then disappear with the "new page." ============================================== G4. How do I run MIT X11 Software? If you are running with Ultrix 4.2 or later, you should have received some sort of distribution media with "Unsupported" subsets on it. Among those subsets are the following: UDXUNFONTS420 'Unsupported MIT Fonts' UDXUNMAN420 'Unsupported X11 Reference Pages' UDXUNMIT420 'Unsupported X11 Components' These subsets, in total, provide the fonts, manual pages, and clients from the X11 Release 4 distribution from MIT, with a few minimal changes to fix problems that cropped up after the MIT release. If all you want is R4 clients, load the above subsets. These subsets were built directly from the X Consortium sources and include all of the public patches. The R4 clients will be installed in /usr/bin/X11; put that directory in your path in order to access them. An ls on /usr/bin/X11 will also reveal the names of the applications that are available. If you have a previous version of Ultrix, or if you need X11 Release 5, you will have to build from the X Consortium sources yourself. There are some difficulties associated with building Release 4 from source on Ultrix versions 4.0 and higher; fortunately, Release 5 corrects these problems, so be sure to start with a fresh Release 5 distribution. Building from source should be a simple matter of editing the mit/config/ultrix.cf file and then connecting to the toplevel directory and typing ``Make World''. If you are running Ultrix 4.2, you don't need to edit ultrix.cf, but for other versions of Ultrix, be sure to cd to mit/config and change the OSMinorVersion (and, for versions of Ultrix prior to 4.0, the OSMajorVersion) number to the appropriate number for your version of Ultrix. As mentioned in another FAQ answer, the Xdec server provides multiscreen capability for colour frame buffers, but features of Ultrix required to support this capability are not present prior to Ultrix 4.2; for those versions, the Xcfbpmax server will be built; this server only supports one display per machine, and only DECstation 2100 and 3100 and DECstation 5000 models running with the CX adapter. The Xdec server should work on the following systems: DECstation 2100 Monochrome or Color Workstations DECstation 3100 Monochrome or Color Workstations DECstation 5000/1xx CX, MX or HX Single or Multiscreen Workstations DECstation 5000/2xx CX, MX or HX Single or Multiscreen Workstations The support for the HX option on the above platforms is limited to direct frame buffer I/O - the graphics processor present on the HX board will not be used. This means that performance with the R5 server will be substantially worse than performance with the DEC-supplied server in most cases. Support for the PX and PXG options is not present in R5 in any form. Support for the MX exists, but some problems have been reported when attempting to render non-black, non-white pixels. Source to X11 Release Five can be copied across the Internet from gatekeeper.dec.com (16.1.0.2), crl.dec.com (192.58.206.2), or export.lcs.mit.edu (18.24.0.12). Other internet archives may also have full source distributions; asking around on the Usenet newsgroup comp.windows.x will probably elicit this information. ============================================== G5. How do I build X software that I got from the net? If you get source code to an X application from somewhere and want to build it, here are a few helpful hints: First, make sure the following subsets are installed: UDXUNMIT420 UDXUNFONTS420 You may also find the man pages for the previous two subsets useful. They're in: UDXUNMAN420 Next, add the following line to the end of /usr/lib/X11/config/site.def #define StandardIncludes -I/usr/include/mit If there are any README files with the source code, now is a good time to read them, and make any changes they suggest. If you installed the MIT X11 distribution from MIT, rather than the ULTRIX subsets, your local configuration may be different. If there is an Imakefile: If the source code has a file called "Imakefile" at the top of its directory hierarchy, typing the following in that top-level directory should build the application: xmkmf make Makefiles make depend make To install the application, type make install If there isn't an Imakefile: You might have to edit the Makefile to make the application compile. If ".h" files (like those for the Athena widget set, "Xaw") are not being found, adding "-I/usr/include/mit" to the "cc" command(s) in the Makefile will usually do the trick. If you are having problems linking, try using "-lXext-mit" and "-lX11-mit" instead of "-lXext" and "-lX11" in the Makefile. ============================================== G6. Why do some applications run slowly on the DECstation PX and PXG displays? The PX and PXG graphics adapters are designed for high-speed two-dimensional vector drawing and for high-speed three-dimensional rotation and polygon fills, respectively. In order to get maximum performance in these specialized areas, both kinds of adapters have their own intelligent on-board processor which do high-speed drawing operations, and in the case of the PXG, a general purpose RISC processor which does 3D rendering, scaling and rotation. In order to optimize graphics performance, a tradeoff was made on both of these boards which prevents your system CPU from directly accessing display memory. Allowing your system CPU to directly access display memory would, at a minimum, cut the graphics accelerator performance by a factor of two, and perhaps more. Unfortunately, as a result, operations which involve the copying of large images (Pixmaps) into or out of display memory are performed much more slowly than they would be if the processor were able to directly access system memory. One example of this is the ever-popular background image. The X server keeps a Pixmap containing the pattern with which to paint the root window; whenever an area of the root window is exposed, the X server must copy that portion of the Pixmap over the relatively low-performance I/O channel to the PX or PXG adapter, which then copies it into display memory. As a result, iconifying and deiconifying windows can become a fairly slow experience, particularly on systems with lower TurboChannel bandwidth. In this case, the solution is simple; just use the standard, boring background. However, if an application that you use actually needs to copy Pixmaps to the screen on a regular basis, you will definitely experience slow performance; there's no way to fix this problem. Unless you need the vector performance of the PX or the 3D rendering capabilities of the PXG, use one of the several boards DEC produces which are optimized for windowing and imaging, such as the CX (dumb colour frame buffer), MX (dumb monochrome frame buffer), HX (smart colour frame buffer), or TX (imaging colour frame buffer). ============================================== G7. What can I do to improve security with X? Can I use xdm? ULTRIX 4.3 and later support the MIT-MAGIC-COOKIE-1 authorization protocol and include xdm as well. Alpha OSF/1 uses xdm by default and also supports the authorization protocol. [Bob Heiney, hei...@pa.dec.com] ******************** Hardware *************************************** ============================================== H1. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? All DS5000 series machines set the memory stride from the first memory array module (this is true of the Personal DECstation and the DS5000/1xx series and not just the DS5000/2xx machines). The only supported configurations are those in which all of the memory array modules are of the same capacity. Memory array module types are: MS01-AA 1Mbit DRAM DS2100,DS3100,PDS5000/20,PDS5000/25,DS5000/120, DS5000/125,DS5000/133 MS01-CA 4Mbit DRAM PDS5000/20,PDS5000/25,DS5000/120,DS5000/125, DS5000/133 MS02-AA 1Mbit DRAM DS5000/200,DS5000/240 MS02-CA 4Mbit DRAM DS5000/200,DS5000/240 However, you can place one memory array module of a smaller capacity at the end of a series of higher capacity modules. Slot Module 0 MS02-CA 1 MS02-CA 2 MS02-AA This configuration will work, and be properly recognized by Ultrix, but it is not "supported." The console will see all of the memory modules. The operating system will be expecting memory in 32MB segments and when it hits slot 2 it will simply believe that there are 24MB of failed memory on that module. It will not be possible to support higher memory congigurations in the DS5000 series machines with 16Mbit DRAM cards. The issue is that both the physical memory address and the I/O address are provided by the same Kseg0 block (512MB) in the R3000. This will not change with the advent of the R4000 daughter cards, as it would require modification of the memory controller ASIC (the MT chip) as well. ============================================== H2. How can I find out which type of DECstation 5000 I have? If /etc/sizer -c returns: DS5000 then it's a 5000/200. DS5000_100 then it's a 5000/1xx (where xx={20,25,33}) DS5000_300 then it's a 5000/240. DSPERSONAL_DECSTATION then it's a 5000/xx. For something more specific on the 5000/1xx and 5000/xx, you need to look at the messages printed out at last boot time (available in the error log; use /etc/uerf -R -r 300). ============================================== H3. How can I run a DECstation 3100 without the display? To turn a DECstation into a DECsystem you need to: 1. Remove the graphics stuff. 2. Put a mouse loopback connector in the hole for the mouse plug. (part number currently unknown) [Alan Rollow, a...@nabeth.enet.dec.com] ******************** Miscellaneous *************************************** ============================================== M1. What is the floating-point number representation on ULTRIX? The floating point format differs depending on which architecture the ULTRIX software is running on. Digital's RISC machines all use IEEE floating point representation with a little-endian byte ordering. You can easily convert between little and big endian ordering by reversing bytes within the floating point number. The VAX line uses a unique (although, given the popularity of VAXen) quite well known floating point format. The ULTRIX C libraries include routines which will translate between RISC (IEEE) and VAX floating point formats. Look under "ftoi" in either the online or hardcopy documentation. ============================================== M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? The console emulates a dumb terminal, with no ability to address the screen. To run anything like a screen editor, you must start the window system. ============================================== M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? On VMS (assuming your tape drive on VMS is MUA0:) : mount/foreign/block=10240/record=10240 mua0: copy mua0: file.tar On Ultrix: dcp -i 'vms::where$logical:file.tar' file.tar ============================================== M4. Why does ULTRIX restrict the number of users on the system? The answer to this is two-fold. The first reason is that due to Digital's contract with AT&T, Digital pays royalties to AT&T for its ULTRIX product on "bands" of user increments which match up to the capacity upgrade licenses which we sell. For every ULTRIX upgrade license sold, Digital sends a portion of that royalty payment to AT&T. Other vendors have worked other licensing arrangements with AT&T. The second reason is that Digital depends more on "personal" use of an operating system, and tries to break up the costs of providing an operating system depending on the number of users using it. Rather than charge a larger amount of money for a two-user system, Digital charges a base amount of money, then distributes the rest of the development costs across the per-user license base. Digital hopes that this gives an equitable and affordable system to all customers. [Jon "maddog" Hall, h...@zk3.dec.com] ============================================== M5. Where else can I discuss ULTRIX with other users? The decstation-managers mailing list is a rapid-turnaround vehicle for Ultrix (and maybe OSF/1 someday) administrators to reach a pool of people with similar expertise who might be able to help them resolve a problem they're having. There's no discussion on the list--just questions and summaries of responses to those questions. To join the list, send a message containing: subscribe decstation-managers to majord...@ornl.gov. To subscribe an address other than your return address, such as a local exploder, add that address to the subscribe command, e.g.: subscribe decstation-managers decstation-manag...@foo.bar [Dave Sill, d...@ornl.gov]
Path: gmd.de!Germany.EU.net!mcsun!uunet!olivea!grapevine.lcs.mit.edu! vanilla.lcs.mit.edu!treese From: tre...@lcs.mit.edu Newsgroups: comp.unix.ultrix,comp.sys.dec,news.answers,comp.answers Subject: comp.unix.ultrix ULTRIX Frequently Asked Questions Supersedes: <ultrix-faq_739048...@lcs.mit.edu> Followup-To: comp.unix.ultrix Date: 2 Jul 1993 04:22:19 GMT Organization: MIT Laboratory for Computer Science Lines: 1211 Approved: news-answers-requ...@MIT.Edu Expires: 15 Aug 1993 04:21:35 GMT Message-ID: <ultrix-faq_741586895@lcs.mit.edu> NNTP-Posting-Host: vanilla.lcs.mit.edu Summary: This posting contains a list of Frequently Asked Questions (and their answers) about the ULTRIX operating system from Digital Equipment Corporation. Originator: tre...@vanilla.lcs.mit.edu Archive-name: dec-faq/ultrix Last-modified: Thu Jul 01 22:58:25 EDT 1993 Version: 1.11 This is part 1 of the Frequently Asked Questions posting for comp.unix.ultrix, with answers about the ULTRIX operating system. It is also posted on comp.sys.dec, but it is not a full FAQ for comp.sys.dec. Companion postings have answers that apply to both ULTRIX and OSF/1 and answers that apply to OSF/1 alone. A separate FAQ describes how to get information about Digital products and interacting with Digital. This FAQ is available in the following archive sites, in the directory /pub/DEC/dec-faq: gatekeeper.dec.com crl.dec.com decuac.dec.com It can also be obtained by sending mail to ftpm...@pa.dec.com with the following lines: connect get /pub/DEC/dec-faq/ Many FAQs, including this one, are available on the archive site rtfm.mit.edu in the directory pub/usenet/news.answers. The name under which a FAQ is archived appears in the Archive-name line at the top of the article. This FAQ is archived in the directory dec-faq. To receive this posting by mail, send a note to ultrix-faq-requ...@crl.dec.com. If the location of a file in an archive is not specifically mentioned below, it is in /pub/DEC on the above machines. To make suggestions for changes or additions to this Frequently Asked Questions list, send mail to ultrix-...@crl.dec.com. Answers are especially appreciated. An archive of recent postings to comp.unix.ultrix can be found via anonymous FTP on ftp.cc.rochester.edu in /pub/usenet/comp.unix.ultrix. Thanks to folks at the University of Rochester for providing this service. Some general notes: When used alone, the word "DECstation" is used to mean any of the DECstations or DECsystems that use MIPS RISC processors. Similarly, "Alpha" refers to any DEC systems that use the Alpha AXP processor. Unless otherwise specified, these answers refer to ULTRIX 4.3, which is the current release of ULTRIX. Many people have contributed to this list, directly or indirectly. In some cases, an answer has been adapted from one or more postings on the comp.unix.ultrix newsgroup. Our thanks to all of those who post answers. The name (or names) at the end of an entry indicate that the information was taken from postings by those individuals; the text may have been edited for this FAQ. These citations are only given to acknowledge the contribution. Although the editor of this FAQ is an employee of Digital Equipment Corporation, this posting is not an official statement from Digital Equipment Corporation. Software ====================================================== S1. Why does dxpsview sometimes crash with an X error? S2. How do I compile perl on RISC/ULTRIX? S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? **CHANGED** S4. How do I build gdb on RISC/ULTRIX? S5. Why doesn't "talk" work between DECstations and other machines? S6. Why doesn't troff work? S7. How are /bin/sh and /usr/bin/sh5 related? S8. Why doesn't syslog work on ULTRIX 4.3? S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? S10. How can I get a core dump of a running process on ULTRIX? S11. Will ULTRIX ever have shared libraries? S12. Where can I get a "man" program that understands multiple directories? Network ====================================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? N2. Why don't packet-filter applications like "tcpdump" or CAP work? N3. OK, I've done all that and CAP still doesn't run. N4. I want to run the "screend" program but I get "Operation not supported on socket". N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? N7. How do I change the IP address of a diskless client? N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? N10. How can I run network daemons from inetd as users other than root? N11. How do I decode "stale filehandle" messages from NFS? N12. Where can I get IP multicast support for ULTRIX? Disk ====================================================== D1. Why doesn't ULTRIX 4.1 work with disks bigger than 1.2GBytes? D2. How can I increase the number of inodes on a filesystem? D3. OK, I used "newfs -i", and I didn't get more inodes? **NEW** D4. What the ^&@(%*&) is a gnode? Programming ====================================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? P3. Does mmap(2) work on plain files? **NEW** Graphics ====================================================== G1. Why does the X server use so much memory? G2. How can I build an X11R5 server for an ULTRIX machine? G3. How do I change or get rid of the Digital logo on the login screen of my workstation? G4. How do I run MIT X11 Software? G5. How do I build X software that I got from the net? G6. Why do some applications run slowly on the DECstation PX and PXG displays? G7. What can I do to improve security with X? Can I use xdm? Hardware ====================================================== H5. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? H6. How can I find out which type of DECstation 5000 I have? H7. How can I run a DECstation 3100 without the display? Miscellaneous ====================================================== M1. What is the floating-point number representation on ULTRIX? M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? M4. Why does ULTRIX restrict the number of users on the system? M5. Where else can I discuss ULTRIX with other users? M6. What is the part number for an ULTRIX source code license? ******************** Software *************************************** ============================================== S1. Why does dxpsview sometimes crash with an X error? dxpsview will often behave better if the "Watch Progress" item is selected from the Options menu. You can use the following resource in your .Xdefaults file: DPSViewer*watchProgress: on to make this the default behavior. Some reports indicate that this resource only works properly on ULTRIX 4.2A and later, however. Some have reported that disabling the use of PostScript comments also helps: DPSViewer*useComments: off ============================================== S2. How do I compile perl on RISC/ULTRIX? The following is valid for perl 4.0, patchlevel 35. It is probably approximately correct for later versions as well. The biggest trick in compiling perl on RISC/ULTRIX is fixing its notion of "volatile". To do this, when Configure stops and asks you if you want to edit config.sh, do so. Search for the word "volatile" and change the "define" on that line to "undef". On machines with a relatively small amount of memory, you may not want to use -O on eval.c, since the compiler can end up taking a long time to compile that file. If the source directory is NFS-mounted, it is usually the case that you will see the message io/fs..........FAILED on test 18 This is harmless and can be ignored. ============================================== S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? A version of the 4.3BSD syslog library and daemon that detects either 4.2bsd-compatible clients (which is what the Ultrix libc.a will help you create) or 4.3bsd-compatible clients, which are more flexible, is available by anonymous FTP from gatekeeper.dec.com in /pub/DEC/jtkohl-syslog.shar. Another version that supports regular expressions in syslog.conf is available from decuac.dec.com, in /pub/DEC/syslog_mjr.tar.Z ============================================== S4. How do I build gdb on RISC/ULTRIX? To build gdb, you will also need to install the GNU make. For gdb 4.0 and later: - unpack the tar file - cd <tar-root> - ./configure +subdirs decstation - cd H-decstation/T-decstation - gnumake This will build the gdb binary in <tar-root>/gdb/H-decstation/T-decstation/gdb Install this binary in the location of your choice (e.g. /usr/local/bin) ============================================== S5. Why doesn't "talk" work between DECstations and other machines? The original Berkeley talk protocol did not use network byte order, so machines with different byte order could not talk to each other. This was fixed in 4.3BSD, and in recent versions of ULTRIX. Some vendors have not fixed their software. The 4.3BSD talk software is available from many FTP archive sites. ULTRIX includes a program, "otalk", which uses the old protocol, but it only works with machines that use little-endian byte order (e.g., VAXen, DECStations, not most others). ============================================== S6. Why doesn't troff work? Digital doesn not support troff on ULTRIX, mostly because of the way AT&T licenses the software now. However, you can use groff (GNU roff) which works pretty nicely and generates pure PostScript. There's a RISC/ULTRIX binary kit for groff available for FTP from decuac.dec.com:/pub/binaries. [Marcus Ranum, m...@tis.com] ============================================== S7. How are /bin/sh and /usr/bin/sh5 related? /bin/sh on ULTRIX is the traditional Bourne shell. /usr/bin/sh5 is the newer "System V" shell and has functions and a few other odds and ends added to it. A comparison of the manual pages will give an idea of the differences. [Marcus Ranum, m...@tis.com] ============================================== S8. Why doesn't syslog work on ULTRIX 4.3? There is a bug in the distribution: /etc/syslog.pid is owned by root. It should be owned by daemon. [Alan Rollow, a...@nabeth.cxo.dec.com] ============================================== S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? DEC's LSE is part of the DECset for ULTRIX product, a set of CASE tools. GNU Emacs also has packages for several different languages. [Jean-Marc Digne, di...@prssud.enet.dec.com] ============================================== S10. How can I get a core dump of a running process on ULTRIX? Get gcore from gatekeeper.dec.com:/pub/DEC/gcore.shar. This one is known to work on ULTRIX 4.2; it should work on 4.3 as well. [Jeff Mogul, mo...@pa.dec.com] ============================================== S12. Will ULTRIX ever have shared libraries? No. Alpha OSF/1 does, however. ============================================== S12. Where can I get a "man" program that understands multiple directories? The ULTRIX man program does not understand multiple directories. Some that do are: 1. The 4.3BSD man program, available from decuac.dec.com:pub/sources/bsd-man.shar.Z. 2. GNU man, from gatekeeper.dec.com:pub/GNU/man-1.0.tar.gz There is a later version, but I can't remember where it might be. 3. Tom Christiansen's PERL man program, from: convex.convex.com:pub/perl/scripts/man.shar.Z. Requires perl Alpha OSF/1 man understands MANPATH. [Frank Wortner, fr...@croton.nyo.dec.com] ******************** Network *************************************** ============================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? There is a bug in the ULTRIX version of named that causes it to run out of file descriptors when it does too many zone transfers. A somewhat different version of named that does not have this problem can be found in cra-bind.tar.Z. This version cannot use Kerberos for server-server authentication, as the ULTRIX version can. It does support Hesiod data and queries. It is not supported by Digital, although it is in active use on Digital's Internet machines. [Win Treese, tre...@crl.dec.com] ============================================== N2. Why don't packet-filter applications like "tcpdump" or CAP work? Probably because you have not configured the packet filter into the kernel. The default kernel configurations do NOT include the packet filter. See "man 4 packetfilter" for full details, but basically the process involves editing your kernel configuration file add "options PACKETFILTER" add "pseudo-device packetfilter" rebuilding your kernel installing the new kernel booting the new kernel "cd /dev; MAKEDEV pfilt" to create the required entries You might also want to add the following lines to /etc/rc.local: [ -f /usr/etc/pfconfig ] && { /usr/etc/pfconfig +p +c -a 2>&1 & echo -n ' pfconfig' >/dev/console } This allows you to use promiscuous-mode applications, such as "tcpdump" or "nfswatch". Note that the '-a' option to pfconfig allows any user to spy on the network. If it is omitted, only root may do so. There are also some patches for ULTRIX 4.2 and 4.2A for the packetfilter code. Call Digital's Customer Support if you need them. The official description of the patches is below; here is some background information. ULTRIX 4.3 has all of the patches included. Note: these patches cause DECnet-OSI not to work. To run DECnet-OSI on ULTRIX 4.3, you will need the latest patched version of net_common.o for 4.3. Although not mentioned in the description, these patches should also make Ultrix more forgiving of certain incorrect 802.3 packets. Such packets are sent by some 3rd-party implementations. I don't think this will fix the problem in every case, since some Digital Ethernet interfaces filter out "bad" 802.3 packets in hardware. The patches should work for DECstations and most DECsystems. Note that if you install these patches and you have been running CAP, you should recompile CAP after removing the definition for ULT42PFBUG from the Configure script. The ULT42PFBUG patch to CAP will not work once the kernel has been patched. You should also *stop* doing ifconfig ln0 copyall once you install the patches. If you have been using tcpdump, nfswatch, or a similar monitoring program on an FDDI network, installing these patches will probably make that not work. You will still be able to use tcpdump on an Ethernet, of course. The reason for this is that tcpdump only worked on FDDI networks because of the bug that is fixed by these patches. These patches are available for Ultrix 4.2 and 4.2A, and for both RISC and VAX. They must not be applied to previous versions of Ultrix. Finally, note you must install new versions of BOTH net_common.o and pfilt.o; you cannot just install one of the files. /sys/{MIPS,VAX}/BINARY/net_common.o /sys/{MIPS,VAX}/BINARY/pfilt.o ----------------------------------- (v4.2 RISC & VAX, v4.2a RISC) Listed are problem resolved by these 2 patches: 1. PACKET FILTER FAILS TO RECEIVE UNICASTS TO LOCAL HOST The packet filter mechanism is supposed to allow a user application to receive packets that are sent to the local host, if no other protocol in the kernel wants to use the packet. This worked fine in Ultrix 4.0 and 4.1, but in Ultrix 4.2 it is broken. Apparently, setting "copyall" with ifconfig is a workaround, but this is an EXTREMELY inefficient workaround, and requires users to reconfigure their systems as super-user. This is not needed in ULTRIX 4.3. 2. PACKET FILTER IOCTL EIOCDEVP RETURNS WRONG MTU VALUE A change was made to increase the size for ethernet packets from 1500 bytes to 1514 bytes which is the MAX size for the ethernet. This will allow 1500 bytes for the message and 14 bytes for the header. Also corrected the value returned in endevp.end_MTU by the EIOCDEVP ioctl. 3. 802.3/802.2 PACKETS NOT PROPERLY DELIVERED TO PACKET FILTER The packet filter is defined, in its manual page, to provide packets to user applications exactly as those packets appear on the network. The current kernel code mangles the headers of 802.2 encapsulations of Ethernet packets, causing several popular applications to fail. [Jeff Mogul, mo...@pa.dec.com] ============================================== N3. OK, I've done all that and CAP still doesn't run. [See the previous topic for information on relevant patches for ULTRIX.] There are several bugs in the Ultrix 4.2 packet filter mechanism, some of which affect CAP. These are fixed in ULTRIX 4.3. The details are complex, but you can solve one of them by doing (as super-user, probably from /etc/rc.local) /etc/ifconfig ln0 copyall (substitute whatever interface type you are using for "ln0"). The other bug, which apparently only affects CAP when "Phase 2" is in use, requires a patch to CAP. CAP patches are available from a number of archive sites, including gatekeeper.dec.com: in the directory named /pub/net/appletalk/cap/cap.patches Another problem you may have is that some Ethernet interfaces sold for the Macintosh occasionally send incorrect 802.3 packet headers. (The bug is that they send a packet whose length does not match the value provided in the 802.3 header's length field. Ultrix 4.2, as well as some of Digital's Ethernet interface hardware, is strict about checking 802.3 header, and does not accept these packets.) As of this writing, a patch is not yet available and there is no workaround. If you can, you should try to get the vendor of the nonconforming interface to provide a solution. Once you have obtained an up-to-date, fully patched copy of CAP 6.0, the Configure script does not automatically switch on the workaround code; you must manually edit the m4.setup file to turn the workaround code on. [Jeff Mogul, mo...@pa.dec.com] ============================================== N4. I want to run the "screend" program but I get "Operation not supported on socket". By default, support for screend is not configured into the Ultrix 4.2 kernel, and the documentation for this is missing. Edit your kernel configuration file to include the line: pseudo-device gwscreen and rebuild your kernel (i.e., run /etc/config, then change to the right directory and do "make depend" and then "make"). Install the new kernel and reboot the system. [Jeff Mogul, mo...@pa.dec.com] ============================================== N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. Get a copy of NSL Network Note NN-16, "Using screend to Implement IP/TCP Security Policies". Send mail with "Subject: help" for information on how to order this, or just "Subject: send postscript nn-16" if you want to receive the PostScript file via return mail to nsl-techrepo...@pa.dec.com or ...!uunet!decwrl!nsl-techreports [Jeff Mogul, mo...@pa.dec.com] ============================================== N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? The version of SUN RPC shipped with ULTRIX V4.2 supports up to 32 groups per user, whereas previous versions supported 8 groups per user. Users that are members of more than 8 groups cannot NFS mount file systems from NFS servers using the version of SUN RPC that only supports 8 groups. The error message that nfs_mount will give you if you are in too many groups will look like this: nfs_mount: crltrx:/usr/local server not responding: RPC: Authentication error; why = Invalid client credential nfs_mount: access denied for crltrx:/usr/local The workaround is to reduce the number of groups you are a member of to eight or less to make NFS mounts work again. In particular, you should check the number of groups that "root" is in. ============================================== N7. How do I change the IP address of a diskless client? The Internet address of a diskless client is determined by the network boot block the system send as the secondary load file. This file is initially created by DMS but at the present time DMS does not have the capability to change an existing netblk. NOTE: If you attempt to change the IP address of either the client or server without modifying the netblk then your DISKLESS CLIENTS WILL NOT BOOT. The definition of the network boot block is in /usr/include/sas/mop.h and the netblk structure is shown below. struct netblk { char srvname[32]; /* server hostname (boot server)*/ unsigned long srvipadr; /* server IP address (boot server)*/ char cliname[32]; /* client hostname */ unsigned long cliipadr; /* client IP address */ unsigned long brdcst; /* broadcast address */ unsigned long netmsk; /* network mask address */ short swapfs; /* swap file system type*/ short rootfs; /* root file system type*/ short swapsz; /* swap size in 1/2 Meg units */ short dmpflg; /* dump flag 0 - disabled */ /* 1 - enabled */ char rootdesc[80]; /* root filesys descriptor */ char swapdesc[80]; /* swap file descriptor */ char reserved[20]; /* for later use */ }; In order to change the IP address of the client or of the server you will need to modify the netblk. The code for the boot block is in the file /etc/bootblk.c on the diskless client. An example of this file is: #include <sas/mop.h> struct netblk nblk={ "my_server", 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, 0, 5, 0, 0, "/dlclient0/my_client.root", "rz3b", "" }; A quick cross-reference with the mop include file will tell you which fields represent which data. To change the IP addresses you need to use the command /usr/diskless/makpkt. The format of this command is: makpkt server_IP_addr client_name client_IP_addr broadcast netmask Here is an example of using makpkt to change the network boot block parameters. For a server of address 16.128.128.4 and a client called fred of address 16.128.128.19 on a class B network you'll need to use the command: % makpkt 16.128.19.4 fred 16.128.20.19 16.128.255.255 255.255.0.0 this will produce the output: 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, You will now need to edit netblk.c and replace the line 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, with 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, The next step is to compile the new netblk. % cc -c netblk.c If you are changing the client IP address then you will also need to modify the CLIARP field in /etc/dlparam on the client. eg. CLIARP="16.182.128.61" Finally you can change the server and/or client IP address on the server and reboot. ============================================== N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? ONC RPC (formerly "Sun RPC") is not supported under ULTRIX. This means that not only may some library routines like "clnt_create" not exist, but that if they do, they may not work as expected. If you need to use RPC for an application can use the unsupported version of the RPC4.0 distribution that is available for FTP from crl.dec.com and decuac.dec.com in pub/sources/rpc4.0-ultrix.tar.Z. ONC RPC will be a supported component of Digital's OSF/1 product. ============================================== N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? Put this in rc.local: echo -n 'disabling kernel routing: ipforwarding ' >/dev/console /usr/etc/kvar -k -wl -s ipforwarding -v 0 /vmunix >/dev/console ============================================== N10. How can I run network daemons from inetd as users other than root? inetd will take a username as the fifth field. This is not documented on the inetd manual page. For example: finger stream tcp nowait nobody /usr/etc/fingerd fingerd ============================================== N11. How do I decode "stale filehandle" messages from NFS? In the message NFS server: stale file handle _fs(21,154) file 4100 21 and 154 are the major and minor device numbers. 4100 is the inode number. Running 'ls -l' on /dev will show the device numbers, so you can ask mount what directory the filesystem is mounted on. Then use find <file system> -inum <inode no> -print to find the file. [Peter Mayne, p...@chmeee.enet.dec.com] [Greg Shapiro, gshap...@monkeyboy.WPI.EDU] ============================================== N12. Where can I get IP multicast support for ULTRIX? Patches to enable IP Multicast are available from gregorio.stanford.edu:vmtp-ip. Patches are available for Ultrix 4.1 & 4.2a. Binaries are available for 4.2a. [Lance Berc, b...@src.dec.com] ******************** Disk *************************************** ============================================== D1. Why doesn't ULTRIX 4.1 work with disks bigger than 1.2GBytes? There is a bug in the V4.1 SCSI driver that will only allow it to read something like (2 ** 21) or (2 ** 20) LBNs. After that it wraps around to the beginning of the disk. It is fixed in V4.2. ============================================== D2. How can I increase the number of inodes on a filesystem? "newfs -i XXX" is usually used to increase the number of inodes on a filesystem, where XXX is the desired number of bytes per filesystem. However, there is a not-well-known limit of 2048 inodes per cylinder group, and newfs doesn't tell you that if you try to ask for more. The solution is to get more cylinder groups, either by using "newfs -c XXX" to specify the number of cylinders per group or by using 4096-byte blocks and 512-byte fragments. Read the newfs manual page before trying this at home or work. [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== D3. OK, I used "newfs -i", and I didn't get more inodes? **NEW** The version of the Berkeley Fast File system used by the ULTRIX Operating System has a limit of 2048 inodes per cylinder group. This limit is the constant MAXIPG in the include file /usr/include/ufs/fs.h. To change it you need to be able to recompile from sources. When newfs/mkfs runs it attempts to allocate enough inodes so that there are enough for an average file size of 2 KB. (bytes per inode = 2048). When there are enough cylinder groups this is easy. In fact, if the cylinder group is small enough, it may not get close to the MAXIPG limit. But over the years, disks have gotten bigger. They have more cylinders, more tracks and the tracks have more sectors. As a result cylinder groups are larger and it's hard to allocate enough inodes to meet the 2048 bytes per inode limit, with only MAXIPG available. Since MAXIPG is fixed the effective average file size goes up. On a News spool tree, the average file probably is around or less than 2 KB. As a result, these large cylinder disks don't have enough inodes for the typical file size, and, more importantly, you can't get more, since you're already at the MAXIPG limit. At least not easily. But there are some solutions available... Theme of solutions: Inodes are allocated on a cylinder group basis. Want more inodes, use more cylinder groups. 1. Use fewer cylinders per group, thus getting more groups. See the -c option of newfs(8). Note: On the 2nd hand advice of Gregory Neil Shapiro (gshap...@wpi.wpi.edu) there are some disks for which the -c option won't work because mkfs(8) enforces a set of cylinder group sizes that won't allow reducing the number cylinders per below the default of 16. This seems to be the case for the RZ57 and RZ58. 2. Use a different file system block and fragment size; 4K/512a instead of the usual 8K/1K. In the case of News this may work best. Since most files are small, using the smaller size may help reflect the smaller average file size. It may also waste less space in partially filled fragments. 3. Lie about the geometry. If the track length or tracks per cylinder is nice factorable number, reduce one to increase the effective number of cylinders. By playing games with the factors of the geometry you manage to keep the geometry approximately the same. For some disks this may not matter and you can invent whatever lie you want. For example; the RZ58 uses zoned based recording (banding). Depending on where you are on the disk, there will more or less sectors per track. The single geometry presented by ULTRIX is a convient lie. [Allan Rollow, a...@nabeth.cxo.dec.com] ============================================== D4. What the ^&@(%*&) is a gnode? "Gnode" means "generic inode". Like most versions of UNIX these days, ULTRIX has a virtual filesystem. This means the kernel can support different types of filesystem - like the BSD FFS, the old V7-style filesystem in System V, RFS, NFS etc. Gnodes are similar to the vnodes of the Sun filesystem switch. The message "out of gnodes" usually means "out of inodes" on the filesystem. To fix this, you can delete files or reinitialize the filesystem with newfs (after backing everything up!). The message "gnode: table is full" means that the kernel table for keeping track of open files is full. If you need to fix this, increase the maxusers parameter in your kernel configuration file and rebuild your kernel. [Jim Reid, j...@cs.strath.ac.uk] [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== ******************** Programming *************************************** ============================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? DEC C++ comes with a full ANSI C compiler, which is also known as DEC C. The GNU C compiler (gcc) also runs on DECstations with ULTRIX, as well as under OSF/1 on Alpha platforms. It is available from many ftp sites. [Dan McCoy, mc...@pixar.com] [Mads Westermann, w...@dd.dk] ============================================== P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? A Modula-2 compiler for DECstations and VAXen developed at Digital's Western Research Lab is available in gatekeeper.dec.com:/pub/DEC/Modula-2. If you like Modula-2, you might be interested in Modula-3, a successor language to Modula-2 developed at Digital's Systems Research Center and the (now defunct) Olivetti Research Center. A description of the language and a portable compiler that runs on many platforms is available in gatekeeper.dec.com:/pub/DEC/Modula-3. [Richard Sharpe, sha...@adodem.enet.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== P3. Does mmap(2) work on plain files? **NEW** On ULTRIX, mmap(2) only works on character special devices. [Win Treese, tre...@lcs.mit.edu] ******************** Graphics *************************************** ============================================== G1. Why does the X server use so much memory? Xws and the other other DEC X servers generally grow larger with workload, not because of memory leaks. When you start an X server, its process is quite small. As applications are started, the server allocates memory for a variety of reasons to service requests from clients. An example of this is allocating a pixmap. When the resource is freed, the corresponding memory is freed back to the malloc pool, but the server image doesn't get any smaller. This is true of any application where you malloc memory and then free it. If your workload is consistent, server growth is asymptotic, growing quickly at first, then tapering off. In other words, if you exit the application that caused the server to allocate a lot of memory, the server size won't shrink when the application exits, but the server won't grow any larger if you run the same application the same way again. Of course it's possible that a memory leak in the server still exists. If you think you have a memory leak, you should figure out which application you run that triggers the leak. You should run that application several times, observing the server size with every iteration. If the server grows by an appreciable amount each time, please file an SPR. For workstations with minimal memory, we recommend that you use the following server command line arguments: -once (restart the server afresh for each session) -su (inhibit save unders) -bs (inhibit backing store) The -su and -bs flags essentially trade CPU for memory, making applications work harder in some cases to save server memory. This tradeoff isn't as bad as it may sound. [Joel Gringorten, gring...@wsl.dec.com] ============================================== G2. How can I build an X11R5 server for an ULTRIX machine? The display device drivers changed significantly between ULTRIX 4.1 and ULTRIX 4.2. To build an R5 server on ULTRIX 4.1 system, edit the Edit the file ultrix.cf in mit/config and #define OSMinorVersion to be 1. This should cause the Xcfbpmax server to be built instead of the Xdec server. Xdec only runs on ULTRIX 4.2 and later. ============================================== G3. How do I change or get rid of the Digital logo on the login screen of my workstation? To have no logo displayed at all, add this line to /.Xdefaults: XSessionManager*displayLogo: no To replace the Digital logo with a different Encapsulated PostScript image, add the following to /.Xdefaults: XSessionManager*logoFile: filename XSessionManager*logoFullScreen: true Make sure that "filename" is the full path to a PostScript file. Note that the PostScript should not end with a "showpage" or the page will print and then disappear with the "new page." ============================================== G4. How do I run MIT X11 Software? If you are running with Ultrix 4.2 or later, you should have received some sort of distribution media with "Unsupported" subsets on it. Among those subsets are the following: UDXUNFONTS420 'Unsupported MIT Fonts' UDXUNMAN420 'Unsupported X11 Reference Pages' UDXUNMIT420 'Unsupported X11 Components' These subsets, in total, provide the fonts, manual pages, and clients from the X11 Release 4 distribution from MIT, with a few minimal changes to fix problems that cropped up after the MIT release. If all you want is R4 clients, load the above subsets. These subsets were built directly from the X Consortium sources and include all of the public patches. The R4 clients will be installed in /usr/bin/X11; put that directory in your path in order to access them. An ls on /usr/bin/X11 will also reveal the names of the applications that are available. If you have a previous version of Ultrix, or if you need X11 Release 5, you will have to build from the X Consortium sources yourself. There are some difficulties associated with building Release 4 from source on Ultrix versions 4.0 and higher; fortunately, Release 5 corrects these problems, so be sure to start with a fresh Release 5 distribution. Building from source should be a simple matter of editing the mit/config/ultrix.cf file and then connecting to the toplevel directory and typing ``Make World''. If you are running Ultrix 4.2, you don't need to edit ultrix.cf, but for other versions of Ultrix, be sure to cd to mit/config and change the OSMinorVersion (and, for versions of Ultrix prior to 4.0, the OSMajorVersion) number to the appropriate number for your version of Ultrix. As mentioned in another FAQ answer, the Xdec server provides multiscreen capability for colour frame buffers, but features of Ultrix required to support this capability are not present prior to Ultrix 4.2; for those versions, the Xcfbpmax server will be built; this server only supports one display per machine, and only DECstation 2100 and 3100 and DECstation 5000 models running with the CX adapter. The Xdec server should work on the following systems: DECstation 2100 Monochrome or Color Workstations DECstation 3100 Monochrome or Color Workstations DECstation 5000/1xx CX, MX or HX Single or Multiscreen Workstations DECstation 5000/2xx CX, MX or HX Single or Multiscreen Workstations The support for the HX option on the above platforms is limited to direct frame buffer I/O - the graphics processor present on the HX board will not be used. This means that performance with the R5 server will be substantially worse than performance with the DEC-supplied server in most cases. Support for the PX and PXG options is not present in R5 in any form. Support for the MX exists, but some problems have been reported when attempting to render non-black, non-white pixels. Source to X11 Release Five can be copied across the Internet from gatekeeper.dec.com (16.1.0.2), crl.dec.com (192.58.206.2), or export.lcs.mit.edu (18.24.0.12). Other internet archives may also have full source distributions; asking around on the Usenet newsgroup comp.windows.x will probably elicit this information. ============================================== G5. How do I build X software that I got from the net? If you get source code to an X application from somewhere and want to build it, here are a few helpful hints: First, make sure the following subsets are installed: UDXUNMIT420 UDXUNFONTS420 You may also find the man pages for the previous two subsets useful. They're in: UDXUNMAN420 Next, add the following line to the end of /usr/lib/X11/config/site.def #define StandardIncludes -I/usr/include/mit If there are any README files with the source code, now is a good time to read them, and make any changes they suggest. If you installed the MIT X11 distribution from MIT, rather than the ULTRIX subsets, your local configuration may be different. If there is an Imakefile: If the source code has a file called "Imakefile" at the top of its directory hierarchy, typing the following in that top-level directory should build the application: xmkmf make Makefiles make depend make To install the application, type make install If there isn't an Imakefile: You might have to edit the Makefile to make the application compile. If ".h" files (like those for the Athena widget set, "Xaw") are not being found, adding "-I/usr/include/mit" to the "cc" command(s) in the Makefile will usually do the trick. If you are having problems linking, try using "-lXext-mit" and "-lX11-mit" instead of "-lXext" and "-lX11" in the Makefile. ============================================== G6. Why do some applications run slowly on the DECstation PX and PXG displays? The PX and PXG graphics adapters are designed for high-speed two-dimensional vector drawing and for high-speed three-dimensional rotation and polygon fills, respectively. In order to get maximum performance in these specialized areas, both kinds of adapters have their own intelligent on-board processor which do high-speed drawing operations, and in the case of the PXG, a general purpose RISC processor which does 3D rendering, scaling and rotation. In order to optimize graphics performance, a tradeoff was made on both of these boards which prevents your system CPU from directly accessing display memory. Allowing your system CPU to directly access display memory would, at a minimum, cut the graphics accelerator performance by a factor of two, and perhaps more. Unfortunately, as a result, operations which involve the copying of large images (Pixmaps) into or out of display memory are performed much more slowly than they would be if the processor were able to directly access system memory. One example of this is the ever-popular background image. The X server keeps a Pixmap containing the pattern with which to paint the root window; whenever an area of the root window is exposed, the X server must copy that portion of the Pixmap over the relatively low-performance I/O channel to the PX or PXG adapter, which then copies it into display memory. As a result, iconifying and deiconifying windows can become a fairly slow experience, particularly on systems with lower TurboChannel bandwidth. In this case, the solution is simple; just use the standard, boring background. However, if an application that you use actually needs to copy Pixmaps to the screen on a regular basis, you will definitely experience slow performance; there's no way to fix this problem. Unless you need the vector performance of the PX or the 3D rendering capabilities of the PXG, use one of the several boards DEC produces which are optimized for windowing and imaging, such as the CX (dumb colour frame buffer), MX (dumb monochrome frame buffer), HX (smart colour frame buffer), or TX (imaging colour frame buffer). ============================================== G7. What can I do to improve security with X? Can I use xdm? ULTRIX 4.3 and later support the MIT-MAGIC-COOKIE-1 authorization protocol and include xdm as well. Alpha OSF/1 uses xdm by default and also supports the authorization protocol. [Bob Heiney, hei...@pa.dec.com] ******************** Hardware *************************************** ============================================== H1. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? All DS5000 series machines set the memory stride from the first memory array module (this is true of the Personal DECstation and the DS5000/1xx series and not just the DS5000/2xx machines). The only supported configurations are those in which all of the memory array modules are of the same capacity. Memory array module types are: MS01-AA 1Mbit DRAM DS2100,DS3100,PDS5000/20,PDS5000/25,DS5000/120, DS5000/125,DS5000/133 MS01-CA 4Mbit DRAM PDS5000/20,PDS5000/25,DS5000/120,DS5000/125, DS5000/133 MS02-AA 1Mbit DRAM DS5000/200,DS5000/240 MS02-CA 4Mbit DRAM DS5000/200,DS5000/240 However, you can place one memory array module of a smaller capacity at the end of a series of higher capacity modules. Slot Module 0 MS02-CA 1 MS02-CA 2 MS02-AA This configuration will work, and be properly recognized by Ultrix, but it is not "supported." The console will see all of the memory modules. The operating system will be expecting memory in 32MB segments and when it hits slot 2 it will simply believe that there are 24MB of failed memory on that module. It will not be possible to support higher memory congigurations in the DS5000 series machines with 16Mbit DRAM cards. The issue is that both the physical memory address and the I/O address are provided by the same Kseg0 block (512MB) in the R3000. This will not change with the advent of the R4000 daughter cards, as it would require modification of the memory controller ASIC (the MT chip) as well. ============================================== H2. How can I find out which type of DECstation 5000 I have? If /etc/sizer -c returns: DS5000 then it's a 5000/200. DS5000_100 then it's a 5000/1xx (where xx={20,25,33}) DS5000_300 then it's a 5000/240. DSPERSONAL_DECSTATION then it's a 5000/xx. For something more specific on the 5000/1xx and 5000/xx, you need to look at the messages printed out at last boot time (available in the error log; use /etc/uerf -R -r 300). ============================================== H3. How can I run a DECstation 3100 without the display? To turn a DECstation into a DECsystem you need to: 1. Remove the graphics stuff. 2. Put a mouse loopback connector in the hole for the mouse plug. (part number currently unknown) [Alan Rollow, a...@nabeth.enet.dec.com] ******************** Miscellaneous *************************************** ============================================== M1. What is the floating-point number representation on ULTRIX? The floating point format differs depending on which architecture the ULTRIX software is running on. Digital's RISC machines all use IEEE floating point representation with a little-endian byte ordering. You can easily convert between little and big endian ordering by reversing bytes within the floating point number. The VAX line uses a unique (although, given the popularity of VAXen) quite well known floating point format. The ULTRIX C libraries include routines which will translate between RISC (IEEE) and VAX floating point formats. Look under "ftoi" in either the online or hardcopy documentation. ============================================== M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? The console emulates a dumb terminal, with no ability to address the screen. To run anything like a screen editor, you must start the window system. ============================================== M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? On VMS (assuming your tape drive on VMS is MUA0:) : mount/foreign/block=10240/record=10240 mua0: copy mua0: file.tar On Ultrix: dcp -i 'vms::where$logical:file.tar' file.tar ============================================== M4. Why does ULTRIX restrict the number of users on the system? The answer to this is two-fold. The first reason is that due to Digital's contract with AT&T, Digital pays royalties to AT&T for its ULTRIX product on "bands" of user increments which match up to the capacity upgrade licenses which we sell. For every ULTRIX upgrade license sold, Digital sends a portion of that royalty payment to AT&T. Other vendors have worked other licensing arrangements with AT&T. The second reason is that Digital depends more on "personal" use of an operating system, and tries to break up the costs of providing an operating system depending on the number of users using it. Rather than charge a larger amount of money for a two-user system, Digital charges a base amount of money, then distributes the rest of the development costs across the per-user license base. Digital hopes that this gives an equitable and affordable system to all customers. [Jon "maddog" Hall, h...@zk3.dec.com] ============================================== M5. Where else can I discuss ULTRIX with other users? The decstation-managers mailing list is a rapid-turnaround vehicle for Ultrix (and maybe OSF/1 someday) administrators to reach a pool of people with similar expertise who might be able to help them resolve a problem they're having. There's no discussion on the list--just questions and summaries of responses to those questions. To join the list, send a message containing: subscribe decstation-managers to majord...@ornl.gov. To subscribe an address other than your return address, such as a local exploder, add that address to the subscribe command, e.g.: subscribe decstation-managers decstation-manag...@foo.bar [Dave Sill, d...@ornl.gov] ============================================== M6. What is the part number for an ULTRIX source code license? For educational institutions (these are not listed in the SPD): MODEL NUMBER DESCRIPTION ---------- ----------------------------- 1 QB-0JRAA-E5 Ultrix/UWS Edu Source Code 2 QB-0JRAA-EM Ultrix/UWS Edu Source Code 3 QB-0JRAE-E5 Ultrix/UWS Edu Source Code 4 QB-0JRAE-EM Ultrix/UWS Edu Source Code This is a little confusing, since the "DESCRIPTION" of all four kits is the same. As far as I know, you need to order the -0JRAA- kit the first time, and the -0JRAE- ("update") kit for subsequent releases. Probably, this is so that you don't have go through a complete set of paperwork for a new release. You have to have to meet a number of other requirements; see the Software Product Description (SPD) for more details. The -E5 kits are on TK50, and the -EM kits are on 9-track magtape. I don't believe that the source kits are available on any other medium. All 4 part numbers have the same list price (not especially expensive). I don't know if they are available outside the US. If you're not at an educational institution, here are the corresponding part numbers (these are listed in the SPD, by the way): MODEL NUMBER DESCRIPTION ---------- ----------------------------- 1 QB-0JQAA-E5 ULTRIX WS LOC.USE SOURCE TK50 2 QB-0JQAA-EM ULTRIX WS LOC.USE SOURCE 16MT 3 QB-0JQAE-E5 ULTRIX WS LOC.USE SOURCE TK50 4 QB-0JQAE-EM ULTRIX WS LOC.USE SOURCE 16MT These are more expensive. [Jeff Mogul, mo...@pa.dec.com]
Path: gmd.de!xlink.net!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!decwrl! crl.dec.com!crl.dec.com!crl.dec.com!not-for-mail From: tre...@crl.dec.com Newsgroups: comp.unix.ultrix,comp.sys.dec,news.answers,comp.answers Subject: comp.unix.ultrix ULTRIX Frequently Asked Questions Supersedes: <ultrix-faq_758757...@crl.dec.com> Followup-To: comp.unix.ultrix Date: 5 Mar 1994 19:56:28 -0500 Organization: Digital Cambridge Research Laboratory Lines: 1303 Approved: news-answers-requ...@MIT.Edu Expires: 19 Apr 1994 00:56:26 GMT Message-ID: <ultrix-faq_762915386@crl.dec.com> NNTP-Posting-Host: quabbin.crl.dec.com Summary: This posting contains a list of Frequently Asked Questions (and their answers) about the ULTRIX operating system from Digital Equipment Corporation. Archive-name: dec-faq/ultrix Last-modified: Sun Jan 16 16:51:33 EST 1994 Version: 1.14 This is part 1 of the Frequently Asked Questions posting for comp.unix.ultrix, with answers about the ULTRIX operating system. It is also posted on comp.sys.dec, but it is not a full FAQ for comp.sys.dec. Companion postings have answers that apply to both ULTRIX and OSF/1 and answers that apply to OSF/1 alone. A separate FAQ describes how to get information about Digital products and interacting with Digital. This FAQ is available in the following archive sites, in the directory /pub/DEC/dec-faq: gatekeeper.dec.com crl.dec.com It can also be obtained by sending mail to ftpm...@pa.dec.com with the following lines: connect get /pub/DEC/dec-faq/ Many FAQs, including this one, are available on the archive site rtfm.mit.edu in the directory pub/usenet/news.answers. The name under which a FAQ is archived appears in the Archive-name line at the top of the article. This FAQ is archived in the directory dec-faq. To receive this posting by mail, send a note to ultrix-faq-requ...@crl.dec.com. If the location of a file in an archive is not specifically mentioned below, it is in /pub/DEC on the above machines. To make suggestions for changes or additions to this Frequently Asked Questions list, send mail to ultrix-...@crl.dec.com. Answers are especially appreciated. An archive of recent postings to comp.unix.ultrix can be found via anonymous FTP on ftp.cc.rochester.edu in /pub/usenet/comp.unix.ultrix. Thanks to folks at the University of Rochester for providing this service. Some general notes: When used alone, the word "DECstation" is used to mean any of the DECstations or DECsystems that use MIPS RISC processors. Similarly, "Alpha" refers to any DEC systems that use the Alpha AXP processor. Unless otherwise specified, these answers refer to ULTRIX 4.3, which is the current release of ULTRIX. Many people have contributed to this list, directly or indirectly. In some cases, an answer has been adapted from one or more postings on the comp.unix.ultrix newsgroup. Our thanks to all of those who post answers. The name (or names) at the end of an entry indicate that the information was taken from postings by those individuals; the text may have been edited for this FAQ. These citations are only given to acknowledge the contribution. Although the editor of this FAQ is an employee of Digital Equipment Corporation, this posting is not an official statement from Digital Equipment Corporation. Software ====================================================== S1. Why does dxpsview sometimes crash with an X error? S2. How do I compile perl on RISC/ULTRIX? S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? S4. How do I build gdb on RISC/ULTRIX? S5. Why doesn't "talk" work between DECstations and other machines? S6. Why doesn't troff work? S7. How are /bin/sh and /usr/bin/sh5 related? S8. Why doesn't syslog work on ULTRIX 4.3? S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? S10. How can I get a core dump of a running process on ULTRIX? S11. Will ULTRIX ever have shared libraries? S12. Where can I get a "man" program that understands multiple directories? S13. What does "panic: km_free: bad addr" mean? S14. Where can I get a "vacation" program for ULTRIX? Network ====================================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? N2. Why don't packet-filter applications like "tcpdump" or CAP work? N3. OK, I've done all that and CAP still doesn't run. N4. I want to run the "screend" program but I get "Operation not supported on socket". N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? N7. How do I change the IP address of a diskless client? N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? N10. How can I run network daemons from inetd as users other than root? N11. How do I decode "stale filehandle" messages from NFS? N12. Where can I get IP multicast support for ULTRIX? N13. Where can I get SLIP for ULTRIX? Disk ====================================================== D1. Why don't ULTRIX releases prior to V4.2A work with SCSI disks larger than 1 Gbyte? D2. How can I increase the number of inodes on a filesystem? D3. OK, I used "newfs -i", and I didn't get more inodes? D4. What the ^&@(%*&) is a gnode? Programming ====================================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? P3. Does mmap(2) work on plain files? Graphics ====================================================== G1. Why does the X server use so much memory? G2. How can I build an X11R5 server for an ULTRIX machine? G3. How do I change or get rid of the Digital logo on the login screen of my workstation? G4. How do I run MIT X11 Software? G5. How do I build X software that I got from the net? G6.**CHANGED** Why do some applications run slowly on the DECstation PX and PXG displays? G7. What can I do to improve security with X? Can I use xdm? Hardware ====================================================== H1. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? H2. How can I find out which type of DECstation 5000 I have? H3. How can I run a DECstation 3100 without the display? Miscellaneous ====================================================== M1. What is the floating-point number representation on ULTRIX? M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? M3. M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? M4. Why does ULTRIX restrict the number of users on the system? M5. Where else can I discuss ULTRIX with other users? M6. What is the part number for an ULTRIX source code license? M7. What is the future of ULTRIX? ============================================== S1. Why does dxpsview sometimes crash with an X error? dxpsview will often behave better if the "Watch Progress" item is selected from the Options menu. You can use the following resource in your .Xdefaults file: DPSViewer*watchProgress: on to make this the default behavior. Some reports indicate that this resource only works properly on ULTRIX 4.2A and later, however. Some have reported that disabling the use of PostScript comments also helps: DPSViewer*useComments: off ============================================== S2. How do I compile perl on RISC/ULTRIX? The following is valid for perl 4.0, patchlevel 35. It is probably approximately correct for later versions as well. The biggest trick in compiling perl on RISC/ULTRIX is fixing its notion of "volatile". To do this, when Configure stops and asks you if you want to edit config.sh, do so. Search for the word "volatile" and change the "define" on that line to "undef". This step is reportedly not necessary for versions perl version 4.0, patchlevel 36 and later. On machines with a relatively small amount of memory, you may not want to use -O on eval.c, since the compiler can end up taking a long time to compile that file. If the source directory is NFS-mounted, it is usually the case that you will see the message io/fs..........FAILED on test 18 This is harmless and can be ignored. ============================================== S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? A version of the 4.3BSD syslog library and daemon that detects either 4.2bsd-compatible clients (which is what the Ultrix libc.a will help you create) or 4.3bsd-compatible clients, which are more flexible, is available by anonymous FTP from gatekeeper.dec.com in /pub/DEC/jtkohl-syslog.shar. Another version that supports regular expressions in syslog.conf is available from decuac.dec.com, in /pub/DEC/syslog_mjr.tar.Z ============================================== S4. How do I build gdb on RISC/ULTRIX? To build gdb, you will also need to install the GNU make. For gdb 4.0 and later: - unpack the tar file - cd <tar-root> - ./configure +subdirs decstation - cd H-decstation/T-decstation - gnumake This will build the gdb binary in <tar-root>/gdb/H-decstation/T-decstation/gdb Install this binary in the location of your choice (e.g. /usr/local/bin) ============================================== S5. Why doesn't "talk" work between DECstations and other machines? The original Berkeley talk protocol did not use network byte order, so machines with different byte order could not talk to each other. This was fixed in 4.3BSD, and in recent versions of ULTRIX. Some vendors have not fixed their software. The 4.3BSD talk software is available from many FTP archive sites. ULTRIX includes a program, "otalk", which uses the old protocol, but it only works with machines that use little-endian byte order (e.g., VAXen, DECStations, not most others). ============================================== S6. Why doesn't troff work? Digital doesn not support troff on ULTRIX, mostly because of the way AT&T licenses the software now. However, you can use groff (GNU roff) which works pretty nicely and generates pure PostScript. There's a RISC/ULTRIX binary kit for groff available for FTP from decuac.dec.com:/pub/binaries. [Marcus Ranum, m...@tis.com] ============================================== S7. How are /bin/sh and /usr/bin/sh5 related? /bin/sh on ULTRIX is the traditional Bourne shell. /usr/bin/sh5 is the newer "System V" shell and has functions and a few other odds and ends added to it. A comparison of the manual pages will give an idea of the differences. [Marcus Ranum, m...@tis.com] ============================================== S8. Why doesn't syslog work on ULTRIX 4.3? There is a bug in the distribution: /etc/syslog.pid is owned by root. It should be owned by daemon. [Alan Rollow, a...@nabeth.cxo.dec.com] ============================================== S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? DEC's LSE is part of the DECset for ULTRIX product, a set of CASE tools. GNU Emacs also has packages for several different languages. [Jean-Marc Digne, di...@prssud.enet.dec.com] ============================================== S10. How can I get a core dump of a running process on ULTRIX? Get gcore from gatekeeper.dec.com:/pub/DEC/gcore.shar. This one is known to work on ULTRIX 4.2; it should work on 4.3 as well. [Jeff Mogul, mo...@pa.dec.com] ============================================== S11. Will ULTRIX ever have shared libraries? No. Alpha OSF/1 does, however. ============================================== S12. Where can I get a "man" program that understands multiple directories? The ULTRIX man program does not understand multiple directories. Some that do are: 1. The 4.3BSD man program, available from decuac.dec.com:pub/sources/bsd-man.shar.Z. 2. man, from ftp.che.utexas.edu:/pub/unix/man-1.1.tar.Z. Not an FSF program, but distributed under the GNU GPL. 3. Tom Christiansen's PERL man program, from: convex.convex.com:pub/perl/scripts/man.shar.Z. (Requires perl) 4. For those with Tcl/Tk, try tkman, available from: ftp://harbor.ecn.purdue.edu/pub/tcl/code/tkman-1.5.tar.Z Alpha OSF/1 man understands MANPATH. [Frank Wortner, fr...@croton.nyo.dec.com] [Win Treese, tre...@crl.dec.com] [Philip J. Tait, p...@pelab.allied.com] ============================================== S13. What does "panic: km_free: bad addr" mean? It means that you need the patch for tcp_output.o, available from the Customer Support Centers. ============================================== S14. Where can I get a "vacation" program for ULTRIX? The BSD vacation program is available from ftp.uu.net:/pub/networking/bsd-net2/usr.bin/vacation. Another vacation program, written in perl, is available from convex.convex.com:/pub/perl/scripts/clones/vacation. Both of these are careful about to whom and how often they reply. DEC OSF/1 includes the BSD vacation program. [Win Treese, tre...@lcs.mit.edu] [Brian Smith, br...@magnus.acs.ohio-state.edu] ============================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? There is a bug in the ULTRIX version of named that causes it to run out of file descriptors when it does too many zone transfers. A somewhat different version of named that does not have this problem can be found in cra-bind.tar.Z. This version cannot use Kerberos for server-server authentication, as the ULTRIX version can. It does support Hesiod data and queries. It is not supported by Digital, although it is in active use on Digital's Internet machines. [Win Treese, tre...@crl.dec.com] ============================================== N2. Why don't packet-filter applications like "tcpdump" or CAP work? Probably because you have not configured the packet filter into the kernel. The default kernel configurations do NOT include the packet filter. See "man 4 packetfilter" for full details, but basically the process involves editing your kernel configuration file add "options PACKETFILTER" add "pseudo-device packetfilter" rebuilding your kernel installing the new kernel booting the new kernel "cd /dev; MAKEDEV pfilt" to create the required entries You might also want to add the following lines to /etc/rc.local: [ -f /usr/etc/pfconfig ] && { /usr/etc/pfconfig +p +c -a 2>&1 & echo -n ' pfconfig' >/dev/console } This allows you to use promiscuous-mode applications, such as "tcpdump" or "nfswatch". Note that the '-a' option to pfconfig allows any user to spy on the network. If it is omitted, only root may do so. There are also some patches for ULTRIX 4.2 and 4.2A for the packetfilter code. Call Digital's Customer Support if you need them. The official description of the patches is below; here is some background information. ULTRIX 4.3 has all of the patches included. Note: these patches cause DECnet-OSI not to work. To run DECnet-OSI on ULTRIX 4.3, you will need the latest patched version of net_common.o for 4.3. Although not mentioned in the description, these patches should also make Ultrix more forgiving of certain incorrect 802.3 packets. Such packets are sent by some 3rd-party implementations. I don't think this will fix the problem in every case, since some Digital Ethernet interfaces filter out "bad" 802.3 packets in hardware. The patches should work for DECstations and most DECsystems. Note that if you install these patches and you have been running CAP, you should recompile CAP after removing the definition for ULT42PFBUG from the Configure script. The ULT42PFBUG patch to CAP will not work once the kernel has been patched. You should also *stop* doing ifconfig ln0 copyall once you install the patches. If you have been using tcpdump, nfswatch, or a similar monitoring program on an FDDI network, installing these patches will probably make that not work. You will still be able to use tcpdump on an Ethernet, of course. The reason for this is that tcpdump only worked on FDDI networks because of the bug that is fixed by these patches. These patches are available for Ultrix 4.2 and 4.2A, and for both RISC and VAX. They must not be applied to previous versions of Ultrix. Finally, note you must install new versions of BOTH net_common.o and pfilt.o; you cannot just install one of the files. /sys/{MIPS,VAX}/BINARY/net_common.o /sys/{MIPS,VAX}/BINARY/pfilt.o ----------------------------------- (v4.2 RISC & VAX, v4.2a RISC) Listed are problem resolved by these 2 patches: 1. PACKET FILTER FAILS TO RECEIVE UNICASTS TO LOCAL HOST The packet filter mechanism is supposed to allow a user application to receive packets that are sent to the local host, if no other protocol in the kernel wants to use the packet. This worked fine in Ultrix 4.0 and 4.1, but in Ultrix 4.2 it is broken. Apparently, setting "copyall" with ifconfig is a workaround, but this is an EXTREMELY inefficient workaround, and requires users to reconfigure their systems as super-user. This is not needed in ULTRIX 4.3. 2. PACKET FILTER IOCTL EIOCDEVP RETURNS WRONG MTU VALUE A change was made to increase the size for ethernet packets from 1500 bytes to 1514 bytes which is the MAX size for the ethernet. This will allow 1500 bytes for the message and 14 bytes for the header. Also corrected the value returned in endevp.end_MTU by the EIOCDEVP ioctl. 3. 802.3/802.2 PACKETS NOT PROPERLY DELIVERED TO PACKET FILTER The packet filter is defined, in its manual page, to provide packets to user applications exactly as those packets appear on the network. The current kernel code mangles the headers of 802.2 encapsulations of Ethernet packets, causing several popular applications to fail. [Jeff Mogul, mo...@pa.dec.com] ============================================== N3. OK, I've done all that and CAP still doesn't run. [See the previous topic for information on relevant patches for ULTRIX.] There are several bugs in the Ultrix 4.2 packet filter mechanism, some of which affect CAP. These are fixed in ULTRIX 4.3. The details are complex, but you can solve one of them by doing (as super-user, probably from /etc/rc.local) /etc/ifconfig ln0 copyall (substitute whatever interface type you are using for "ln0"). The other bug, which apparently only affects CAP when "Phase 2" is in use, requires a patch to CAP. CAP patches are available from a number of archive sites, including gatekeeper.dec.com: in the directory named /pub/net/appletalk/cap/cap.patches Another problem you may have is that some Ethernet interfaces sold for the Macintosh occasionally send incorrect 802.3 packet headers. (The bug is that they send a packet whose length does not match the value provided in the 802.3 header's length field. Ultrix 4.2, as well as some of Digital's Ethernet interface hardware, is strict about checking 802.3 header, and does not accept these packets.) As of this writing, a patch is not yet available and there is no workaround. If you can, you should try to get the vendor of the nonconforming interface to provide a solution. Once you have obtained an up-to-date, fully patched copy of CAP 6.0, the Configure script does not automatically switch on the workaround code; you must manually edit the m4.setup file to turn the workaround code on. [Jeff Mogul, mo...@pa.dec.com] N3. OK, I've done all that and CAP still doesn't run. [See the previous topic for information on relevant patches for ULTRIX.] There are several bugs in the Ultrix 4.2 packet filter mechanism, some of which affect CAP. These are fixed in ULTRIX 4.3. The details are complex, but you can solve one of them by doing (as super-user, probably from /etc/rc.local) /etc/ifconfig ln0 copyall (substitute whatever interface type you are using for "ln0"). The other bug, which apparently only affects CAP when "Phase 2" is in use, requires a patch to CAP. CAP patches are available from a number of archive sites, including gatekeeper.dec.com: in the directory named /pub/net/appletalk/cap/cap.patches Another problem you may have is that some Ethernet interfaces sold for the Macintosh occasionally send incorrect 802.3 packet headers. (The bug is that they send a packet whose length does not match the value provided in the 802.3 header's length field. Ultrix 4.2, as well as some of Digital's Ethernet interface hardware, is strict about checking 802.3 header, and does not accept these packets.) As of this writing, a patch is not yet available and there is no workaround. If you can, you should try to get the vendor of the nonconforming interface to provide a solution. Once you have obtained an up-to-date, fully patched copy of CAP 6.0, the Configure script does not automatically switch on the workaround code; you must manually edit the m4.setup file to turn the workaround code on. [Jeff Mogul, mo...@pa.dec.com] ============================================== N4. I want to run the "screend" program but I get "Operation not supported on socket". By default, support for screend is not configured into the Ultrix 4.2 kernel, and the documentation for this is missing. Edit your kernel configuration file to include the line: pseudo-device gwscreen and rebuild your kernel (i.e., run /etc/config, then change to the right directory and do "make depend" and then "make"). Install the new kernel and reboot the system. [Jeff Mogul, mo...@pa.dec.com] ============================================== N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. Get a copy of NSL Network Note NN-16, "Using screend to Implement IP/TCP Security Policies". Send mail with "Subject: help" for information on how to order this, or just "Subject: send postscript nn-16" if you want to receive the PostScript file via return mail to nsl-techrepo...@pa.dec.com or ...!uunet!decwrl!nsl-techreports [Jeff Mogul, mo...@pa.dec.com] ============================================== N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? The version of SUN RPC shipped with ULTRIX V4.2 supports up to 32 groups per user, whereas previous versions supported 8 groups per user. Users that are members of more than 8 groups cannot NFS mount file systems from NFS servers using the version of SUN RPC that only supports 8 groups. The error message that nfs_mount will give you if you are in too many groups will look like this: nfs_mount: crltrx:/usr/local server not responding: RPC: Authentication error; why = Invalid client credential nfs_mount: access denied for crltrx:/usr/local The workaround is to reduce the number of groups you are a member of to eight or less to make NFS mounts work again. In particular, you should check the number of groups that "root" is in. ============================================== N7. How do I change the IP address of a diskless client? The Internet address of a diskless client is determined by the network boot block the system send as the secondary load file. This file is initially created by DMS but at the present time DMS does not have the capability to change an existing netblk. NOTE: If you attempt to change the IP address of either the client or server without modifying the netblk then your DISKLESS CLIENTS WILL NOT BOOT. The definition of the network boot block is in /usr/include/sas/mop.h and the netblk structure is shown below. struct netblk { char srvname[32]; /* server hostname (boot server)*/ unsigned long srvipadr; /* server IP address (boot server)*/ char cliname[32]; /* client hostname */ unsigned long cliipadr; /* client IP address */ unsigned long brdcst; /* broadcast address */ unsigned long netmsk; /* network mask address */ short swapfs; /* swap file system type*/ short rootfs; /* root file system type*/ short swapsz; /* swap size in 1/2 Meg units */ short dmpflg; /* dump flag 0 - disabled */ /* 1 - enabled */ char rootdesc[80]; /* root filesys descriptor */ char swapdesc[80]; /* swap file descriptor */ char reserved[20]; /* for later use */ }; In order to change the IP address of the client or of the server you will need to modify the netblk. The code for the boot block is in the file /etc/bootblk.c on the diskless client. An example of this file is: #include <sas/mop.h> struct netblk nblk={ "my_server", 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, 0, 5, 0, 0, "/dlclient0/my_client.root", "rz3b", "" }; A quick cross-reference with the mop include file will tell you which fields represent which data. To change the IP addresses you need to use the command /usr/diskless/makpkt. The format of this command is: makpkt server_IP_addr client_name client_IP_addr broadcast netmask Here is an example of using makpkt to change the network boot block parameters. For a server of address 16.128.128.4 and a client called fred of address 16.128.128.19 on a class B network you'll need to use the command: % makpkt 16.128.19.4 fred 16.128.20.19 16.128.255.255 255.255.0.0 this will produce the output: 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, You will now need to edit netblk.c and replace the line 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, with 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, The next step is to compile the new netblk. % cc -c netblk.c If you are changing the client IP address then you will also need to modify the CLIARP field in /etc/dlparam on the client. eg. CLIARP="16.182.128.61" Finally you can change the server and/or client IP address on the server and reboot. ============================================== N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? ONC RPC (formerly "Sun RPC") is not supported under ULTRIX. This means that not only may some library routines like "clnt_create" not exist, but that if they do, they may not work as expected. If you need to use RPC for an application can use the unsupported version of the RPC4.0 distribution that is available for FTP from crl.dec.com and decuac.dec.com in pub/sources/rpc4.0-ultrix.tar.Z. ONC RPC is a supported component of DEC OSF/1. ============================================== N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? Put this in rc.local: echo -n 'disabling kernel routing: ipforwarding ' >/dev/console /usr/etc/kvar -k -wl -s ipforwarding -v 0 /vmunix >/dev/console ============================================== N10. How can I run network daemons from inetd as users other than root? inetd will take a username as the fifth field. This is not documented on the inetd manual page. For example: finger stream tcp nowait nobody /usr/etc/fingerd fingerd ============================================== N11. How do I decode "stale filehandle" messages from NFS? In the message NFS server: stale file handle _fs(21,154) file 4100 21 and 154 are the major and minor device numbers. 4100 is the inode number. Running 'ls -l' on /dev will show the device numbers, so you can ask mount what directory the filesystem is mounted on. Then use find <file system> -inum <inode no> -print to find the file. [Peter Mayne, p...@chmeee.enet.dec.com] [Greg Shapiro, gshap...@monkeyboy.WPI.EDU] ============================================== N12. Where can I get IP multicast support for ULTRIX? Patches to enable IP Multicast are available from gregorio.stanford.edu:vmtp-ip. Patches are available for Ultrix 4.1 & 4.2a. Binaries are available for 4.2a. As far as is known, the patches also work on 4.3. The multicast patches break the ULTRIX packetfilter. An unsupported version of pfilt.o that works with the multicast code is in ftp://crl.dec.com/pub/DEC/multicast/pfilt.o This patch should work with 4.2, 4.2A, and 4.3, but it is not supported. [Lance Berc, b...@src.dec.com] [Win Treese, tre...@crl.dec.com] ============================================== N13. Where can I get SLIP for ULTRIX? SLIP is in the "unsupported" kit for ULTRIX 4.2 and later. It is included in DEC OSF/1. ============================================== D1. Why don't ULTRIX releases prior to V4.2A work with SCSI disks larger than 1 Gbyte? ULTRIX releases prior to V4.2A are unable to handle logical block numbers greater than (2**21 - 1). The left bit positions of block numbers greater than (2**21 - 1) are effectively ignored, causing access to wrap around to the beginning of the disk. This means that SCSI disks larger than 1 Gbyte (formatted) cannot be used (assuming 512 kbyte blocks), even if all partition sizes are less than 1 Gbyte. The earliest version of ULTRIX that can handle DEC 1.3 Gbyte RZ58 drives on DEC RISC machine is ULTRIX 4.2A. [Jeffrey C. Gealow, jgea...@mtl.mit.edu] ============================================== D2. How can I increase the number of inodes on a filesystem? "newfs -i XXX" is usually used to increase the number of inodes on a filesystem, where XXX is the desired number of bytes per filesystem. However, there is a not-well-known limit of 2048 inodes per cylinder group, and newfs doesn't tell you that if you try to ask for more. The solution is to get more cylinder groups, either by using "newfs -c XXX" to specify the number of cylinders per group or by using 4096-byte blocks and 512-byte fragments. Read the newfs manual page before trying this at home or work. [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== D3. OK, I used "newfs -i", and I didn't get more inodes? The version of the Berkeley Fast File system used by the ULTRIX Operating System has a limit of 2048 inodes per cylinder group. This limit is the constant MAXIPG in the include file /usr/include/ufs/fs.h. To change it you need to be able to recompile from sources. When newfs/mkfs runs it attempts to allocate enough inodes so that there are enough for an average file size of 2 KB. (bytes per inode = 2048). When there are enough cylinder groups this is easy. In fact, if the cylinder group is small enough, it may not get close to the MAXIPG limit. But over the years, disks have gotten bigger. They have more cylinders, more tracks and the tracks have more sectors. As a result cylinder groups are larger and it's hard to allocate enough inodes to meet the 2048 bytes per inode limit, with only MAXIPG available. Since MAXIPG is fixed the effective average file size goes up. On a News spool tree, the average file probably is around or less than 2 KB. As a result, these large cylinder disks don't have enough inodes for the typical file size, and, more importantly, you can't get more, since you're already at the MAXIPG limit. At least not easily. But there are some solutions available... Theme of solutions: Inodes are allocated on a cylinder group basis. Want more inodes, use more cylinder groups. 1. Use fewer cylinders per group, thus getting more groups. See the -c option of newfs(8). Note: On the 2nd hand advice of Gregory Neil Shapiro (gshap...@wpi.wpi.edu) there are some disks for which the -c option won't work because mkfs(8) enforces a set of cylinder group sizes that won't allow reducing the number cylinders per below the default of 16. This seems to be the case for the RZ57 and RZ58. 2. Use a different file system block and fragment size; 4K/512a instead of the usual 8K/1K. In the case of News this may work best. Since most files are small, using the smaller size may help reflect the smaller average file size. It may also waste less space in partially filled fragments. 3. Lie about the geometry. If the track length or tracks per cylinder is nice factorable number, reduce one to increase the effective number of cylinders. By playing games with the factors of the geometry you manage to keep the geometry approximately the same. For some disks this may not matter and you can invent whatever lie you want. For example; the RZ58 uses zoned based recording (banding). Depending on where you are on the disk, there will more or less sectors per track. The single geometry presented by ULTRIX is a convient lie. [Allan Rollow, a...@nabeth.cxo.dec.com] ============================================== D4. What the ^&@(%*&) is a gnode? "Gnode" means "generic inode". Like most versions of UNIX these days, ULTRIX has a virtual filesystem. This means the kernel can support different types of filesystem - like the BSD FFS, the old V7-style filesystem in System V, RFS, NFS etc. Gnodes are similar to the vnodes of the Sun filesystem switch. The message "out of gnodes" usually means "out of inodes" on the filesystem. To fix this, you can delete files or reinitialize the filesystem with newfs (after backing everything up!). The message "gnode: table is full" means that the kernel table for keeping track of open files is full. If you need to fix this, increase the maxusers parameter in your kernel configuration file and rebuild your kernel. [Jim Reid, j...@cs.strath.ac.uk] [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? DEC C++ comes with a full ANSI C compiler, which is also known as DEC C. The GNU C compiler (gcc) also runs on DECstations with ULTRIX, as well as under OSF/1 on Alpha platforms. It is available from many ftp sites. [Dan McCoy, mc...@pixar.com] [Mads Westermann, w...@dd.dk] ============================================== P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? A Modula-2 compiler for DECstations and VAXen developed at Digital's Western Research Lab is available in gatekeeper.dec.com:/pub/DEC/Modula-2. If you like Modula-2, you might be interested in Modula-3, a successor language to Modula-2 developed at Digital's Systems Research Center and the (now defunct) Olivetti Research Center. A description of the language and a portable compiler that runs on many platforms is available in gatekeeper.dec.com:/pub/DEC/Modula-3. [Richard Sharpe, sha...@adodem.enet.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== P3. Does mmap(2) work on plain files? On ULTRIX, mmap(2) only works on character special devices. [Win Treese, tre...@lcs.mit.edu] ============================================== G1. Why does the X server use so much memory? Xws and the other other DEC X servers generally grow larger with workload, not because of memory leaks. When you start an X server, its process is quite small. As applications are started, the server allocates memory for a variety of reasons to service requests from clients. An example of this is allocating a pixmap. When the resource is freed, the corresponding memory is freed back to the malloc pool, but the server image doesn't get any smaller. This is true of any application where you malloc memory and then free it. If your workload is consistent, server growth is asymptotic, growing quickly at first, then tapering off. In other words, if you exit the application that caused the server to allocate a lot of memory, the server size won't shrink when the application exits, but the server won't grow any larger if you run the same application the same way again. Of course it's possible that a memory leak in the server still exists. If you think you have a memory leak, you should figure out which application you run that triggers the leak. You should run that application several times, observing the server size with every iteration. If the server grows by an appreciable amount each time, please file an SPR. For workstations with minimal memory, we recommend that you use the following server command line arguments: -once (restart the server afresh for each session) -su (inhibit save unders) -bs (inhibit backing store) The -su and -bs flags essentially trade CPU for memory, making applications work harder in some cases to save server memory. This tradeoff isn't as bad as it may sound. [Joel Gringorten, gring...@wsl.dec.com] ============================================== G2. How can I build an X11R5 server for an ULTRIX machine? The display device drivers changed significantly between ULTRIX 4.1 and ULTRIX 4.2. To build an R5 server on ULTRIX 4.1 system, edit the the file ultrix.cf in mit/config and #define OSMinorVersion to be 1. This should cause the Xcfbpmax server to be built instead of the Xdec server. Xdec only runs on ULTRIX 4.2 and later. ============================================== G3. How do I change or get rid of the Digital logo on the login screen of my workstation? To have no logo displayed at all, add this line to /.Xdefaults: XSessionManager*displayLogo: no To replace the Digital logo with a different Encapsulated PostScript image, add the following to /.Xdefaults: XSessionManager*logoFile: filename XSessionManager*logoFullScreen: true Make sure that "filename" is the full path to a PostScript file. Note that the PostScript should not end with a "showpage" or the page will print and then disappear with the "new page." ============================================== G4. How do I run MIT X11 Software? If you are running with Ultrix 4.2 or later, you should have received some sort of distribution media with "Unsupported" subsets on it. Among those subsets are the following: UDXUNFONTS420 'Unsupported MIT Fonts' UDXUNMAN420 'Unsupported X11 Reference Pages' UDXUNMIT420 'Unsupported X11 Components' These subsets, in total, provide the fonts, manual pages, and clients from the X11 Release 4 distribution from MIT, with a few minimal changes to fix problems that cropped up after the MIT release. If all you want is R4 clients, load the above subsets. These subsets were built directly from the X Consortium sources and include all of the public patches. The R4 clients will be installed in /usr/bin/X11; put that directory in your path in order to access them. An ls on /usr/bin/X11 will also reveal the names of the applications that are available. If you have a previous version of Ultrix, or if you need X11 Release 5, you will have to build from the X Consortium sources yourself. There are some difficulties associated with building Release 4 from source on Ultrix versions 4.0 and higher; fortunately, Release 5 corrects these problems, so be sure to start with a fresh Release 5 distribution. Building from source should be a simple matter of editing the mit/config/ultrix.cf file and then connecting to the toplevel directory and typing ``Make World''. If you are running Ultrix 4.2, you don't need to edit ultrix.cf, but for other versions of Ultrix, be sure to cd to mit/config and change the OSMinorVersion (and, for versions of Ultrix prior to 4.0, the OSMajorVersion) number to the appropriate number for your version of Ultrix. As mentioned in another FAQ answer, the Xdec server provides multiscreen capability for colour frame buffers, but features of Ultrix required to support this capability are not present prior to Ultrix 4.2; for those versions, the Xcfbpmax server will be built; this server only supports one display per machine, and only DECstation 2100 and 3100 and DECstation 5000 models running with the CX adapter. The Xdec server should work on the following systems: DECstation 2100 Monochrome or Color Workstations DECstation 3100 Monochrome or Color Workstations DECstation 5000/1xx CX, MX or HX Single or Multiscreen Workstations DECstation 5000/2xx CX, MX or HX Single or Multiscreen Workstations The support for the HX option on the above platforms is limited to direct frame buffer I/O - the graphics processor present on the HX board will not be used. This means that performance with the R5 server will be substantially worse than performance with the DEC-supplied server in most cases. Support for the PX and PXG options is not present in R5 in any form. Support for the MX exists, but some problems have been reported when attempting to render non-black, non-white pixels. Source to X11 Release Five can be copied across the Internet from gatekeeper.dec.com (16.1.0.2), crl.dec.com (192.58.206.2), or export.lcs.mit.edu (18.24.0.12). Other internet archives may also have full source distributions; asking around on the Usenet newsgroup comp.windows.x will probably elicit this information. ============================================== G5. How do I build X software that I got from the net? If you get source code to an X application from somewhere and want to build it, here are a few helpful hints: First, make sure the following subsets are installed: UDXUNMIT420 UDXUNFONTS420 You may also find the man pages for the previous two subsets useful. They're in: UDXUNMAN420 Next, add the following line to the end of /usr/lib/X11/config/site.def #define StandardIncludes -I/usr/include/mit If there are any README files with the source code, now is a good time to read them, and make any changes they suggest. If you installed the MIT X11 distribution from MIT, rather than the ULTRIX subsets, your local configuration may be different. If there is an Imakefile: If the source code has a file called "Imakefile" at the top of its directory hierarchy, typing the following in that top-level directory should build the application: xmkmf make Makefiles make depend make To install the application, type make install If there isn't an Imakefile: You might have to edit the Makefile to make the application compile. If ".h" files (like those for the Athena widget set, "Xaw") are not being found, adding "-I/usr/include/mit" to the "cc" command(s) in the Makefile will usually do the trick. If you are having problems linking, try using "-lXext-mit" and "-lX11-mit" instead of "-lXext" and "-lX11" in the Makefile. ============================================== G6.**CHANGED** Why do some applications run slowly on the DECstation PX and PXG displays? The PX and PXG graphics adapters are designed for high-speed two-dimensional vector drawing and for high-speed three-dimensional rotation and polygon fills, respectively. In order to get maximum performance in these specialized areas, both kinds of adapters have their own intelligent on-board processor which do high-speed drawing operations, and in the case of the PXG, a general purpose RISC processor which does 3D rendering, scaling and rotation. In order to optimize graphics performance, a tradeoff was made on both of these boards which prevents your system CPU from directly accessing display memory. Allowing your system CPU to directly access display memory would, at a minimum, cut the graphics accelerator performance by a factor of two, and perhaps more. Unfortunately, as a result, operations which involve the copying of large images (Pixmaps) into or out of display memory are performed much more slowly than they would be if the processor were able to directly access system memory. One example of this is the ever-popular background image. The X server keeps a Pixmap containing the pattern with which to paint the root window; whenever an area of the root window is exposed, the X server must copy that portion of the Pixmap over the relatively low-performance I/O channel to the PX or PXG adapter, which then copies it into display memory. As a result, iconifying and deiconifying windows can become a fairly slow experience, particularly on systems with lower TurboChannel bandwidth. In this case, the solution is simple; just use the standard, boring background. However, if an application that you use actually needs to copy Pixmaps to the screen on a regular basis, you will definitely experience slow performance; there's no way to fix this problem. Unless you need the vector performance of the PX or the 3D rendering capabilities of the PXG, use one of the several boards DEC produces which are optimized for windowing and imaging, such as the CX (dumb colour frame buffer), MX (dumb monochrome frame buffer), HX (smart colour frame buffer), or TX (imaging colour frame buffer). [Author lost.] ============================================== G7. What can I do to improve security with X? Can I use xdm? ULTRIX 4.3 and later support the MIT-MAGIC-COOKIE-1 authorization protocol and include xdm as well. Alpha OSF/1 uses xdm by default and also supports the authorization protocol. [Bob Heiney, hei...@pa.dec.com] ============================================== H1. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? All DS5000 series machines set the memory stride from the first memory array module (this is true of the Personal DECstation and the DS5000/1xx series and not just the DS5000/2xx machines). The only supported configurations are those in which all of the memory array modules are of the same capacity. Memory array module types are: MS01-AA 1Mbit DRAM DS2100,DS3100,PDS5000/20,PDS5000/25,DS5000/120, DS5000/125,DS5000/133 MS01-CA 4Mbit DRAM PDS5000/20,PDS5000/25,DS5000/120,DS5000/125, DS5000/133 MS02-AA 1Mbit DRAM DS5000/200,DS5000/240 MS02-CA 4Mbit DRAM DS5000/200,DS5000/240 However, you can place one memory array module of a smaller capacity at the end of a series of higher capacity modules. Slot Module 0 MS02-CA 1 MS02-CA 2 MS02-AA This configuration will work, and be properly recognized by Ultrix, but it is not "supported." The console will see all of the memory modules. The operating system will be expecting memory in 32MB segments and when it hits slot 2 it will simply believe that there are 24MB of failed memory on that module. It will not be possible to support higher memory congigurations in the DS5000 series machines with 16Mbit DRAM cards. The issue is that both the physical memory address and the I/O address are provided by the same Kseg0 block (512MB) in the R3000. This will not change with the advent of the R4000 daughter cards, as it would require modification of the memory controller ASIC (the MT chip) as well. ============================================== H2. How can I find out which type of DECstation 5000 I have? If /etc/sizer -c returns: DS5000 then it's a 5000/200. DS5000_100 then it's a 5000/1xx (where xx={20,25,33}) DS5000_300 then it's a 5000/240. DSPERSONAL_DECSTATION then it's a 5000/xx. For something more specific on the 5000/1xx and 5000/xx, you need to look at the messages printed out at last boot time (available in the error log; use /etc/uerf -R -r 300). ============================================== H3. How can I run a DECstation 3100 without the display? To turn a DECstation into a DECsystem you need to: 1. Remove the graphics stuff. 2. Put a mouse loopback connector in the hole for the mouse plug. (part number currently unknown) [Alan Rollow, a...@nabeth.enet.dec.com] ============================================== M1. What is the floating-point number representation on ULTRIX? The floating point format differs depending on which architecture the ULTRIX software is running on. Digital's RISC machines all use IEEE floating point representation with a little-endian byte ordering. You can easily convert between little and big endian ordering by reversing bytes within the floating point number. The VAX line uses a unique (although, given the popularity of VAXen) quite well known floating point format. The ULTRIX C libraries include routines which will translate between RISC (IEEE) and VAX floating point formats. Look under "ftoi" in either the online or hardcopy documentation. ============================================== M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? The console emulates a dumb terminal, with no ability to address the screen. To run anything like a screen editor, you must start the window system. ============================================== M3. M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? On VMS (assuming your tape drive on VMS is MUA0:) : mount/foreign/block=10240/record=10240 mua0: copy mua0: file.tar On Ultrix: dcp -i 'vms::where$logical:file.tar' file.tar ============================================== M4. Why does ULTRIX restrict the number of users on the system? The answer to this is two-fold. The first reason is that due to Digital's contract with AT&T, Digital pays royalties to AT&T for its ULTRIX product on "bands" of user increments which match up to the capacity upgrade licenses which we sell. For every ULTRIX upgrade license sold, Digital sends a portion of that royalty payment to AT&T. Other vendors have worked other licensing arrangements with AT&T. The second reason is that Digital depends more on "personal" use of an operating system, and tries to break up the costs of providing an operating system depending on the number of users using it. Rather than charge a larger amount of money for a two-user system, Digital charges a base amount of money, then distributes the rest of the development costs across the per-user license base. Digital hopes that this gives an equitable and affordable system to all customers. [Jon "maddog" Hall, h...@zk3.dec.com] ============================================== M5. Where else can I discuss ULTRIX with other users? The decstation-managers mailing list is a rapid-turnaround vehicle for Ultrix (and maybe OSF/1 someday) administrators to reach a pool of people with similar expertise who might be able to help them resolve a problem they're having. There's no discussion on the list--just questions and summaries of responses to those questions. To join the list, send a message containing: subscribe decstation-managers to majord...@ornl.gov. To subscribe an address other than your return address, such as a local exploder, add that address to the subscribe command, e.g.: subscribe decstation-managers decstation-manag...@foo.bar [Dave Sill, d...@ornl.gov] ============================================== M6. What is the part number for an ULTRIX source code license? For educational institutions (these are not listed in the SPD): MODEL NUMBER DESCRIPTION ---------- ----------------------------- 1 QB-0JRAA-E5 Ultrix/UWS Edu Source Code 2 QB-0JRAA-EM Ultrix/UWS Edu Source Code 3 QB-0JRAE-E5 Ultrix/UWS Edu Source Code 4 QB-0JRAE-EM Ultrix/UWS Edu Source Code This is a little confusing, since the "DESCRIPTION" of all four kits is the same. As far as I know, you need to order the -0JRAA- kit the first time, and the -0JRAE- ("update") kit for subsequent releases. Probably, this is so that you don't have go through a complete set of paperwork for a new release. You have to have to meet a number of other requirements; see the Software Product Description (SPD) for more details. The -E5 kits are on TK50, and the -EM kits are on 9-track magtape. I don't believe that the source kits are available on any other medium. All 4 part numbers have the same list price (not especially expensive). I don't know if they are available outside the US. If you're not at an educational institution, here are the corresponding part numbers (these are listed in the SPD, by the way): MODEL NUMBER DESCRIPTION ---------- ----------------------------- 1 QB-0JQAA-E5 ULTRIX WS LOC.USE SOURCE TK50 2 QB-0JQAA-EM ULTRIX WS LOC.USE SOURCE 16MT 3 QB-0JQAE-E5 ULTRIX WS LOC.USE SOURCE TK50 4 QB-0JQAE-EM ULTRIX WS LOC.USE SOURCE 16MT These are more expensive. [Jeff Mogul, mo...@pa.dec.com] ============================================== M7. What is the future of ULTRIX? The phase over from DECstations running ULTRIX to Alpha AXP running DEC OSF/1 is common knowledge. Digital will continue to offer new DECstations (the R4000 DECstations just started shipping in July) and new versions of ULTRIX (4.3A just came out early this summer) to give existing customers a multi-year window to evaluate Alpha AXP technology and DEC OSF/1, and then make transition plans accordingly. Numerous migration tools and upgrade programs exist. ULTRIX V4.4 is the last version of ULTRIX with new functionality. V4.4 will be out in Q1/CY94 and will include native X11R5 support, Motif 1.2 support and numerous bug fixes. After that we stablize the product, but *not* retire it. There will be on going maintenance releases every 6-9 months mainly for bug fixes. We intend to support ULTRIX for at least the next three to five years, if not to the end of this century. [Russ Jones, rjo...@pa.dec.com]
Path: nntp.gmd.de!xlink.net!howland.reston.ans.net!cs.utexas.edu!uunet! relay.openmarket.com!OpenMarket.com!treese From: tre...@OpenMarket.com Newsgroups: comp.unix.ultrix,comp.sys.dec Subject: comp.unix.ultrix ULTRIX Frequently Asked Questions Followup-To: comp.unix.ultrix Date: 13 Sep 1994 02:09:39 GMT Organization: Open Market, Inc. Lines: 1300 Distribution: world Message-ID: <TREESE.94Sep12220939@cirocco.OpenMarket.com> NNTP-Posting-Host: cirocco.openmarket.com Summary: This posting contains a list of Frequently Asked Questions (and their answers) about the ULTRIX operating system from Digital Equipment Corporation. Archive-name: dec-faq/ultrix Last-modified: Sat Sep 10 19:11:40 EDT 1994 Version: 1.15 This is part 1 of the Frequently Asked Questions posting for comp.unix.ultrix, with answers about the ULTRIX operating system. It is also posted on comp.sys.dec, but it is not a full FAQ for comp.sys.dec. Companion postings have answers that apply to both ULTRIX and OSF/1 and answers that apply to OSF/1 alone. A separate FAQ describes how to get information about Digital products and interacting with Digital. This FAQ is available in the following archive sites, in the directory /pub/DEC/dec-faq: gatekeeper.dec.com crl.dec.com It can also be obtained by sending mail to ftpm...@pa.dec.com with the following lines: connect get /pub/DEC/dec-faq/ Many FAQs, including this one, are available on the archive site rtfm.mit.edu in the directory pub/usenet/news.answers. The name under which a FAQ is archived appears in the Archive-name line at the top of the article. This FAQ is archived in the directory dec-faq. To receive this posting by mail, send a note to ultrix-faq-requ...@crl.dec.com. If the location of a file in an archive is not specifically mentioned below, it is in /pub/DEC on the above machines. To make suggestions for changes or additions to this Frequently Asked Questions list, send mail to ultrix-...@crl.dec.com. Answers are especially appreciated. An archive of recent postings to comp.unix.ultrix can be found via anonymous FTP on ftp.cc.rochester.edu in /pub/usenet/comp.unix.ultrix. Thanks to folks at the University of Rochester for providing this service. Some general notes: When used alone, the word "DECstation" is used to mean any of the DECstations or DECsystems that use MIPS RISC processors. Similarly, "Alpha" refers to any DEC systems that use the Alpha AXP processor. Unless otherwise specified, these answers refer to ULTRIX 4.3, which is the current release of ULTRIX. Many people have contributed to this list, directly or indirectly. In some cases, an answer has been adapted from one or more postings on the comp.unix.ultrix newsgroup. Our thanks to all of those who post answers. The name (or names) at the end of an entry indicate that the information was taken from postings by those individuals; the text may have been edited for this FAQ. These citations are only given to acknowledge the contribution. Software ====================================================== S1. Why does dxpsview sometimes crash with an X error? S2. How do I compile perl on RISC/ULTRIX? S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? S4. How do I build gdb on RISC/ULTRIX? S5. Why doesn't "talk" work between DECstations and other machines? S6. Why doesn't troff work? S7. How are /bin/sh and /usr/bin/sh5 related? S8. Why doesn't syslog work on ULTRIX 4.3? S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? S10. How can I get a core dump of a running process on ULTRIX? S11. Will ULTRIX ever have shared libraries? S12. Where can I get a "man" program that understands multiple directories? S13. What does "panic: km_free: bad addr" mean? S14. Where can I get a "vacation" program for ULTRIX? Network ====================================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? N2. Why don't packet-filter applications like "tcpdump" or CAP work? N3. OK, I've done all that and CAP still doesn't run. N4. I want to run the "screend" program but I get "Operation not supported on socket". N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? N7. How do I change the IP address of a diskless client? N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? N10. How can I run network daemons from inetd as users other than root? N11. How do I decode "stale filehandle" messages from NFS? N12. Where can I get IP multicast support for ULTRIX? N13. Where can I get SLIP for ULTRIX? Disk ====================================================== D1. Why don't ULTRIX releases prior to V4.2A work with SCSI disks larger than 1 Gbyte? D2. How can I increase the number of inodes on a filesystem? D3. OK, I used "newfs -i", and I didn't get more inodes? D4. What the ^&@(%*&) is a gnode? Programming ====================================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? P3. Does mmap(2) work on plain files? Graphics ====================================================== G1. Why does the X server use so much memory? G2. How can I build an X11R5 server for an ULTRIX machine? G3. How do I change or get rid of the Digital logo on the login screen of my workstation? G4. How do I run MIT X11 Software? G5. How do I build X software that I got from the net? G6.**CHANGED** Why do some applications run slowly on the DECstation PX and PXG displays? G7. What can I do to improve security with X? Can I use xdm? Hardware ====================================================== H1. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? H2. How can I find out which type of DECstation 5000 I have? H3. How can I run a DECstation 3100 without the display? Miscellaneous ====================================================== M1. What is the floating-point number representation on ULTRIX? M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? M3. M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? M4. Why does ULTRIX restrict the number of users on the system? M5. Where else can I discuss ULTRIX with other users? M6. What is the part number for an ULTRIX source code license? M7. What is the future of ULTRIX? ============================================== S1. Why does dxpsview sometimes crash with an X error? dxpsview will often behave better if the "Watch Progress" item is selected from the Options menu. You can use the following resource in your .Xdefaults file: DPSViewer*watchProgress: on to make this the default behavior. Some reports indicate that this resource only works properly on ULTRIX 4.2A and later, however. Some have reported that disabling the use of PostScript comments also helps: DPSViewer*useComments: off ============================================== S2. How do I compile perl on RISC/ULTRIX? The following is valid for perl 4.0, patchlevel 35. It is probably approximately correct for later versions as well. The biggest trick in compiling perl on RISC/ULTRIX is fixing its notion of "volatile". To do this, when Configure stops and asks you if you want to edit config.sh, do so. Search for the word "volatile" and change the "define" on that line to "undef". This step is reportedly not necessary for versions perl version 4.0, patchlevel 36 and later. On machines with a relatively small amount of memory, you may not want to use -O on eval.c, since the compiler can end up taking a long time to compile that file. If the source directory is NFS-mounted, it is usually the case that you will see the message io/fs..........FAILED on test 18 This is harmless and can be ignored. ============================================== S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? A version of the 4.3BSD syslog library and daemon that detects either 4.2bsd-compatible clients (which is what the Ultrix libc.a will help you create) or 4.3bsd-compatible clients, which are more flexible, is available by anonymous FTP from gatekeeper.dec.com in /pub/DEC/jtkohl-syslog.shar. Another version that supports regular expressions in syslog.conf is available from decuac.dec.com, in /pub/DEC/syslog_mjr.tar.Z ============================================== S4. How do I build gdb on RISC/ULTRIX? To build gdb, you will also need to install the GNU make. For gdb 4.0 and later: - unpack the tar file - cd <tar-root> - ./configure +subdirs decstation - cd H-decstation/T-decstation - gnumake This will build the gdb binary in <tar-root>/gdb/H-decstation/T-decstation/gdb Install this binary in the location of your choice (e.g. /usr/local/bin) ============================================== S5. Why doesn't "talk" work between DECstations and other machines? The original Berkeley talk protocol did not use network byte order, so machines with different byte order could not talk to each other. This was fixed in 4.3BSD, and in recent versions of ULTRIX. Some vendors have not fixed their software. The 4.3BSD talk software is available from many FTP archive sites. ULTRIX includes a program, "otalk", which uses the old protocol, but it only works with machines that use little-endian byte order (e.g., VAXen, DECStations, not most others). ============================================== S6. Why doesn't troff work? Digital doesn not support troff on ULTRIX, mostly because of the way AT&T licenses the software now. However, you can use groff (GNU roff) which works pretty nicely and generates pure PostScript. There's a RISC/ULTRIX binary kit for groff available for FTP from decuac.dec.com:/pub/binaries. [Marcus Ranum, m...@tis.com] ============================================== S7. How are /bin/sh and /usr/bin/sh5 related? /bin/sh on ULTRIX is the traditional Bourne shell. /usr/bin/sh5 is the newer "System V" shell and has functions and a few other odds and ends added to it. A comparison of the manual pages will give an idea of the differences. [Marcus Ranum, m...@tis.com] ============================================== S8. Why doesn't syslog work on ULTRIX 4.3? There is a bug in the distribution: /etc/syslog.pid is owned by root. It should be owned by daemon. [Alan Rollow, a...@nabeth.cxo.dec.com] ============================================== S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? DEC's LSE is part of the DECset for ULTRIX product, a set of CASE tools. GNU Emacs also has packages for several different languages. [Jean-Marc Digne, di...@prssud.enet.dec.com] ============================================== S10. How can I get a core dump of a running process on ULTRIX? Get gcore from gatekeeper.dec.com:/pub/DEC/gcore.shar. This one is known to work on ULTRIX 4.2; it should work on 4.3 as well. [Jeff Mogul, mo...@pa.dec.com] ============================================== S11. Will ULTRIX ever have shared libraries? No. Alpha OSF/1 does, however. ============================================== S12. Where can I get a "man" program that understands multiple directories? The ULTRIX man program does not understand multiple directories. Some that do are: 1. The 4.3BSD man program, available from decuac.dec.com:pub/sources/bsd-man.shar.Z. 2. man, from ftp.che.utexas.edu:/pub/unix/man-1.1.tar.Z. Not an FSF program, but distributed under the GNU GPL. 3. Tom Christiansen's PERL man program, from: convex.convex.com:pub/perl/scripts/man.shar.Z. (Requires perl) 4. For those with Tcl/Tk, try tkman, available from: ftp://harbor.ecn.purdue.edu/pub/tcl/code/tkman-1.5.tar.Z Alpha OSF/1 man understands MANPATH. [Frank Wortner, fr...@croton.nyo.dec.com] [Win Treese, tre...@crl.dec.com] [Philip J. Tait, p...@pelab.allied.com] ============================================== S13. What does "panic: km_free: bad addr" mean? It means that you need the patch for tcp_output.o, available from the Customer Support Centers. ============================================== S14. Where can I get a "vacation" program for ULTRIX? The BSD vacation program is available from ftp.uu.net:/pub/networking/bsd-net2/usr.bin/vacation. Another vacation program, written in perl, is available from convex.convex.com:/pub/perl/scripts/clones/vacation. Both of these are careful about to whom and how often they reply. DEC OSF/1 includes the BSD vacation program. [Win Treese, tre...@lcs.mit.edu] [Brian Smith, br...@magnus.acs.ohio-state.edu] ============================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? There is a bug in the ULTRIX version of named that causes it to run out of file descriptors when it does too many zone transfers. A somewhat different version of named that does not have this problem can be found in cra-bind.tar.Z. This version cannot use Kerberos for server-server authentication, as the ULTRIX version can. It does support Hesiod data and queries. It is not supported by Digital, although it is in active use on Digital's Internet machines. [Win Treese, tre...@crl.dec.com] ============================================== N2. Why don't packet-filter applications like "tcpdump" or CAP work? Probably because you have not configured the packet filter into the kernel. The default kernel configurations do NOT include the packet filter. See "man 4 packetfilter" for full details, but basically the process involves editing your kernel configuration file add "options PACKETFILTER" add "pseudo-device packetfilter" rebuilding your kernel installing the new kernel booting the new kernel "cd /dev; MAKEDEV pfilt" to create the required entries You might also want to add the following lines to /etc/rc.local: [ -f /usr/etc/pfconfig ] && { /usr/etc/pfconfig +p +c -a 2>&1 & echo -n ' pfconfig' >/dev/console } This allows you to use promiscuous-mode applications, such as "tcpdump" or "nfswatch". Note that the '-a' option to pfconfig allows any user to spy on the network. If it is omitted, only root may do so. There are also some patches for ULTRIX 4.2 and 4.2A for the packetfilter code. Call Digital's Customer Support if you need them. The official description of the patches is below; here is some background information. ULTRIX 4.3 has all of the patches included. Note: these patches cause DECnet-OSI not to work. To run DECnet-OSI on ULTRIX 4.3, you will need the latest patched version of net_common.o for 4.3. Although not mentioned in the description, these patches should also make Ultrix more forgiving of certain incorrect 802.3 packets. Such packets are sent by some 3rd-party implementations. I don't think this will fix the problem in every case, since some Digital Ethernet interfaces filter out "bad" 802.3 packets in hardware. The patches should work for DECstations and most DECsystems. Note that if you install these patches and you have been running CAP, you should recompile CAP after removing the definition for ULT42PFBUG from the Configure script. The ULT42PFBUG patch to CAP will not work once the kernel has been patched. You should also *stop* doing ifconfig ln0 copyall once you install the patches. If you have been using tcpdump, nfswatch, or a similar monitoring program on an FDDI network, installing these patches will probably make that not work. You will still be able to use tcpdump on an Ethernet, of course. The reason for this is that tcpdump only worked on FDDI networks because of the bug that is fixed by these patches. These patches are available for Ultrix 4.2 and 4.2A, and for both RISC and VAX. They must not be applied to previous versions of Ultrix. Finally, note you must install new versions of BOTH net_common.o and pfilt.o; you cannot just install one of the files. /sys/{MIPS,VAX}/BINARY/net_common.o /sys/{MIPS,VAX}/BINARY/pfilt.o ----------------------------------- (v4.2 RISC & VAX, v4.2a RISC) Listed are problem resolved by these 2 patches: 1. PACKET FILTER FAILS TO RECEIVE UNICASTS TO LOCAL HOST The packet filter mechanism is supposed to allow a user application to receive packets that are sent to the local host, if no other protocol in the kernel wants to use the packet. This worked fine in Ultrix 4.0 and 4.1, but in Ultrix 4.2 it is broken. Apparently, setting "copyall" with ifconfig is a workaround, but this is an EXTREMELY inefficient workaround, and requires users to reconfigure their systems as super-user. This is not needed in ULTRIX 4.3. 2. PACKET FILTER IOCTL EIOCDEVP RETURNS WRONG MTU VALUE A change was made to increase the size for ethernet packets from 1500 bytes to 1514 bytes which is the MAX size for the ethernet. This will allow 1500 bytes for the message and 14 bytes for the header. Also corrected the value returned in endevp.end_MTU by the EIOCDEVP ioctl. 3. 802.3/802.2 PACKETS NOT PROPERLY DELIVERED TO PACKET FILTER The packet filter is defined, in its manual page, to provide packets to user applications exactly as those packets appear on the network. The current kernel code mangles the headers of 802.2 encapsulations of Ethernet packets, causing several popular applications to fail. [Jeff Mogul, mo...@pa.dec.com] ============================================== N3. OK, I've done all that and CAP still doesn't run. [See the previous topic for information on relevant patches for ULTRIX.] There are several bugs in the Ultrix 4.2 packet filter mechanism, some of which affect CAP. These are fixed in ULTRIX 4.3. The details are complex, but you can solve one of them by doing (as super-user, probably from /etc/rc.local) /etc/ifconfig ln0 copyall (substitute whatever interface type you are using for "ln0"). The other bug, which apparently only affects CAP when "Phase 2" is in use, requires a patch to CAP. CAP patches are available from a number of archive sites, including gatekeeper.dec.com: in the directory named /pub/net/appletalk/cap/cap.patches Another problem you may have is that some Ethernet interfaces sold for the Macintosh occasionally send incorrect 802.3 packet headers. (The bug is that they send a packet whose length does not match the value provided in the 802.3 header's length field. Ultrix 4.2, as well as some of Digital's Ethernet interface hardware, is strict about checking 802.3 header, and does not accept these packets.) As of this writing, a patch is not yet available and there is no workaround. If you can, you should try to get the vendor of the nonconforming interface to provide a solution. Once you have obtained an up-to-date, fully patched copy of CAP 6.0, the Configure script does not automatically switch on the workaround code; you must manually edit the m4.setup file to turn the workaround code on. [Jeff Mogul, mo...@pa.dec.com] N3. OK, I've done all that and CAP still doesn't run. [See the previous topic for information on relevant patches for ULTRIX.] There are several bugs in the Ultrix 4.2 packet filter mechanism, some of which affect CAP. These are fixed in ULTRIX 4.3. The details are complex, but you can solve one of them by doing (as super-user, probably from /etc/rc.local) /etc/ifconfig ln0 copyall (substitute whatever interface type you are using for "ln0"). The other bug, which apparently only affects CAP when "Phase 2" is in use, requires a patch to CAP. CAP patches are available from a number of archive sites, including gatekeeper.dec.com: in the directory named /pub/net/appletalk/cap/cap.patches Another problem you may have is that some Ethernet interfaces sold for the Macintosh occasionally send incorrect 802.3 packet headers. (The bug is that they send a packet whose length does not match the value provided in the 802.3 header's length field. Ultrix 4.2, as well as some of Digital's Ethernet interface hardware, is strict about checking 802.3 header, and does not accept these packets.) As of this writing, a patch is not yet available and there is no workaround. If you can, you should try to get the vendor of the nonconforming interface to provide a solution. Once you have obtained an up-to-date, fully patched copy of CAP 6.0, the Configure script does not automatically switch on the workaround code; you must manually edit the m4.setup file to turn the workaround code on. [Jeff Mogul, mo...@pa.dec.com] ============================================== N4. I want to run the "screend" program but I get "Operation not supported on socket". By default, support for screend is not configured into the Ultrix 4.2 kernel, and the documentation for this is missing. Edit your kernel configuration file to include the line: pseudo-device gwscreen and rebuild your kernel (i.e., run /etc/config, then change to the right directory and do "make depend" and then "make"). Install the new kernel and reboot the system. [Jeff Mogul, mo...@pa.dec.com] ============================================== N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. Get a copy of NSL Network Note NN-16, "Using screend to Implement IP/TCP Security Policies". Send mail with "Subject: help" for information on how to order this, or just "Subject: send postscript nn-16" if you want to receive the PostScript file via return mail to nsl-techrepo...@pa.dec.com or ...!uunet!decwrl!nsl-techreports [Jeff Mogul, mo...@pa.dec.com] ============================================== N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? The version of SUN RPC shipped with ULTRIX V4.2 supports up to 32 groups per user, whereas previous versions supported 8 groups per user. Users that are members of more than 8 groups cannot NFS mount file systems from NFS servers using the version of SUN RPC that only supports 8 groups. The error message that nfs_mount will give you if you are in too many groups will look like this: nfs_mount: crltrx:/usr/local server not responding: RPC: Authentication error; why = Invalid client credential nfs_mount: access denied for crltrx:/usr/local The workaround is to reduce the number of groups you are a member of to eight or less to make NFS mounts work again. In particular, you should check the number of groups that "root" is in. ============================================== N7. How do I change the IP address of a diskless client? The Internet address of a diskless client is determined by the network boot block the system send as the secondary load file. This file is initially created by DMS but at the present time DMS does not have the capability to change an existing netblk. NOTE: If you attempt to change the IP address of either the client or server without modifying the netblk then your DISKLESS CLIENTS WILL NOT BOOT. The definition of the network boot block is in /usr/include/sas/mop.h and the netblk structure is shown below. struct netblk { char srvname[32]; /* server hostname (boot server)*/ unsigned long srvipadr; /* server IP address (boot server)*/ char cliname[32]; /* client hostname */ unsigned long cliipadr; /* client IP address */ unsigned long brdcst; /* broadcast address */ unsigned long netmsk; /* network mask address */ short swapfs; /* swap file system type*/ short rootfs; /* root file system type*/ short swapsz; /* swap size in 1/2 Meg units */ short dmpflg; /* dump flag 0 - disabled */ /* 1 - enabled */ char rootdesc[80]; /* root filesys descriptor */ char swapdesc[80]; /* swap file descriptor */ char reserved[20]; /* for later use */ }; In order to change the IP address of the client or of the server you will need to modify the netblk. The code for the boot block is in the file /etc/bootblk.c on the diskless client. An example of this file is: #include <sas/mop.h> struct netblk nblk={ "my_server", 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, 0, 5, 0, 0, "/dlclient0/my_client.root", "rz3b", "" }; A quick cross-reference with the mop include file will tell you which fields represent which data. To change the IP addresses you need to use the command /usr/diskless/makpkt. The format of this command is: makpkt server_IP_addr client_name client_IP_addr broadcast netmask Here is an example of using makpkt to change the network boot block parameters. For a server of address 16.128.128.4 and a client called fred of address 16.128.128.19 on a class B network you'll need to use the command: % makpkt 16.128.19.4 fred 16.128.20.19 16.128.255.255 255.255.0.0 this will produce the output: 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, You will now need to edit netblk.c and replace the line 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, with 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, The next step is to compile the new netblk. % cc -c netblk.c If you are changing the client IP address then you will also need to modify the CLIARP field in /etc/dlparam on the client. eg. CLIARP="16.182.128.61" Finally you can change the server and/or client IP address on the server and reboot. ============================================== N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? ONC RPC (formerly "Sun RPC") is not supported under ULTRIX. This means that not only may some library routines like "clnt_create" not exist, but that if they do, they may not work as expected. If you need to use RPC for an application can use the unsupported version of the RPC4.0 distribution that is available for FTP from crl.dec.com and decuac.dec.com in pub/sources/rpc4.0-ultrix.tar.Z. ONC RPC is a supported component of DEC OSF/1. ============================================== N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? Put this in rc.local: echo -n 'disabling kernel routing: ipforwarding ' >/dev/console /usr/etc/kvar -k -wl -s ipforwarding -v 0 /vmunix >/dev/console ============================================== N10. How can I run network daemons from inetd as users other than root? inetd will take a username as the fifth field. This is not documented on the inetd manual page. For example: finger stream tcp nowait nobody /usr/etc/fingerd fingerd ============================================== N11. How do I decode "stale filehandle" messages from NFS? In the message NFS server: stale file handle _fs(21,154) file 4100 21 and 154 are the major and minor device numbers. 4100 is the inode number. Running 'ls -l' on /dev will show the device numbers, so you can ask mount what directory the filesystem is mounted on. Then use find <file system> -inum <inode no> -print to find the file. [Peter Mayne, p...@chmeee.enet.dec.com] [Greg Shapiro, gshap...@monkeyboy.WPI.EDU] ============================================== N12. Where can I get IP multicast support for ULTRIX? Patches to enable IP Multicast are available from gregorio.stanford.edu:vmtp-ip. Patches are available for Ultrix 4.1 & 4.2a. Binaries are available for 4.2a. As far as is known, the patches also work on 4.3. The multicast patches break the ULTRIX packetfilter. An unsupported version of pfilt.o that works with the multicast code is in ftp://crl.dec.com/pub/DEC/multicast/pfilt.o This patch should work with 4.2, 4.2A, and 4.3, but it is not supported. [Lance Berc, b...@src.dec.com] [Win Treese, tre...@crl.dec.com] ============================================== N13. Where can I get SLIP for ULTRIX? SLIP is in the "unsupported" kit for ULTRIX 4.2 and later. It is included in DEC OSF/1. ============================================== D1. Why don't ULTRIX releases prior to V4.2A work with SCSI disks larger than 1 Gbyte? ULTRIX releases prior to V4.2A are unable to handle logical block numbers greater than (2**21 - 1). The left bit positions of block numbers greater than (2**21 - 1) are effectively ignored, causing access to wrap around to the beginning of the disk. This means that SCSI disks larger than 1 Gbyte (formatted) cannot be used (assuming 512 kbyte blocks), even if all partition sizes are less than 1 Gbyte. The earliest version of ULTRIX that can handle DEC 1.3 Gbyte RZ58 drives on DEC RISC machine is ULTRIX 4.2A. [Jeffrey C. Gealow, jgea...@mtl.mit.edu] ============================================== D2. How can I increase the number of inodes on a filesystem? "newfs -i XXX" is usually used to increase the number of inodes on a filesystem, where XXX is the desired number of bytes per filesystem. However, there is a not-well-known limit of 2048 inodes per cylinder group, and newfs doesn't tell you that if you try to ask for more. The solution is to get more cylinder groups, either by using "newfs -c XXX" to specify the number of cylinders per group or by using 4096-byte blocks and 512-byte fragments. Read the newfs manual page before trying this at home or work. [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== D3. OK, I used "newfs -i", and I didn't get more inodes? The version of the Berkeley Fast File system used by the ULTRIX Operating System has a limit of 2048 inodes per cylinder group. This limit is the constant MAXIPG in the include file /usr/include/ufs/fs.h. To change it you need to be able to recompile from sources. When newfs/mkfs runs it attempts to allocate enough inodes so that there are enough for an average file size of 2 KB. (bytes per inode = 2048). When there are enough cylinder groups this is easy. In fact, if the cylinder group is small enough, it may not get close to the MAXIPG limit. But over the years, disks have gotten bigger. They have more cylinders, more tracks and the tracks have more sectors. As a result cylinder groups are larger and it's hard to allocate enough inodes to meet the 2048 bytes per inode limit, with only MAXIPG available. Since MAXIPG is fixed the effective average file size goes up. On a News spool tree, the average file probably is around or less than 2 KB. As a result, these large cylinder disks don't have enough inodes for the typical file size, and, more importantly, you can't get more, since you're already at the MAXIPG limit. At least not easily. But there are some solutions available... Theme of solutions: Inodes are allocated on a cylinder group basis. Want more inodes, use more cylinder groups. 1. Use fewer cylinders per group, thus getting more groups. See the -c option of newfs(8). Note: On the 2nd hand advice of Gregory Neil Shapiro (gshap...@wpi.wpi.edu) there are some disks for which the -c option won't work because mkfs(8) enforces a set of cylinder group sizes that won't allow reducing the number cylinders per below the default of 16. This seems to be the case for the RZ57 and RZ58. 2. Use a different file system block and fragment size; 4K/512a instead of the usual 8K/1K. In the case of News this may work best. Since most files are small, using the smaller size may help reflect the smaller average file size. It may also waste less space in partially filled fragments. 3. Lie about the geometry. If the track length or tracks per cylinder is nice factorable number, reduce one to increase the effective number of cylinders. By playing games with the factors of the geometry you manage to keep the geometry approximately the same. For some disks this may not matter and you can invent whatever lie you want. For example; the RZ58 uses zoned based recording (banding). Depending on where you are on the disk, there will more or less sectors per track. The single geometry presented by ULTRIX is a convient lie. [Allan Rollow, a...@nabeth.cxo.dec.com] ============================================== D4. What the ^&@(%*&) is a gnode? "Gnode" means "generic inode". Like most versions of UNIX these days, ULTRIX has a virtual filesystem. This means the kernel can support different types of filesystem - like the BSD FFS, the old V7-style filesystem in System V, RFS, NFS etc. Gnodes are similar to the vnodes of the Sun filesystem switch. The message "out of gnodes" usually means "out of inodes" on the filesystem. To fix this, you can delete files or reinitialize the filesystem with newfs (after backing everything up!). The message "gnode: table is full" means that the kernel table for keeping track of open files is full. If you need to fix this, increase the maxusers parameter in your kernel configuration file and rebuild your kernel. [Jim Reid, j...@cs.strath.ac.uk] [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? DEC C++ comes with a full ANSI C compiler, which is also known as DEC C. The GNU C compiler (gcc) also runs on DECstations with ULTRIX, as well as under OSF/1 on Alpha platforms. It is available from many ftp sites. [Dan McCoy, mc...@pixar.com] [Mads Westermann, w...@dd.dk] ============================================== P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? A Modula-2 compiler for DECstations and VAXen developed at Digital's Western Research Lab is available in gatekeeper.dec.com:/pub/DEC/Modula-2. If you like Modula-2, you might be interested in Modula-3, a successor language to Modula-2 developed at Digital's Systems Research Center and the (now defunct) Olivetti Research Center. A description of the language and a portable compiler that runs on many platforms is available in gatekeeper.dec.com:/pub/DEC/Modula-3. [Richard Sharpe, sha...@adodem.enet.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== P3. Does mmap(2) work on plain files? On ULTRIX, mmap(2) only works on character special devices. [Win Treese, tre...@lcs.mit.edu] ============================================== G1. Why does the X server use so much memory? Xws and the other other DEC X servers generally grow larger with workload, not because of memory leaks. When you start an X server, its process is quite small. As applications are started, the server allocates memory for a variety of reasons to service requests from clients. An example of this is allocating a pixmap. When the resource is freed, the corresponding memory is freed back to the malloc pool, but the server image doesn't get any smaller. This is true of any application where you malloc memory and then free it. If your workload is consistent, server growth is asymptotic, growing quickly at first, then tapering off. In other words, if you exit the application that caused the server to allocate a lot of memory, the server size won't shrink when the application exits, but the server won't grow any larger if you run the same application the same way again. Of course it's possible that a memory leak in the server still exists. If you think you have a memory leak, you should figure out which application you run that triggers the leak. You should run that application several times, observing the server size with every iteration. If the server grows by an appreciable amount each time, please file an SPR. For workstations with minimal memory, we recommend that you use the following server command line arguments: -once (restart the server afresh for each session) -su (inhibit save unders) -bs (inhibit backing store) The -su and -bs flags essentially trade CPU for memory, making applications work harder in some cases to save server memory. This tradeoff isn't as bad as it may sound. [Joel Gringorten, gring...@wsl.dec.com] ============================================== G2. How can I build an X11R5 server for an ULTRIX machine? The display device drivers changed significantly between ULTRIX 4.1 and ULTRIX 4.2. To build an R5 server on ULTRIX 4.1 system, edit the the file ultrix.cf in mit/config and #define OSMinorVersion to be 1. This should cause the Xcfbpmax server to be built instead of the Xdec server. Xdec only runs on ULTRIX 4.2 and later. ============================================== G3. How do I change or get rid of the Digital logo on the login screen of my workstation? To have no logo displayed at all, add this line to /.Xdefaults: XSessionManager*displayLogo: no To replace the Digital logo with a different Encapsulated PostScript image, add the following to /.Xdefaults: XSessionManager*logoFile: filename XSessionManager*logoFullScreen: true Make sure that "filename" is the full path to a PostScript file. Note that the PostScript should not end with a "showpage" or the page will print and then disappear with the "new page." ============================================== G4. How do I run MIT X11 Software? If you are running with Ultrix 4.2 or later, you should have received some sort of distribution media with "Unsupported" subsets on it. Among those subsets are the following: UDXUNFONTS420 'Unsupported MIT Fonts' UDXUNMAN420 'Unsupported X11 Reference Pages' UDXUNMIT420 'Unsupported X11 Components' These subsets, in total, provide the fonts, manual pages, and clients from the X11 Release 4 distribution from MIT, with a few minimal changes to fix problems that cropped up after the MIT release. If all you want is R4 clients, load the above subsets. These subsets were built directly from the X Consortium sources and include all of the public patches. The R4 clients will be installed in /usr/bin/X11; put that directory in your path in order to access them. An ls on /usr/bin/X11 will also reveal the names of the applications that are available. If you have a previous version of Ultrix, or if you need X11 Release 5, you will have to build from the X Consortium sources yourself. There are some difficulties associated with building Release 4 from source on Ultrix versions 4.0 and higher; fortunately, Release 5 corrects these problems, so be sure to start with a fresh Release 5 distribution. Building from source should be a simple matter of editing the mit/config/ultrix.cf file and then connecting to the toplevel directory and typing ``Make World''. If you are running Ultrix 4.2, you don't need to edit ultrix.cf, but for other versions of Ultrix, be sure to cd to mit/config and change the OSMinorVersion (and, for versions of Ultrix prior to 4.0, the OSMajorVersion) number to the appropriate number for your version of Ultrix. As mentioned in another FAQ answer, the Xdec server provides multiscreen capability for colour frame buffers, but features of Ultrix required to support this capability are not present prior to Ultrix 4.2; for those versions, the Xcfbpmax server will be built; this server only supports one display per machine, and only DECstation 2100 and 3100 and DECstation 5000 models running with the CX adapter. The Xdec server should work on the following systems: DECstation 2100 Monochrome or Color Workstations DECstation 3100 Monochrome or Color Workstations DECstation 5000/1xx CX, MX or HX Single or Multiscreen Workstations DECstation 5000/2xx CX, MX or HX Single or Multiscreen Workstations The support for the HX option on the above platforms is limited to direct frame buffer I/O - the graphics processor present on the HX board will not be used. This means that performance with the R5 server will be substantially worse than performance with the DEC-supplied server in most cases. Support for the PX and PXG options is not present in R5 in any form. Support for the MX exists, but some problems have been reported when attempting to render non-black, non-white pixels. Source to X11 Release Five can be copied across the Internet from gatekeeper.dec.com (16.1.0.2), crl.dec.com (192.58.206.2), or export.lcs.mit.edu (18.24.0.12). Other internet archives may also have full source distributions; asking around on the Usenet newsgroup comp.windows.x will probably elicit this information. ============================================== G5. How do I build X software that I got from the net? If you get source code to an X application from somewhere and want to build it, here are a few helpful hints: First, make sure the following subsets are installed: UDXUNMIT420 UDXUNFONTS420 You may also find the man pages for the previous two subsets useful. They're in: UDXUNMAN420 Next, add the following line to the end of /usr/lib/X11/config/site.def #define StandardIncludes -I/usr/include/mit If there are any README files with the source code, now is a good time to read them, and make any changes they suggest. If you installed the MIT X11 distribution from MIT, rather than the ULTRIX subsets, your local configuration may be different. If there is an Imakefile: If the source code has a file called "Imakefile" at the top of its directory hierarchy, typing the following in that top-level directory should build the application: xmkmf make Makefiles make depend make To install the application, type make install If there isn't an Imakefile: You might have to edit the Makefile to make the application compile. If ".h" files (like those for the Athena widget set, "Xaw") are not being found, adding "-I/usr/include/mit" to the "cc" command(s) in the Makefile will usually do the trick. If you are having problems linking, try using "-lXext-mit" and "-lX11-mit" instead of "-lXext" and "-lX11" in the Makefile. ============================================== G6.**CHANGED** Why do some applications run slowly on the DECstation PX and PXG displays? The PX and PXG graphics adapters are designed for high-speed two-dimensional vector drawing and for high-speed three-dimensional rotation and polygon fills, respectively. In order to get maximum performance in these specialized areas, both kinds of adapters have their own intelligent on-board processor which do high-speed drawing operations, and in the case of the PXG, a general purpose RISC processor which does 3D rendering, scaling and rotation. In order to optimize graphics performance, a tradeoff was made on both of these boards which prevents your system CPU from directly accessing display memory. Allowing your system CPU to directly access display memory would, at a minimum, cut the graphics accelerator performance by a factor of two, and perhaps more. Unfortunately, as a result, operations which involve the copying of large images (Pixmaps) into or out of display memory are performed much more slowly than they would be if the processor were able to directly access system memory. One example of this is the ever-popular background image. The X server keeps a Pixmap containing the pattern with which to paint the root window; whenever an area of the root window is exposed, the X server must copy that portion of the Pixmap over the relatively low-performance I/O channel to the PX or PXG adapter, which then copies it into display memory. As a result, iconifying and deiconifying windows can become a fairly slow experience, particularly on systems with lower TurboChannel bandwidth. In this case, the solution is simple; just use the standard, boring background. However, if an application that you use actually needs to copy Pixmaps to the screen on a regular basis, you will definitely experience slow performance; there's no way to fix this problem. Unless you need the vector performance of the PX or the 3D rendering capabilities of the PXG, use one of the several boards DEC produces which are optimized for windowing and imaging, such as the CX (dumb colour frame buffer), MX (dumb monochrome frame buffer), HX (smart colour frame buffer), or TX (imaging colour frame buffer). [Author lost.] ============================================== G7. What can I do to improve security with X? Can I use xdm? ULTRIX 4.3 and later support the MIT-MAGIC-COOKIE-1 authorization protocol and include xdm as well. Alpha OSF/1 uses xdm by default and also supports the authorization protocol. [Bob Heiney, hei...@pa.dec.com] ============================================== H1. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? All DS5000 series machines set the memory stride from the first memory array module (this is true of the Personal DECstation and the DS5000/1xx series and not just the DS5000/2xx machines). The only supported configurations are those in which all of the memory array modules are of the same capacity. Memory array module types are: MS01-AA 1Mbit DRAM DS2100,DS3100,PDS5000/20,PDS5000/25,DS5000/120, DS5000/125,DS5000/133 MS01-CA 4Mbit DRAM PDS5000/20,PDS5000/25,DS5000/120,DS5000/125, DS5000/133 MS02-AA 1Mbit DRAM DS5000/200,DS5000/240 MS02-CA 4Mbit DRAM DS5000/200,DS5000/240 However, you can place one memory array module of a smaller capacity at the end of a series of higher capacity modules. Slot Module 0 MS02-CA 1 MS02-CA 2 MS02-AA This configuration will work, and be properly recognized by Ultrix, but it is not "supported." The console will see all of the memory modules. The operating system will be expecting memory in 32MB segments and when it hits slot 2 it will simply believe that there are 24MB of failed memory on that module. It will not be possible to support higher memory congigurations in the DS5000 series machines with 16Mbit DRAM cards. The issue is that both the physical memory address and the I/O address are provided by the same Kseg0 block (512MB) in the R3000. This will not change with the advent of the R4000 daughter cards, as it would require modification of the memory controller ASIC (the MT chip) as well. ============================================== H2. How can I find out which type of DECstation 5000 I have? If /etc/sizer -c returns: DS5000 then it's a 5000/200. DS5000_100 then it's a 5000/1xx (where xx={20,25,33}) DS5000_300 then it's a 5000/240. DSPERSONAL_DECSTATION then it's a 5000/xx. For something more specific on the 5000/1xx and 5000/xx, you need to look at the messages printed out at last boot time (available in the error log; use /etc/uerf -R -r 300). ============================================== H3. How can I run a DECstation 3100 without the display? To turn a DECstation into a DECsystem you need to: 1. Remove the graphics stuff. 2. Put a mouse loopback connector in the hole for the mouse plug. (part number currently unknown) [Alan Rollow, a...@nabeth.enet.dec.com] ============================================== M1. What is the floating-point number representation on ULTRIX? The floating point format differs depending on which architecture the ULTRIX software is running on. Digital's RISC machines all use IEEE floating point representation with a little-endian byte ordering. You can easily convert between little and big endian ordering by reversing bytes within the floating point number. The VAX line uses a unique (although, given the popularity of VAXen) quite well known floating point format. The ULTRIX C libraries include routines which will translate between RISC (IEEE) and VAX floating point formats. Look under "ftoi" in either the online or hardcopy documentation. ============================================== M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? The console emulates a dumb terminal, with no ability to address the screen. To run anything like a screen editor, you must start the window system. ============================================== M3. M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? On VMS (assuming your tape drive on VMS is MUA0:) : mount/foreign/block=10240/record=10240 mua0: copy mua0: file.tar On Ultrix: dcp -i 'vms::where$logical:file.tar' file.tar ============================================== M4. Why does ULTRIX restrict the number of users on the system? The answer to this is two-fold. The first reason is that due to Digital's contract with AT&T, Digital pays royalties to AT&T for its ULTRIX product on "bands" of user increments which match up to the capacity upgrade licenses which we sell. For every ULTRIX upgrade license sold, Digital sends a portion of that royalty payment to AT&T. Other vendors have worked other licensing arrangements with AT&T. The second reason is that Digital depends more on "personal" use of an operating system, and tries to break up the costs of providing an operating system depending on the number of users using it. Rather than charge a larger amount of money for a two-user system, Digital charges a base amount of money, then distributes the rest of the development costs across the per-user license base. Digital hopes that this gives an equitable and affordable system to all customers. [Jon "maddog" Hall, h...@zk3.dec.com] ============================================== M5. Where else can I discuss ULTRIX with other users? The decstation-managers mailing list is a rapid-turnaround vehicle for Ultrix (and maybe OSF/1 someday) administrators to reach a pool of people with similar expertise who might be able to help them resolve a problem they're having. There's no discussion on the list--just questions and summaries of responses to those questions. To join the list, send a message containing: subscribe decstation-managers to majord...@ornl.gov. To subscribe an address other than your return address, such as a local exploder, add that address to the subscribe command, e.g.: subscribe decstation-managers decstation-manag...@foo.bar [Dave Sill, d...@ornl.gov] ============================================== M6. What is the part number for an ULTRIX source code license? For educational institutions (these are not listed in the SPD): MODEL NUMBER DESCRIPTION ---------- ----------------------------- 1 QB-0JRAA-E5 Ultrix/UWS Edu Source Code 2 QB-0JRAA-EM Ultrix/UWS Edu Source Code 3 QB-0JRAE-E5 Ultrix/UWS Edu Source Code 4 QB-0JRAE-EM Ultrix/UWS Edu Source Code This is a little confusing, since the "DESCRIPTION" of all four kits is the same. As far as I know, you need to order the -0JRAA- kit the first time, and the -0JRAE- ("update") kit for subsequent releases. Probably, this is so that you don't have go through a complete set of paperwork for a new release. You have to have to meet a number of other requirements; see the Software Product Description (SPD) for more details. The -E5 kits are on TK50, and the -EM kits are on 9-track magtape. I don't believe that the source kits are available on any other medium. All 4 part numbers have the same list price (not especially expensive). I don't know if they are available outside the US. If you're not at an educational institution, here are the corresponding part numbers (these are listed in the SPD, by the way): MODEL NUMBER DESCRIPTION ---------- ----------------------------- 1 QB-0JQAA-E5 ULTRIX WS LOC.USE SOURCE TK50 2 QB-0JQAA-EM ULTRIX WS LOC.USE SOURCE 16MT 3 QB-0JQAE-E5 ULTRIX WS LOC.USE SOURCE TK50 4 QB-0JQAE-EM ULTRIX WS LOC.USE SOURCE 16MT These are more expensive. [Jeff Mogul, mo...@pa.dec.com] ============================================== M7. What is the future of ULTRIX? The phase over from DECstations running ULTRIX to Alpha AXP running DEC OSF/1 is common knowledge. Digital will continue to offer new DECstations (the R4000 DECstations just started shipping in July) and new versions of ULTRIX (4.3A just came out early this summer) to give existing customers a multi-year window to evaluate Alpha AXP technology and DEC OSF/1, and then make transition plans accordingly. Numerous migration tools and upgrade programs exist. ULTRIX V4.4 is the last version of ULTRIX with new functionality. V4.4 will be out in Q1/CY94 and will include native X11R5 support, Motif 1.2 support and numerous bug fixes. After that we stablize the product, but *not* retire it. There will be on going maintenance releases every 6-9 months mainly for bug fixes. We intend to support ULTRIX for at least the next three to five years, if not to the end of this century. [Russ Jones, rjo...@pa.dec.com]
From: lio...@quark.enet.dec.com (Steve Lionel) Subject: ULTRIX Frequently Asked Questions (FAQ) Date: 1995/09/29 Message-ID: <44hl8t$55h@zk2nws.zko.dec.com> X-Deja-AN: 110976495 expires: Tue, 31 October 1995 00:00:00 GMT distribution: world approved: news-answers-requ...@MIT.EDU supersedes: <41apeu$...@nntpd.lkg.dec.com> followup-to: poster summary: This posting contains a list of Frequently Asked Questions organization: Digital Equipment Corporation, Nashua NH reply-to: lio...@quark.enet.dec.com (Steve Lionel) newsgroups: comp.unix.ultrix,comp.sys.dec,news.answers,comp.answers Archive-name: dec-faq/ultrix Posting-Frequency: monthly Last-modified: June 22, 1995 Editor's Note ============ The former "common" and "osf1" FAQs have been merged into a new Digital-UNIX FAQ. Some pieces of the old "common" FAQ will get merged back into this FAQ, but I haven't done that yet. Other pieces, now in the "Digital-UNIX" FAQ, will still be of interest to ULTRIX users so you may want to peruse it anyway. Changes since last edition ========================== None. Overview ======== This is the Frequently Asked Questions (FAQ) list for Digital's RISC ULTRIX operating system and the hardware on which it runs. Some additional information relevant to RISC ULTRIX users may also be found in the Digital-UNIX FAQ which is available in the same archive locations. This FAQ is archived in the following locations: comp.answers and news.answers newsgroups ftp://ftp.digital.com/pub/Digital/dec-faq/ultrix ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/ultrix http://www.smartpages.com/faqs/dec-faq/ultrix/faq.html CompuServe VAXFORUM, Library 9, ULTRXFAQ.TXT The archive name for this FAQ is dec-faq/ultrix Many FAQs, including this one, are available on the archive site rtfm.mit.edu in the directory pub/usenet/news.answers. The name under which a FAQ is archived appears in the Archive-name line at the top of the article. This FAQ is archived in the directory dec-faq. To make suggestions for changes or additions to this Frequently Asked Questions list, send mail to lio...@quark.enet.dec.com. Answers are especially appreciated. An archive of recent postings to comp.unix.ultrix can be found at ftp://ftp.cc.rochester.edu/pub/usenet/comp.unix.ultrix Thanks to folks at the University of Rochester for providing this service. Some general notes: When used alone, the word "DECstation" is used to mean any of the DECstations or DECsystems that use MIPS RISC processors. Similarly, "Alpha" refers to any DEC systems that use the Alpha AXP processor. Unless otherwise specified, these answers refer to ULTRIX 4.3, which is the current release of ULTRIX. World-Wide Web Universal Resource Locator (URL) notation is used for FTP addresses. Many people have contributed to this list, directly or indirectly. In some cases, an answer has been adapted from one or more postings on the comp.unix.ultrix newsgroup. Our thanks to all of those who post answers. The name (or names) at the end of an entry indicate that the information was taken from postings by those individuals; the text may have been edited for this FAQ. These citations are only given to acknowledge the contribution. Although the editor of this FAQ is an employee of Digital Equipment Corporation, this posting is not an official statement from Digital Equipment Corporation. AlphaGeneration, AlphaServer, AlphaStation, Alpha AXP, AXP, DEC, DECstation, DECsystem, OpenVMS, ULTRIX, VAX and VMS are trademarks of Digital Equipment Corporation. OSF/1 is a registered trademark of the Open Software Foundation. UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Ltd. Other names are properties of their respective owners. Software ====================================================== S1. Why does dxpsview sometimes crash with an X error? S2. How do I compile perl on RISC/ULTRIX? S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? S4. How do I build gdb on RISC/ULTRIX? S5. Why doesn't "talk" work between DECstations and other machines? S6. Why doesn't troff work? S7. How are /bin/sh and /usr/bin/sh5 related? S8. Why doesn't syslog work on ULTRIX 4.3? S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? S10. How can I get a core dump of a running process on ULTRIX? S11. Does ULTRIX have shared libraries? S12. Where can I get a "man" program that understands multiple directories? S13. What does "panic: km_free: bad addr" mean? S14. Where can I get a "vacation" program for ULTRIX? S15. Where can I get Netscape for ULTRIX? Network ====================================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? N2. Why don't packet-filter applications like "tcpdump" or CAP work? N3. OK, I've done all that and CAP still doesn't run. N4. I want to run the "screend" program but I get "Operation not supported on socket". N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? N7. How do I change the IP address of a diskless client? N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? N10. How can I run network daemons from inetd as users other than root? N11. How do I decode "stale filehandle" messages from NFS? N12. Where can I get IP multicast support for ULTRIX? N13. Where can I get SLIP for ULTRIX? Disk ====================================================== D1. Why don't ULTRIX releases prior to V4.2A work with SCSI disks larger than 1 Gbyte? D2. How can I increase the number of inodes on a filesystem? D3. OK, I used "newfs -i", and I didn't get more inodes? D4. What the ^&@(%*&) is a gnode? Programming ====================================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? P3. Does mmap(2) work on plain files? Graphics ====================================================== G1. Why does the X server use so much memory? G2. How can I build an X11R5 server for an ULTRIX machine? G3. How do I change or get rid of the Digital logo on the login screen of my workstation? G4. How do I run MIT X11 Software? G5. How do I build X software that I got from the net? G6. Why do some applications run slowly on the DECstation PX and PXG displays? G7. What can I do to improve security with X? Can I use xdm? Hardware ====================================================== H1. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? H2. How can I find out which type of DECstation 5000 I have? H3. How can I run a DECstation 3100 without the display? Miscellaneous ====================================================== M1. What is the floating-point number representation on ULTRIX? M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? M3. M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? M4. Why does ULTRIX restrict the number of users on the system? M5. Where else can I discuss ULTRIX with other users? M6. What is the part number for an ULTRIX source code license? M7. What is the future of ULTRIX? ============================================== S1. Why does dxpsview sometimes crash with an X error? dxpsview will often behave better if the "Watch Progress" item is selected from the Options menu. You can use the following resource in your Xdefaults file: DPSViewer*watchProgress: on to make this the default behavior. Some reports indicate that this resource only works properly on ULTRIX 4.2A and later, however. Some have reported that disabling the use of PostScript comments also helps: DPSViewer*useComments: off ============================================== S2. How do I compile perl on RISC/ULTRIX? The following is valid for perl 4.0, patchlevel 35. It is probably approximately correct for later versions as well. The biggest trick in compiling perl on RISC/ULTRIX is fixing its notion of "volatile". To do this, when Configure stops and asks you if you want to edit config.sh, do so. Search for the word "volatile" and change the "define" on that line to "undef". This step is reportedly not necessary for versions perl version 4.0, patchlevel 36 and later. On machines with a relatively small amount of memory, you may not want to use -O on eval.c, since the compiler can end up taking a long time to compile that file. If the source directory is NFS-mounted, it is usually the case that you will see the message io/fs..........FAILED on test 18 This is harmless and can be ignored. ============================================== S3. Is it possible to run the newer 4.3 BSD syslogd on ULTRIX? A version of the 4.3BSD syslog library and daemon that detects either 4.2bsd-compatible clients (which is what the Ultrix libc.a will help you create) or 4.3bsd-compatible clients, which are more flexible, is available at ftp://ftp.digital.com/pub/DEC/jtkohl-syslog.shar Another version that supports regular expressions in syslog.conf is available from ftp://decuac.dec.com/pub/DEC/syslog_mjr.tar.Z A version integrated with Net2 code and which builds under Ultrix 4.x is available at: ftp://ftp.cic.net/pub/Software/unix/ultrix-net2-syslogd.tar.gz [Paul Southworth, pa...@cic.net] ============================================== S4. How do I build gdb on RISC/ULTRIX? To build gdb, you will also need to install the GNU make. For gdb 4.0 and later: - unpack the tar file - cd <tar-root> - ./configure +subdirs decstation - cd H-decstation/T-decstation - gnumake This will build the gdb binary in <tar-root>/gdb/H-decstation/T-decstation/gdb Install this binary in the location of your choice (e.g. /usr/local/bin) ============================================== S5. Why doesn't "talk" work between DECstations and other machines? The original Berkeley talk protocol did not use network byte order, so machines with different byte order could not talk to each other. This was fixed in 4.3BSD, and in recent versions of ULTRIX. Some vendors have not fixed their software. The 4.3BSD talk software is available from many FTP archive sites. ULTRIX includes a program, "otalk", which uses the old protocol, but it only works with machines that use little-endian byte order (e.g., VAXen, DECStations, not most others). ============================================== S6. Why doesn't troff work? Digital does not support troff on ULTRIX, mostly because of the way AT&T licenses the software now. However, you can use groff (GNU roff) which works pretty nicely and generates pure PostScript. There's a RISC/ULTRIX binary kit for groff available from ftp://decuac.dec.com/pub/binaries [Marcus Ranum, m...@tis.com] ============================================== S7. How are /bin/sh and /usr/bin/sh5 related? /bin/sh on ULTRIX is the traditional Bourne shell. /usr/bin/sh5 is the newer "System V" shell and has functions and a few other odds and ends added to it. A comparison of the manual pages will give an idea of the differences. [Marcus Ranum, m...@tis.com] ============================================== S8. Why doesn't syslog work on ULTRIX 4.3? There is a bug in the distribution: /etc/syslog.pid is owned by root. It should be owned by daemon. [Alan Rollow, a...@nabeth.cxo.dec.com] ============================================== S9. Is there an LSE (Language-Sensitive Editor) for ULTRIX? Digital's LSE for RISC ULTRIX is no longer available. GNU Emacs also has packages for several different languages. [Jean-Marc Digne, di...@prssud.enet.dec.com] ============================================== S10. How can I get a core dump of a running process on ULTRIX? Get gcore from ftp://ftp.digital.com/pub/DEC/gcore.shar This one is known to work on ULTRIX 4.2; it should work on 4.3 as well. [Jeff Mogul, mo...@pa.dec.com] ============================================== S11. Does ULTRIX have shared libraries? Shared libraries are not currently available for ULTRIX. Digital UNIX does have shared libraries. ============================================== S12. Where can I get a "man" program that understands multiple directories? The ULTRIX man program does not understand multiple directories. Some that do are: 1. The 4.3BSD man program, available from ftp://decuac.dec.com/pub/sources/bsd-man.shar.Z 2. man, from ftp://ftp.che.utexas.edu/pub/unix/man-1.1.tar.gz Not an FSF program, but distributed under the GNU GPL. 3. Tom Christiansen's PERL man program, from: ftp://convex.convex.com/pub/perl/scripts/man.shar.Z (Requires perl) 4. For those with Tcl/Tk, try tkman, available from: ftp://ftp.cs.berkeley.edu/ucb/people/phelps/tcltk/tkman.tar.Z Alpha OSF/1 man understands MANPATH. [Frank Wortner, fr...@croton.nyo.dec.com] [Win Treese, tre...@crl.dec.com] [Philip J. Tait, p...@pelab.allied.com] [Tom Phelps, phe...@ecstasy.cs.berkeley.edu] ============================================== S13. What does "panic: km_free: bad addr" mean? It means that you need the patch for tcp_output.o, available from the Customer Support Centers. ============================================== S14. Where can I get a "vacation" program for ULTRIX? The BSD vacation program is available from ftp://ftp.uu.net/pub/networking/bsd-net2/usr.bin/vacation Another vacation program, written in perl, is available from ftp://convex.convex.com/pub/perl/scripts/clones/vacation Both of these are careful about to whom and how often they reply. DEC OSF/1 includes the BSD vacation program. [Win Treese, tre...@crl.dec.com] [Brian Smith, br...@magnus.acs.ohio-state.edu] ============================================== S15. Where can I get Netscape for ULTRIX? Sorry, you can't. Netscape Communications has not released a version for ULTRIX. ============================================== N1. What does the message "named: accept: Too many open files" in syslog mean, and how can I fix it? There is a bug in the ULTRIX version of named that causes it to run out of file descriptors when it does too many zone transfers. A somewhat different version of named called cra-bind that does not have this problem. This version cannot use Kerberos for server-server authentication, as the ULTRIX version can. It does support Hesiod data and queries. It is not supported by Digital, although it is in active use on Digital's Internet machines. cra-bind has been superseded by the public release of BIND 4.9. BIND 4.9 can be obtained from ftp://ftp.digital.com/pub/BSD/bind/4.9 [Win Treese, tre...@crl.dec.com] ============================================== N2. Why don't packet-filter applications like "tcpdump" or CAP work? Probably because you have not configured the packet filter into the kernel. The default kernel configurations do NOT include the packet filter. See "man 4 packetfilter" for full details, but basically the process involves editing your kernel configuration file add "options PACKETFILTER" add "pseudo-device packetfilter" rebuilding your kernel installing the new kernel booting the new kernel "cd /dev; MAKEDEV pfilt" to create the required entries You might also want to add the following lines to /etc/rc.local: [ -f /usr/etc/pfconfig ] && { /usr/etc/pfconfig +p +c -a 2>&1 & echo -n ' pfconfig' >/dev/console } This allows you to use promiscuous-mode applications, such as "tcpdump" or "nfswatch". Note that the '-a' option to pfconfig allows any user to spy on the network. If it is omitted, only root may do so. There are also some patches for ULTRIX 4.2 and 4.2A for the packetfilter code. Call Digital's Customer Support if you need them. The official description of the patches is below; here is some background information. ULTRIX 4.3 has all of the patches included. Note: these patches cause DECnet-OSI not to work. To run DECnet-OSI on ULTRIX 4.3, you will need the latest patched version of net_common.o for 4.3. Although not mentioned in the description, these patches should also make Ultrix more forgiving of certain incorrect 802.3 packets. Such packets are sent by some 3rd-party implementations. I don't think this will fix the problem in every case, since some Digital Ethernet interfaces filter out "bad" 802.3 packets in hardware. The patches should work for DECstations and most DECsystems. Note that if you install these patches and you have been running CAP, you should recompile CAP after removing the definition for ULT42PFBUG from the Configure script. The ULT42PFBUG patch to CAP will not work once the kernel has been patched. You should also *stop* doing ifconfig ln0 copyall once you install the patches. If you have been using tcpdump, nfswatch, or a similar monitoring program on an FDDI network, installing these patches will probably make that not work. You will still be able to use tcpdump on an Ethernet, of course. The reason for this is that tcpdump only worked on FDDI networks because of the bug that is fixed by these patches. These patches are available for Ultrix 4.2 and 4.2A, and for both RISC and VAX. They must not be applied to previous versions of Ultrix. Finally, note you must install new versions of BOTH net_common.o and pfilt.o; you cannot just install one of the files. /sys/{MIPS,VAX}/BINARY/net_common.o /sys/{MIPS,VAX}/BINARY/pfilt.o ----------------------------------- (v4.2 RISC & VAX, v4.2a RISC) Listed are problem resolved by these 2 patches: 1. PACKET FILTER FAILS TO RECEIVE UNICASTS TO LOCAL HOST The packet filter mechanism is supposed to allow a user application to receive packets that are sent to the local host, if no other protocol in the kernel wants to use the packet. This worked fine in Ultrix 4.0 and 4.1, but in Ultrix 4.2 it is broken. Apparently, setting "copyall" with ifconfig is a workaround, but this is an EXTREMELY inefficient workaround, and requires users to reconfigure their systems as super-user. This is not needed in ULTRIX 4.3. 2. PACKET FILTER IOCTL EIOCDEVP RETURNS WRONG MTU VALUE A change was made to increase the size for ethernet packets from 1500 bytes to 1514 bytes which is the MAX size for the ethernet. This will allow 1500 bytes for the message and 14 bytes for the header. Also corrected the value returned in endevp.end_MTU by the EIOCDEVP ioctl. 3. 802.3/802.2 PACKETS NOT PROPERLY DELIVERED TO PACKET FILTER The packet filter is defined, in its manual page, to provide packets to user applications exactly as those packets appear on the network. The current kernel code mangles the headers of 802.2 encapsulations of Ethernet packets, causing several popular applications to fail. [Jeff Mogul, mo...@pa.dec.com] ============================================== N3. OK, I've done all that and CAP still doesn't run. [See the previous topic for information on relevant patches for ULTRIX.] There are several bugs in the Ultrix 4.2 packet filter mechanism, some of which affect CAP. These are fixed in ULTRIX 4.3. The details are complex, but you can solve one of them by doing (as super-user, probably from /etc/rc.local) /etc/ifconfig ln0 copyall (substitute whatever interface type you are using for "ln0"). The other bug, which apparently only affects CAP when "Phase 2" is in use, requires a patch to CAP. CAP patches are available from a number of archive sites, including gatekeeper.dec.com: in the directory named /pub/net/appletalk/cap/cap.patches Another problem you may have is that some Ethernet interfaces sold for the Macintosh occasionally send incorrect 802.3 packet headers. (The bug is that they send a packet whose length does not match the value provided in the 802.3 header's length field. Ultrix 4.2, as well as some of Digital's Ethernet interface hardware, is strict about checking 802.3 header, and does not accept these packets.) As of this writing, a patch is not yet available and there is no workaround. If you can, you should try to get the vendor of the nonconforming interface to provide a solution. Once you have obtained an up-to-date, fully patched copy of CAP 6.0, the Configure script does not automatically switch on the workaround code; you must manually edit the m4.setup file to turn the workaround code on. [Jeff Mogul, mo...@pa.dec.com] N3. OK, I've done all that and CAP still doesn't run. [See the previous topic for information on relevant patches for ULTRIX.] There are several bugs in the Ultrix 4.2 packet filter mechanism, some of which affect CAP. These are fixed in ULTRIX 4.3. The details are complex, but you can solve one of them by doing (as super-user, probably from /etc/rc.local) /etc/ifconfig ln0 copyall (substitute whatever interface type you are using for "ln0"). The other bug, which apparently only affects CAP when "Phase 2" is in use, requires a patch to CAP. CAP patches are available from a number of archive sites, including gatekeeper.dec.com: in the directory named /pub/net/appletalk/cap/cap.patches Another problem you may have is that some Ethernet interfaces sold for the Macintosh occasionally send incorrect 802.3 packet headers. (The bug is that they send a packet whose length does not match the value provided in the 802.3 header's length field. Ultrix 4.2, as well as some of Digital's Ethernet interface hardware, is strict about checking 802.3 header, and does not accept these packets.) As of this writing, a patch is not yet available and there is no workaround. If you can, you should try to get the vendor of the nonconforming interface to provide a solution. Once you have obtained an up-to-date, fully patched copy of CAP 6.0, the Configure script does not automatically switch on the workaround code; you must manually edit the m4.setup file to turn the workaround code on. [Jeff Mogul, mo...@pa.dec.com] ============================================== N4. I want to run the "screend" program but I get "Operation not supported on socket". By default, support for screend is not configured into the Ultrix 4.2 kernel, and the documentation for this is missing. Edit your kernel configuration file to include the line: pseudo-device gwscreen and rebuild your kernel (i.e., run /etc/config, then change to the right directory and do "make depend" and then "make"). Install the new kernel and reboot the system. [Jeff Mogul, mo...@pa.dec.com] ============================================== N5. I want to use screend but I'm not sure how to set up the /etc/screend.conf configuration file. Get a copy of NSL Network Note NN-16, "Using screend to Implement IP/TCP Security Policies". Send mail with "Subject: help" for information on how to order this, or just "Subject: send postscript nn-16" if you want to receive the PostScript file via return mail to nsl-techrepo...@pa.dec.com or ...!uunet!decwrl!nsl-techreports [Jeff Mogul, mo...@pa.dec.com] ============================================== N6. Why can't ULTRIX 4.2 mount NFS filesystems that could be mounted with ULTRIX 4.1? The version of SUN RPC shipped with ULTRIX V4.2 supports up to 32 groups per user, whereas previous versions supported 8 groups per user. Users that are members of more than 8 groups cannot NFS mount file systems from NFS servers using the version of SUN RPC that only supports 8 groups. The error message that nfs_mount will give you if you are in too many groups will look like this: nfs_mount: crltrx:/usr/local server not responding: RPC: Authentication error; why = Invalid client credential nfs_mount: access denied for crltrx:/usr/local The workaround is to reduce the number of groups you are a member of to eight or less to make NFS mounts work again. In particular, you should check the number of groups that "root" is in. ============================================== N7. How do I change the IP address of a diskless client? The Internet address of a diskless client is determined by the network boot block the system send as the secondary load file. This file is initially created by DMS but at the present time DMS does not have the capability to change an existing netblk. NOTE: If you attempt to change the IP address of either the client or server without modifying the netblk then your DISKLESS CLIENTS WILL NOT BOOT. The definition of the network boot block is in /usr/include/sas/mop.h and the netblk structure is shown below. struct netblk { char srvname[32]; /* server hostname (boot server)*/ unsigned long srvipadr; /* server IP address (boot server)*/ char cliname[32]; /* client hostname */ unsigned long cliipadr; /* client IP address */ unsigned long brdcst; /* broadcast address */ unsigned long netmsk; /* network mask address */ short swapfs; /* swap file system type*/ short rootfs; /* root file system type*/ short swapsz; /* swap size in 1/2 Meg units */ short dmpflg; /* dump flag 0 - disabled */ /* 1 - enabled */ char rootdesc[80]; /* root filesys descriptor */ char swapdesc[80]; /* swap file descriptor */ char reserved[20]; /* for later use */ }; In order to change the IP address of the client or of the server you will need to modify the netblk. The code for the boot block is in the file /etc/bootblk.c on the diskless client. An example of this file is: #include <sas/mop.h> struct netblk nblk={ "my_server", 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, 0, 5, 0, 0, "/dlclient0/my_client.root", "rz3b", "" }; A quick cross-reference with the mop include file will tell you which fields represent which data. To change the IP addresses you need to use the command /usr/diskless/makpkt. The format of this command is: makpkt server_IP_addr client_name client_IP_addr broadcast netmask Here is an example of using makpkt to change the network boot block parameters. For a server of address 16.128.128.4 and a client called fred of address 16.128.128.19 on a class B network you'll need to use the command: % makpkt 16.128.19.4 fred 16.128.20.19 16.128.255.255 255.255.0.0 this will produce the output: 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, You will now need to edit netblk.c and replace the line 0x10b38001, "my_client", 0x10b3803e, 0x10b380ff, 0xffffff00, with 0x10801304, "fred", 0x10801413, 0x1080ffff, 0xffff0000, The next step is to compile the new netblk. % cc -c netblk.c If you are changing the client IP address then you will also need to modify the CLIARP field in /etc/dlparam on the client. eg. CLIARP="16.182.128.61" Finally you can change the server and/or client IP address on the server and reboot. ============================================== N8. Is ONC RPC (formerly "Sun RPC") supported under ULTRIX - and what should I do to port my existing applications that rely on it? ONC RPC (formerly "Sun RPC") is not supported under ULTRIX. This means that not only may some library routines like "clnt_create" not exist, but that if they do, they may not work as expected. If you need to use RPC for an application can use the unsupported version of the RPC4.0 distribution that is available at ftp://decuac.dec.com/pub/sources/rpc4.0-ultrix.tar.Z ONC RPC is a supported component of DEC OSF/1. ============================================== N9. How can I disable forwarding of IP packets on an ULTRIX system with two network interfaces? Put this in rc.local: echo -n 'disabling kernel routing: ipforwarding ' >/dev/console /usr/etc/kvar -k -wl -s ipforwarding -v 0 /vmunix >/dev/console ============================================== N10. How can I run network daemons from inetd as users other than root? inetd will take a username as the fifth field. This is not documented on the inetd manual page. For example: finger stream tcp nowait nobody /usr/etc/fingerd fingerd ============================================== N11. How do I decode "stale filehandle" messages from NFS? In the message NFS server: stale file handle _fs(21,154) file 4100 21 and 154 are the major and minor device numbers. 4100 is the inode number. Running 'ls -l' on /dev will show the device numbers, so you can ask mount what directory the filesystem is mounted on. Then use find <file system> -inum <inode no> -print to find the file. [Peter Mayne, p...@chmeee.enet.dec.com] [Greg Shapiro, gshap...@monkeyboy.WPI.EDU] ============================================== N12. Where can I get IP multicast support for ULTRIX? Patches to enable IP Multicast are available from ftp://gregorio.stanford.edu/vmtp-ip/ Patches are available for Ultrix 4.1 & 4.2a. Binaries are available for 4.2a. As far as is known, the patches also work on 4.3. The multicast patches break the ULTRIX packetfilter. An unsupported version of pfilt.o that works with the multicast code is in ftp://crl.dec.com/pub/DEC/multicast/pfilt.o This patch should work with 4.2, 4.2A, and 4.3, but it is not supported. [Lance Berc, b...@src.dec.com] [Win Treese, tre...@crl.dec.com] ============================================== N13. Where can I get SLIP for ULTRIX? SLIP is in the "unsupported" kit for ULTRIX 4.2 and later. It is included in DEC OSF/1. ============================================== D1. Why don't ULTRIX releases prior to V4.2A work with SCSI disks larger than 1 Gbyte? ULTRIX releases prior to V4.2A are unable to handle logical block numbers greater than (2**21 - 1). The left bit positions of block numbers greater than (2**21 - 1) are effectively ignored, causing access to wrap around to the beginning of the disk. This means that SCSI disks larger than 1 Gbyte (formatted) cannot be used (assuming 512 kbyte blocks), even if all partition sizes are less than 1 Gbyte. The earliest version of ULTRIX that can handle DEC 1.3 Gbyte RZ58 drives on DEC RISC machine is ULTRIX 4.2A. [Jeffrey C. Gealow, jgea...@mtl.mit.edu] ============================================== D2. How can I increase the number of inodes on a filesystem? "newfs -i XXX" is usually used to increase the number of inodes on a filesystem, where XXX is the desired number of bytes per filesystem. However, there is a not-well-known limit of 2048 inodes per cylinder group, and newfs doesn't tell you that if you try to ask for more. The solution is to get more cylinder groups, either by using "newfs -c XXX" to specify the number of cylinders per group or by using 4096-byte blocks and 512-byte fragments. Read the newfs manual page before trying this at home or work. [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== D3. OK, I used "newfs -i", and I didn't get more inodes? The version of the Berkeley Fast File system used by the ULTRIX Operating System has a limit of 2048 inodes per cylinder group. This limit is the constant MAXIPG in the include file /usr/include/ufs/fs.h. To change it you need to be able to recompile from sources. When newfs/mkfs runs it attempts to allocate enough inodes so that there are enough for an average file size of 2 KB. (bytes per inode = 2048). When there are enough cylinder groups this is easy. In fact, if the cylinder group is small enough, it may not get close to the MAXIPG limit. But over the years, disks have gotten bigger. They have more cylinders, more tracks and the tracks have more sectors. As a result cylinder groups are larger and it's hard to allocate enough inodes to meet the 2048 bytes per inode limit, with only MAXIPG available. Since MAXIPG is fixed the effective average file size goes up. On a News spool tree, the average file probably is around or less than 2 KB. As a result, these large cylinder disks don't have enough inodes for the typical file size, and, more importantly, you can't get more, since you're already at the MAXIPG limit. At least not easily. But there are some solutions available... Theme of solutions: Inodes are allocated on a cylinder group basis. Want more inodes, use more cylinder groups. 1. Use fewer cylinders per group, thus getting more groups. See the -c option of newfs(8). Note: On the 2nd hand advice of Gregory Neil Shapiro (gshap...@wpi.wpi.edu) there are some disks for which the -c option won't work because mkfs(8) enforces a set of cylinder group sizes that won't allow reducing the number cylinders per below the default of 16. This seems to be the case for the RZ57 and RZ58. 2. Use a different file system block and fragment size; 4K/512a instead of the usual 8K/1K. In the case of News this may work best. Since most files are small, using the smaller size may help reflect the smaller average file size. It may also waste less space in partially filled fragments. 3. Lie about the geometry. If the track length or tracks per cylinder is nice factorable number, reduce one to increase the effective number of cylinders. By playing games with the factors of the geometry you manage to keep the geometry approximately the same. For some disks this may not matter and you can invent whatever lie you want. For example; the RZ58 uses zoned based recording (banding). Depending on where you are on the disk, there will more or less sectors per track. The single geometry presented by ULTRIX is a convient lie. [Allan Rollow, a...@nabeth.cxo.dec.com] ============================================== D4. What the ^&@(%*&) is a gnode? "Gnode" means "generic inode". Like most versions of UNIX these days, ULTRIX has a virtual filesystem. This means the kernel can support different types of filesystem - like the BSD FFS, the old V7-style filesystem in System V, RFS, NFS etc. Gnodes are similar to the vnodes of the Sun filesystem switch. The message "out of gnodes" usually means "out of inodes" on the filesystem. To fix this, you can delete files or reinitialize the filesystem with newfs (after backing everything up!). The message "gnode: table is full" means that the kernel table for keeping track of open files is full. If you need to fix this, increase the maxusers parameter in your kernel configuration file and rebuild your kernel. [Jim Reid, j...@cs.strath.ac.uk] [Alan Rollow, a...@nabeth.cxo.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== P1. Where can I get an ANSI C compiler for DECstations running ULTRIX? DEC C++ comes with a full ANSI C compiler, which is also known as DEC C. The GNU C compiler (gcc) also runs on DECstations with ULTRIX, as well as under OSF/1 on Alpha platforms. It is available from many ftp sites. [Dan McCoy, mc...@pixar.com] [Mads Westermann, w...@dd.dk] ============================================== P2. Where can I get a Modula-2 (or Modula-3) compiler for ULTRIX? A Modula-2 compiler for DECstations and VAXen developed at Digital's Western Research Lab is available in gatekeeper.dec.com:/pub/DEC/Modula-2. If you like Modula-2, you might be interested in Modula-3, a successor language to Modula-2 developed at Digital's Systems Research Center and the (now defunct) Olivetti Research Center. A description of the language and a portable compiler that runs on many platforms is available in ftp://ftp.digital.com/pub/DEC/Modula-3 [Richard Sharpe, sha...@adodem.enet.dec.com] [Win Treese, tre...@lcs.mit.edu] ============================================== P3. Does mmap(2) work on plain files? On ULTRIX, mmap(2) only works on character special devices. [Win Treese, tre...@lcs.mit.edu] ============================================== G1. Why does the X server use so much memory? Xws and the other other DEC X servers generally grow larger with workload, not because of memory leaks. When you start an X server, its process is quite small. As applications are started, the server allocates memory for a variety of reasons to service requests from clients. An example of this is allocating a pixmap. When the resource is freed, the corresponding memory is freed back to the malloc pool, but the server image doesn't get any smaller. This is true of any application where you malloc memory and then free it. If your workload is consistent, server growth is asymptotic, growing quickly at first, then tapering off. In other words, if you exit the application that caused the server to allocate a lot of memory, the server size won't shrink when the application exits, but the server won't grow any larger if you run the same application the same way again. Of course it's possible that a memory leak in the server still exists. If you think you have a memory leak, you should figure out which application you run that triggers the leak. You should run that application several times, observing the server size with every iteration. If the server grows by an appreciable amount each time, please file an SPR. For workstations with minimal memory, we recommend that you use the following server command line arguments: -once (restart the server afresh for each session) -su (inhibit save unders) -bs (inhibit backing store) The -su and -bs flags essentially trade CPU for memory, making applications work harder in some cases to save server memory. This tradeoff isn't as bad as it may sound. [Joel Gringorten, gring...@wsl.dec.com] ============================================== G2. How can I build an X11R5 server for an ULTRIX machine? The display device drivers changed significantly between ULTRIX 4.1 and ULTRIX 4.2. To build an R5 server on ULTRIX 4.1 system, edit the the file ultrix.cf in mit/config and #define OSMinorVersion to be 1. This should cause the Xcfbpmax server to be built instead of the Xdec server. Xdec only runs on ULTRIX 4.2 and later. ============================================== G3. How do I change or get rid of the Digital logo on the login screen of my workstation? To have no logo displayed at all, add this line to /.Xdefaults: XSessionManager*displayLogo: no To replace the Digital logo with a different Encapsulated PostScript image, add the following to /.Xdefaults: XSessionManager*logoFile: filename XSessionManager*logoFullScreen: true Make sure that "filename" is the full path to a PostScript file. Note that the PostScript should not end with a "showpage" or the page will print and then disappear with the "new page." ============================================== G4. How do I run MIT X11 Software? If you are running with Ultrix 4.2 or later, you should have received some sort of distribution media with "Unsupported" subsets on it. Among those subsets are the following: UDXUNFONTS420 'Unsupported MIT Fonts' UDXUNMAN420 'Unsupported X11 Reference Pages' UDXUNMIT420 'Unsupported X11 Components' These subsets, in total, provide the fonts, manual pages, and clients from the X11 Release 4 distribution from MIT, with a few minimal changes to fix problems that cropped up after the MIT release. If all you want is R4 clients, load the above subsets. These subsets were built directly from the X Consortium sources and include all of the public patches. The R4 clients will be installed in /usr/bin/X11; put that directory in your path in order to access them. An ls on /usr/bin/X11 will also reveal the names of the applications that are available. If you have a previous version of Ultrix, or if you need X11 Release 5, you will have to build from the X Consortium sources yourself. There are some difficulties associated with building Release 4 from source on Ultrix versions 4.0 and higher; fortunately, Release 5 corrects these problems, so be sure to start with a fresh Release 5 distribution. Building from source should be a simple matter of editing the mit/config/ultrix.cf file and then connecting to the toplevel directory and typing ``Make World''. If you are running Ultrix 4.2, you don't need to edit ultrix.cf, but for other versions of Ultrix, be sure to cd to mit/config and change the OSMinorVersion (and, for versions of Ultrix prior to 4.0, the OSMajorVersion) number to the appropriate number for your version of Ultrix. As mentioned in another FAQ answer, the Xdec server provides multiscreen capability for colour frame buffers, but features of Ultrix required to support this capability are not present prior to Ultrix 4.2; for those versions, the Xcfbpmax server will be built; this server only supports one display per machine, and only DECstation 2100 and 3100 and DECstation 5000 models running with the CX adapter. The Xdec server should work on the following systems: DECstation 2100 Monochrome or Color Workstations DECstation 3100 Monochrome or Color Workstations DECstation 5000/1xx CX, MX or HX Single or Multiscreen Workstations DECstation 5000/2xx CX, MX or HX Single or Multiscreen Workstations The support for the HX option on the above platforms is limited to direct frame buffer I/O - the graphics processor present on the HX board will not be used. This means that performance with the R5 server will be substantially worse than performance with the DEC-supplied server in most cases. Support for the PX and PXG options is not present in R5 in any form. Support for the MX exists, but some problems have been reported when attempting to render non-black, non-white pixels. Source to X11 Release Five can be copied across the Internet from ftp.digital.com (16.1.0.2), crl.dec.com (192.58.206.2), or export.lcs.mit.edu (18.24.0.12). Other internet archives may also have full source distributions; asking around on the Usenet newsgroup comp.windows.x will probably elicit this information. ============================================== G5. How do I build X software that I got from the net? If you get source code to an X application from somewhere and want to build it, here are a few helpful hints: First, make sure the following subsets are installed: UDXUNMIT420 UDXUNFONTS420 You may also find the man pages for the previous two subsets useful. They're in: UDXUNMAN420 Next, add the following line to the end of /usr/lib/X11/config/site.def #define StandardIncludes -I/usr/include/mit If there are any README files with the source code, now is a good time to read them, and make any changes they suggest. If you installed the MIT X11 distribution from MIT, rather than the ULTRIX subsets, your local configuration may be different. If there is an Imakefile: If the source code has a file called "Imakefile" at the top of its directory hierarchy, typing the following in that top-level directory should build the application: xmkmf make Makefiles make depend make To install the application, type make install If there isn't an Imakefile: You might have to edit the Makefile to make the application compile. If ".h" files (like those for the Athena widget set, "Xaw") are not being found, adding "-I/usr/include/mit" to the "cc" command(s) in the Makefile will usually do the trick. If you are having problems linking, try using "-lXext-mit" and "-lX11-mit" instead of "-lXext" and "-lX11" in the Makefile. ============================================== G6. Why do some applications run slowly on the DECstation PX and PXG displays? The PX and PXG graphics adapters are designed for high-speed two-dimensional vector drawing and for high-speed three-dimensional rotation and polygon fills, respectively. In order to get maximum performance in these specialized areas, both kinds of adapters have their own intelligent on-board processor which do high-speed drawing operations, and in the case of the PXG, a general purpose RISC processor which does 3D rendering, scaling and rotation. In order to optimize graphics performance, a tradeoff was made on both of these boards which prevents your system CPU from directly accessing display memory. Allowing your system CPU to directly access display memory would, at a minimum, cut the graphics accelerator performance by a factor of two, and perhaps more. Unfortunately, as a result, operations which involve the copying of large images (Pixmaps) into or out of display memory are performed much more slowly than they would be if the processor were able to directly access system memory. One example of this is the ever-popular background image. The X server keeps a Pixmap containing the pattern with which to paint the root window; whenever an area of the root window is exposed, the X server must copy that portion of the Pixmap over the relatively low-performance I/O channel to the PX or PXG adapter, which then copies it into display memory. As a result, iconifying and deiconifying windows can become a fairly slow experience, particularly on systems with lower TurboChannel bandwidth. In this case, the solution is simple; just use the standard, boring background. However, if an application that you use actually needs to copy Pixmaps to the screen on a regular basis, you will definitely experience slow performance; there's no way to fix this problem. Unless you need the vector performance of the PX or the 3D rendering capabilities of the PXG, use one of the several boards DEC produces which are optimized for windowing and imaging, such as the CX (dumb colour frame buffer), MX (dumb monochrome frame buffer), HX (smart colour frame buffer), or TX (imaging colour frame buffer). [Author lost.] ============================================== G7. What can I do to improve security with X? Can I use xdm? ULTRIX 4.3 and later support the MIT-MAGIC-COOKIE-1 authorization protocol and include xdm as well. Alpha OSF/1 uses xdm by default and also supports the authorization protocol. [Bob Heiney, hei...@pa.dec.com] ============================================== H1. Can I mix 8-Megabyte and 32-Megabyte boards in the DECstation 5000/xxx family? All DS5000 series machines set the memory stride from the first memory array module (this is true of the Personal DECstation and the DS5000/1xx series and not just the DS5000/2xx machines). The only supported configurations are those in which all of the memory array modules are of the same capacity. Memory array module types are: MS01-AA 1Mbit DRAM DS2100,DS3100,PDS5000/20,PDS5000/25,DS5000/120, DS5000/125,DS5000/133 MS01-CA 4Mbit DRAM PDS5000/20,PDS5000/25,DS5000/120,DS5000/125, DS5000/133 MS02-AA 1Mbit DRAM DS5000/200,DS5000/240 MS02-CA 4Mbit DRAM DS5000/200,DS5000/240 However, you can place one memory array module of a smaller capacity at the end of a series of higher capacity modules. Slot Module 0 MS02-CA 1 MS02-CA 2 MS02-AA This configuration will work, and be properly recognized by Ultrix, but it is not "supported." The console will see all of the memory modules. The operating system will be expecting memory in 32MB segments and when it hits slot 2 it will simply believe that there are 24MB of failed memory on that module. It will not be possible to support higher memory congigurations in the DS5000 series machines with 16Mbit DRAM cards. The issue is that both the physical memory address and the I/O address are provided by the same Kseg0 block (512MB) in the R3000. This will not change with the advent of the R4000 daughter cards, as it would require modification of the memory controller ASIC (the MT chip) as well. ============================================== H2. How can I find out which type of DECstation 5000 I have? If /etc/sizer -c returns: DS5000 then it's a 5000/200. DS5000_100 then it's a 5000/1xx (where xx={20,25,33}) DS5000_300 then it's a 5000/240. DSPERSONAL_DECSTATION then it's a 5000/xx. For something more specific on the 5000/1xx and 5000/xx, you need to look at the messages printed out at last boot time (available in the error log; use /etc/uerf -R -r 300). ============================================== H3. How can I run a DECstation 3100 without the display? To turn a DECstation into a DECsystem you need to: 1. Remove the graphics stuff. 2. Put a mouse loopback connector in the hole for the mouse plug. (part number currently unknown) [Alan Rollow, a...@nabeth.enet.dec.com] ============================================== M1. What is the floating-point number representation on ULTRIX? The floating point format differs depending on which architecture the ULTRIX software is running on. Digital's RISC machines all use IEEE floating point representation with a little-endian byte ordering. You can easily convert between little and big endian ordering by reversing bytes within the floating point number. The VAX line uses a unique (although, given the popularity of VAXen) quite well known floating point format. The ULTRIX C libraries include routines which will translate between RISC (IEEE) and VAX floating point formats. Look under "ftoi" in either the online or hardcopy documentation. ============================================== M2. If the console is a graphics device, can it be used as a terminal for full-screen applications? The console emulates a dumb terminal, with no ability to address the screen. To run anything like a screen editor, you must start the window system. ============================================== M3. M3. How do I read a tar image from a TK50 tape if my only TK50 is on a VMS machine? On VMS (assuming your tape drive on VMS is MUA0:) : mount/foreign/block=10240/record=10240 mua0: copy mua0: file.tar On Ultrix: dcp -i 'vms::where$logical:file.tar' file.tar ============================================== M4. Why does ULTRIX restrict the number of users on the system? The answer to this is two-fold. The first reason is that due to Digital's contract with AT&T, Digital pays royalties to AT&T for its ULTRIX product on "bands" of user increments which match up to the capacity upgrade licenses which we sell. For every ULTRIX upgrade license sold, Digital sends a portion of that royalty payment to AT&T. Other vendors have worked other licensing arrangements with AT&T. The second reason is that Digital depends more on "personal" use of an operating system, and tries to break up the costs of providing an operating system depending on the number of users using it. Rather than charge a larger amount of money for a two-user system, Digital charges a base amount of money, then distributes the rest of the development costs across the per-user license base. Digital hopes that this gives an equitable and affordable system to all customers. [Jon "maddog" Hall, h...@zk3.dec.com] ============================================== M5. Where else can I discuss ULTRIX with other users? The decstation-managers mailing list is a rapid-turnaround vehicle for Ultrix (and maybe OSF/1 someday) administrators to reach a pool of people with similar expertise who might be able to help them resolve a problem they're having. There's no discussion on the list--just questions and summaries of responses to those questions. To join the list, send a message containing: subscribe decstation-managers to majord...@ornl.gov. To subscribe an address other than your return address, such as a local exploder, add that address to the subscribe command, e.g.: subscribe decstation-managers decstation-manag...@foo.bar [Dave Sill, d...@ornl.gov] ============================================== M6. What is the part number for an ULTRIX source code license? For educational institutions (these are not listed in the SPD): MODEL NUMBER DESCRIPTION ---------- ----------------------------- 1 QB-0JRAA-E5 Ultrix/UWS Edu Source Code 2 QB-0JRAA-EM Ultrix/UWS Edu Source Code 3 QB-0JRAE-E5 Ultrix/UWS Edu Source Code 4 QB-0JRAE-EM Ultrix/UWS Edu Source Code This is a little confusing, since the "DESCRIPTION" of all four kits is the same. As far as I know, you need to order the -0JRAA- kit the first time, and the -0JRAE- ("update") kit for subsequent releases. Probably, this is so that you don't have go through a complete set of paperwork for a new release. You have to have to meet a number of other requirements; see the Software Product Description (SPD) for more details. The -E5 kits are on TK50, and the -EM kits are on 9-track magtape. I don't believe that the source kits are available on any other medium. All 4 part numbers have the same list price (not especially expensive). I don't know if they are available outside the US. If you're not at an educational institution, here are the corresponding part numbers (these are listed in the SPD, by the way): MODEL NUMBER DESCRIPTION ---------- ----------------------------- 1 QB-0JQAA-E5 ULTRIX WS LOC.USE SOURCE TK50 2 QB-0JQAA-EM ULTRIX WS LOC.USE SOURCE 16MT 3 QB-0JQAE-E5 ULTRIX WS LOC.USE SOURCE TK50 4 QB-0JQAE-EM ULTRIX WS LOC.USE SOURCE 16MT These are more expensive. [Jeff Mogul, mo...@pa.dec.com] ============================================== M7. What is the future of ULTRIX? The phase over from DECstations running ULTRIX to Alpha AXP running DEC OSF/1 is common knowledge. Digital will continue to offer new DECstations (the R4000 DECstations just started shipping in July) and new versions of ULTRIX (4.3A just came out early this summer) to give existing customers a multi-year window to evaluate Alpha AXP technology and DEC OSF/1, and then make transition plans accordingly. Numerous migration tools and upgrade programs exist. ULTRIX V4.4 is the last version of ULTRIX with new functionality. V4.4 will be out in Q1/CY94 and will include native X11R5 support, Motif 1.2 support and numerous bug fixes. After that we stablize the product, but *not* retire it. There will be on going maintenance releases every 6-9 months mainly for bug fixes. We intend to support ULTRIX for at least the next three to five years, if not to the end of this century. [Russ Jones, rjo...@pa.dec.com] [End of FAQ] -- Steve Lionel Mail: lio...@quark.enet.dec.com DEC Fortran Development WWW: http://www.digital.com/info/slionel.html Digital Equipment Corporation CompuServe: 75263,3001 110 Spit Brook Road, ZKO2-3/N30 Nashua, NH 03062-2698 "Free advice is worth every cent" For information on DEC Fortran 90, see http://www.digital.com/info/hpc/f90/