UnixWare Update 2.02 Download and Installation Instructions ============================================================ Due to the large size (> 15 MB) of UnixWare Update 2.02, this update package is provided electronically in multiple files that must be downloaded and merged. Breaking up the package in this way avoids problems with a single large file whereby a download will exceed the default UnixWare 2.0 ulimit, and also facilitates retransmission of smaller files in the event of a communication failure. The procedure for downloading and merging the files is described below. Update 2.02 consists of these files: upd202.txt The TID, which contains instructions for downloading, merging, and installing the update package, and also contains the update release notes. upd202.pt1 Part 1 of the update package datastream. upd202.pt2 Part 2 of the update package datastream. upd202.pt3 Part 3 of the update package datastream. Parts 1 - 3 must be merged into a single file that represents the complete update202 package in datastream format. The following steps can be used to download and install the update. 1. From an ftp session, execute the following command to download all portions of the file. mget upd202* If any file transfer fails, you can retry downloading that specific file. 2. Validate checksums of the downloaded update package files. The checksums are: 16717 13000 upd202.pt1 36572 13000 upd202.pt2 64231 7964 upd202.pt3 3. Merge the files into a single datastream as follows (after increasing your ulimit!): ulimit 60000 cat upd202.pt1 upd202.pt2 upd202.pt3 > upd202 The checksum of 'upd202' should be: 51985 33964 upd202 and the size, in bytes, of 'upd202' is 17389568. 4. Once you've created the upd202 datastream, you can install the update from that file using: pkgadd -d /upd202 update202 Alternatively you may choose to transfer the update package to tape or diskettes using pkgtrans for installation on other machines. --------------------- Update 2.02 Release Notes ----------------------- 1. Introduction These notes describe the Update package (update202) for UnixWare Update 2.02. update202 provides enhancements and fixes for the following UnixWare 2 products: UnixWare Personal Edition (TM), UnixWare Application Server (TM), UnixWare Software Development Kit, and optionally installable UnixWare add-on packages. In addition to the update202 package, Unixware Update 2.02 provides the 2.02 IHV Host Bus Adapter (HBA) Driver Package and the 2.02 Network Interface Card Support (NICS) Driver Package. All HBA and NICS driver maintenance, enhancements and new drivers are provided in these packages. Any necessary changes to base system functionality which are required to support the new or enhanced HBA and NICs drivers are provided in the update202 package. The procedure for installing the UnixWare Update 2.02 packages is given at the end of these release notes. You should not install update202, the HBA, or NICS packages until you are familiar with the release notes for each. 1.1 Highlights Update 2.02 provides new functionality and enhancements in the following areas: - Device drivers - Video drivers - Hardware utilities - TPC-C Benchmark performance enhancements - NetWare Unix Client (NUC) enhancements - Compiler enhancements - Numerous improvements in the areas of the graphical user interface, printing, networking, file systems, mail, and UnixWare end user commands. 1.2 Installation 1.2.1 UnixWare Versions, Backups and Restores You must have UnixWare 2.01 installed on your system before installing update202. The update202 installation procedure automatically creates a backup of your system prior to installing the update. The files that are backed up are those that will be overwritten during the update installation. In the event that there are problems with the update, the update can be removed and the system can be restored to its previous state using the files which were backed up during installation. 1.2.2 Program Temporary Fixes (ptfs) You may have ptfs installed on your system that must be removed prior to the installation of this update. Please acquire a copy of the release notes for each ptf you have installed to verify that each is compatible with update202. Please see the section on ``Program Temporary Fixes (ptfs)'' below for information on ptfs that are being installed with this update. 1.2.3 Available Disk Space The installation script for the update package may incorrectly assess the disk space that is available for the installation of the update. If an error occurs, the installation will abort and your system will be returned to the state it was in prior to you initiating the installation. Be aware that to install, this update requires in excess of 35,000 blocks for a the backup of system files and the addition of new files. 1.2.4 Unloading the lp Driver A problem with the I/O subsystem can prevent the lp driver from unloading, and as a result, prevent the complete installation of the update package. This problem occurs when the following conditions are met: - The lp driver has been autoloaded in response to a request to access the lp driver when the driver is not loaded, and - the open of the lp driver fails because it cannot find a printer connected and ready to print. The installation of the update package provides new parallel port drivers and requires that the existing parallel port driver be unloaded in order to be able to install the new drivers. Attempts to unload the lp driver when the above conditions are met return a "Device Busy" message even though the driver is not busy at the time. To determine if your system is affected by this problem, log on as root, and enter the following commands to unload the lp driver: lpshut modadmin -U lp If the lp driver unloads successfully, then you can install the update package without any additional efforts. However, if the modadmin command returns a "Device Busy" error message and fails to unload the lp driver, you should stop all applications on the system that are attempting to access the lp driver and attempt to unload the driver again. If the same error message results and the driver can not unload, then you must kill all processes that are attempting to access the lp driver on a port that does not have a printer, then reboot the system. When the system restarts, verify that the lp driver is not loaded modadmin -s or, if the driver is loaded verify that the driver can be successfully unloaded modadmin -U lp Only after you have verified that the lp driver can be unloaded should you proceed with the update package installation. 1.2.5 Sleeping or Queued Print Jobs This update includes a new Multi-Function Parallel Port Driver (mfpd) and an enhanced Line Printer (lp) driver. Prior to their installation, the update manager will execute an lpshut to halt all print services and to stop additional print jobs from being accepted. When the lpshut is executed, if there are lp jobs sleeping or on the queue, you will be informed and the update installation procedure will be aborted. 1.2.6 Encryption Utilities Add-on There is a collision between update202 and the Encryption Utilities add-on package. If you want to run the Encryption Utilities on your UnixWare Update 2.02 system, please contact your UnixWare provider and ask for the UnixWare Encryption Utilities Update 2.02. update202 must be installed on your system when you apply the UnixWare Encryption Utilities Update 2.02. This is true whether you installed the update over the Encryption Utilities package from a previous release, or you installed the Encryption Utilities package after you've installed update202. Note: This fix is for U.S. customers, only. 1.2.7 Video Driver Notes If you have the Desktop installed, the video device drivers and libraries are installed automatically when you install the update. See the sections on ``Video Drivers'' below for important information on using the new and revised video drivers that are available with this update. 1.2.8 Installing Add-on Packages after the Update The update contains incremental modifications to the base UnixWare Personal Edition and UnixWare Application Server products as well as to optionally installable UnixWare add- on packages such as the Internet Utilities, and the Software Developer Kit. The update package will install updates to an add-on package only if it was installed prior to the update. There is no need to remove the update before adding an add- on package. When you install the update package, and then later install an add-on package, you simply reinstall the update package so that you pick up the latest maintenance on the package. This is referred to as an overlay installation. The update installation procedure always backs up the files that will be modified during installation. In the case of an overlay installation, the files from the add-on package that will be modified will be backed up. 1.2.9 Removing Add-on Packages after Installing the Update To remove an add-on package that has been modified by the update, the recommended procedure is: 1. Remove the update release. 2. Remove the package. 3. Reinstall the update release. If you attempt to remove the package without removing the update release first, the package will not be fully removed. 1.3 Known Problems The following items describe changes to the UnixWare 2 documentation. The documentation is not updated in this update release. Where appropriate, the changes described below will appear in the next re-issue of the documentation. In addition to the known problems in the documentation, the NUC ptf section under "Program Temporary Fixes" contains software workarounds specific to the NUC. - In the list of signals defined in sys/signal.h, and described in signal (5), the entry for SIGPOLL (Value = 22) should be documented as: Name: SIGPOLL Value: 22 Default behavior: Exit Event description: Pollable event - The "Personal Edition/Application Server Release Notes and Netware UNIX Client Addendum" for UnixWare 2 provides a note under the "Mounting a NetWare Volume" section, page 21, which requires additional information on the proper mount point for nucfs volumes. The note should read as follows: When you mount nucfs volumes from the command line, select your mount points carefully. We suggest that you place the mount points under a subdirectory of the /nucfs directory, such as /nucfs/mnt1, to avoid an auto-authentication event for other users that would occur if you mounted the nucfs volumes directly under /nucfs. 2. Features This section describes features provided by Update 2.02. 2.1 Parallel Port Drivers The Multi-Function Parallel port Driver (mfpd) has been added to UnixWare Update 2.02 to provided support for multiple parallel ports and bi-directional parallel ports. The Line Printer (lp) driver has been modified to interface with mfpd and the peripherals without any loss of UnixWare 2 functionality. 2.2 Video Drivers Support for the following chip sets is made available on UnixWare through UnixWare Update 2.02. This list identifies the supported chip set and the video cards that have been tested. - BlackBird - #9 Imagine 128 PCI - Matrox MGA (Titan, Atlas, Athena) - QVision 2000 PCI card - S3 Trio 64/32 801/805/928chip set - Trio 64/32 PCI In addition, the following quality improvements are provided: - The P9000 PCI board will self configure on PCI machines. - General fixes for minor bugs in Cirrus Logic GD5434 chip support are provided. - Driver support for Mach 32 and Mach 64(ISA cards) have been updated to support STG1702 RAMDAC and fix clipping on rectangles. 2.2.1 Notes on the Use of Video Drivers As a general rule, if you are not sure of the video hardware you have and would like to experiment with various options, it is recommended that you disable the graphical login. Run the following command: /usr/X/bin/disable_glogin After you make sure everything works, you can enable graphical login by running /usr/X/bin/enable_glogin The /usr/X/lib/display directory contains the video driver file and a corresponding README (for example, README.p9k, README.mach64). The README provides information on issues, problems, work-arounds, and performance tuning. 2.2.1.1 P9000 Boards You must use the -noprobe option on the setvideomode/setvgamode utility when attempting to run in higher resolutions. If this option is not used, the utility may put the P9000 graphics engine into a bad state while trying to detect the type of video chip set that is used. For example: setvideomode -noprobe -vinfo p9k 2.2.1.2 General Notes for S3928 and Mach32 Video Drivers RAMDACS If you want to run 1280x1024 modes at greater than 60 Hz frequencies, you will need to define an option in either the LIBS3_OPTIONS or LIBMACH_OPTIONS file. These files reside in the /usr/X/lib/display directory. For more information on user-defined options, read the corresponding README file (README.S3 or README.mach). Bandwidths for various modes: 1280x1024 at 60 Hz needs 110 MHz 1280x1024 at 70 Hz needs 126 MHz 1280x1024 at 72 Hz needs 130 MHz 1280x1024 at 74 Hz needs 135 MHz Some RAMDACs come in two versions: 110 MHz or 135 MHz maximum bandwidths. To make sure that the video hardware is not damaged due to user errors, the maximum frequency is limited to 110 MHz on ATI-68875-xxx and Bt485-xxx RAMDACs. To go to higher frequencies, you need to specifically define it in the options file. For example, if you have an S3928 card that has a Bt485-135 RAMDAC, you can go up to 1280x1024@74 Hz modes by defining: dac-max-frequency=135000 or if you have an ATI UltraPro with ATI-68875-cfn RAMDAC: dac-name=ati-68875-cfn Mach32 If you have a Mach32 on the motherboard or any deviation from the standard ATI UltraPro series, and if you try the UltraPro entries, it will work in most cases. But if you see any problems, try turning off the ``LFB'' option. For example, put the following line in the ULTRA_OPTIONS file: use-linear-frame-buffer=no If you still see some problems (such as pixelization problems), find the RAMDAC name/model from your video card, find the compatible RAMDAC from the ``supported list,'' and define it in the LIBMACH_OPTIONS file. For example: dac-name=ati-68875-cfn Mach32 Hardware Settings If you have an ISA card, set the aperture to ``OFF''. If you have a 32-bit (VESA, EISA, PCI) video card, set the aperture to ``ON'' and make sure it is mapped to some high range over the range of the physical memory (for example, 124-128 MB range). You can make these settings by booting DOS and running the utility provided by ATI. 2.2.1.3 Tuning Performance mach and S3 Run Time Options In most cases the default options for the mach and S3 chip sets will provide the best performance. However, in some cases different runtime options improve performance. Read /usr/X/lib/display/mach.README and /usr/X/lib/display/S3.README before trying any user-defined options. S3928/S3801 MMIO operations may or may not work properly on the 928 cards. Almost all cards work faster with mmio-write- pixtrans enabled. Some cards seem to have problems if mmio-write-enhanced-regs is enabled, and some cards don't have problems. S3 has published that this feature works reliably with the E-Step and later 928 chips. The consequences of MMIO not working are serious (such as a system panic), so this feature has been turned off. If you have a 928 with E or later stepping number, you can try uncommenting the following line in the /usr/X/lib/display/LIBS3_OPTIONS file: #memory-and-register-access-mode= mmio-write-pixtrans,mmio-write-enhanced-regs By uncommenting the above line, there is a performance improvement of approximately 10%. Similarly, if you have 801 cards, there are other options. Read the LIBS3_OPTIONS and README.S3. This version of the driver supports ONLY 801 B-Step or earlier stepping numbers. 2.3 crash(1M) The functionality described below has been added to crash(1M). The UnixWare documentation will be enhanced to reflect this capability for future release. Extensible Functions for crash(1M) It is possible to add functions to crash(1M) without having access to the source code. This is useful for writing platform specific functions or to obtain more information than is available in the default command set. Adding new functions is accomplished with shared objects. The shared object is created from a file consisting of the functions that are to be added to the existing command set. When crash(1M) is started, these shared objects are read and the additional functions are incorporated in the command set. The following are the guidelines for creating this shared object: 1) The file that contains the new commands should define the variable "functab" which would be an array type "struct func". This array would point to the new commands that need to be added. 2) The file should be compiled with the same options as the kernel build. For example, if crash(1M) is going to be run on top of a uniprocessor kernel, then the file should be compiled with appropriate definitions. 3) Use the -G option to the compiler to create the shared object. crash(1M) reads the shared objects from directory /usr/lib/crash and also from files defined by environment variable CRASH_LIBS. An example of a file containing a new command (lbolt) is given below: #include #include #include extern int get_lbolt(); /* function definition */ struct func { char *name; char *syntax; int (*call)(); char *description; }; struct func functab[] = { "lbolt", " ", get_lbolt, "lbolt", 0,0,0,0 }; static struct syment *lbolt_sym = NULL; extern struct syment *symsrch(char *); extern FILE *fp; get_lbolt(void) { time_t lbolt; if (lbolt_sym == NULL && (lbolt_sym = symsrch("lbolt")) == NULL) return 0; readmem((void *)(lbolt_sym->n_value), 1, -1, &lbolt, sizeof(lbolt), "lbolt"); fprintf(fp, "%lx0,lbolt); } 2.4 Hardware Support UnixWare Update 2.02 extends the functionality that was made available in UnixWare 2.01 to support the COMPAQ ProSignia 300, ProSignia 500, ProLiant 4500 and the their add-on controllers. The update202 package includes changes to the base system to enable this enhanced functionality, with the driver enhancements being provided in the 2.02 NICS and HBA packages. 2.4.1 Updated Network Interface Card Support (NICS) Support is provided for the full line of NetFlex Ethernet and Token Ring cards: - NetFlex I - NetFlex II - NetFlex-L Enet - NetFlex III Note: Support for these cards is provided as part of the NICS package. The drivers will not be installed as part of update202. 2.4.2 Video Drivers Support for Cirrus Logic GD 5424 and QVision 2000 (Matrox- based) video controllers has been added in the update. 2.4.3 Fast-SCSI-2 Host Bus Adapter (HBA) Driver The cpqsc(7) HBA driver has been updated to provide support for the new Fast-SCSI 2 SCSI adapters provided in the new ProSignia and ProLiant sytems. Note: The HBA drivers are provided as part of the HBA package. They are not installed as part of update202. 2.4.4 IDA Driver Enhancements The ida(7) driver has been enhanced to increase the total number of logical drives to the maximum number supported by the IDA/SMART controller, and provide information for enhancements which were made to the ida_menu(1M) support utility and the idamon(1M) COMPAQ Insight Manager (CIM) agent. 2.4.5 EISA NVRAM Enhancements Enhancements to the crom(7) and cpqw(7) drivers provide serialized access to the BIOS. 2.4.6 Wellness Driver Support for three new features has been added to the wellness driver. The wellness driver now supports a new temperature sensor, new EISA IDs, and detection of the real time clock battery being at low charge. 2.4.7 SCSI and Health CIM Agents The SCSI and Health CIM agents have been enhanced to support the ProSignia and ProLiant systems. 2.4.8 SCSI and IDA Support Utilities The SCSI Support Utility, cpqsmu(1M), and IDA Support Utility, ida_menu(1), are user level commands that provide status information from various controller cards and allow programming of the controllers. Both of these commands have been enhanced for ProSignia and ProLiant systems. 2.4.9 Performance Monitoring rtpm(1) collects and displays performance data and performance related information. It has been modified to provide information for COMPAQ hardware. 2.4.10 MP Platform Support The SVR4.2 MP Platform Support Module (PSM) has been enhanced to support the new ProLiant line of MP systems. 2.5 TPC-C Benchmarking Changes Update 2.02 includes performance enhancements in networking and asynchronous I/O that have made it possible to achieve record TPC-C benchmark results. 3. General Improvements 3.1 Program Temporary Fixes (ptfs) The fixes provided by the ptfs listed in this section are included in this update. You may or may not already have these ptfs installed on your system. Please do not attempt to re-apply them again after you have installed the update. After the update is installed, the ptfs which are currently installed on your system are reported by the pkginfo command, even though the ptfs on the update may supersede them. The installation procedure for the update will "lock down" the following ptfs if they already exist on your system. You will not be able to remove them. ptf 2000 ptf 2001 ptf 2002 ptf 2003 ptf 2006 ptf 2014 ptf 2018 ptf 2041 3.1.1 ptf 2000 - NUC ptf This ptf consists of fixes for several problems in the UnixWare 2.01 version of the NetWare Unix Client (NUC). A short description of each fix is provided in the sections below. - Fixes in several areas eliminate system panics, hangs and severed network connections due to heavy load and system stress, especially in situations where the system is configured with insufficient memory. o Correct error handling in sapd that caused it to die. o Eliminated nucd memory leaks caused in libnct. o KMA corruption panic is fixed. o Copying a NetWare resident file that is mandatory lock-enabled or that has advisory locks in effect no longer hangs the system. o A kernel mode address fault in nucfs is fixed. o A deadlock between NUC processes which resulted in hung xterminals has been eliminated. o Eliminated the possibility of having NUCfs filesystems open with files on them when NUC is stopped to avoid a system panic. o Fixed an inconsistency in the error checking of a pointer which, if it failed, would cause nucd to dump core. o Provides fixes for NUC errors when writing files on the server under high load conditions. o Fixes a problem with occasional kernel panics during NUC shutdown when network support is improperly installed. - File and record locking for the nucfs is available and mandatory lock-enabled files will have a bit set (SNODE_MANDLOCK_ENABLED). Files that do not have the bit set, will have no side effects when a lock is released. - The single login feature is now supported from telnet, nvt, rlogin, and rsh. Single login will not succeed when the first login for a user is an rlogin without a password. If a .rhosts file has been used to allow a user to rlogin without a password, then there is no password available to NetWare resources. To avoid this problem when using a .rhosts file, users should rlogin only after logging in with a password (as in telnet, console login, desktop graphical login). In the event the user has inadvertently logged in with .rhosts first, they can run 'nwlogout server_name; nwlogin server_name' to gain access to the server. - /etc/mnttab is updated atomically by nucamd to avoid corruption of /etc/mnttab when /etc/mnttab is on a full root filesystem. - A delayed NUC response when using a DMA-able NICs has been fixed. - This fix enables ulimits of up to 8MB on NUCfs file systems. - Correct Netbios packet handling has been implemented, eliminating system panics and enabling their delivery to an IPX socket multiplexor. - Eliminated problems with spurious characters appearing in the output when remotely printing with NetWare using a 32 bit NIC. 3.1.1.1 Known Problems Known problems and workarounds for the problems that were not addressed in this ptf are described below: - The Unixware 2.01 NLM is not installed correctly with NW 3.12 servers. This appears to be a problem with recognition of revision numbers. It has occurred most often with SBACKUP. The corrective action is to install SBACKUP patch 3.12 before installing NUC. This patch is available on ftp.novell.com under the name sback2.exe. - If a file is created/opened on a UW2.01 server from an OS/2 or DOS client and a UnixWare soft (symbolic) link is created using the same namespace before the client closes the file, the file becomes corrupt. This occurs because the client operating system does not recognize the concept of a soft link and UW is not promoting correct file locking in this instance. Avoid using symbolic links on files the clients will use, or at least close the files from the clients. - A netware server abend could occur on a very heavily loaded server (1000 clients) when running with default directory cache buffers on the server. The default value for Minimum Directory cache buffers is 20. This should be increased in direct proportion to the average number of clients. 3.1.2 ptf 2013 - Tunable Paging Thresholds This ptf makes it possible to tune the system's memory thresholds so that the system will maintain the proper amount of physical memory and keep running smoothly under heavy work loads. The following information is required to use this enhancement. It will be included in the documentation for the next full UnixWare release: LOTSFREEBYTES and LOTSFREEFRACT These two parameters are used to compute the paging threshold. The system initiates paging whenever the amount of free physical memory is below this threshold. The paging threshold is the smaller of LOTSFREEBYTES and total physical memory divided by LOTSFREEFRACT. LOTSFREEBYTES Absolute paging threshold, specified in bytes. LOTSFREEFRACT Relative paging threshold, specified as a divisor of total physical memory. DESFREEBYTES and DESFREEFRACT These two parameters are used to compute the swapping threshold. The system initiates swapping when the amount of free memory is below this threshold for an extended period. The swapping threshold is the smaller of DESFREEBYTES and total physical memory divided by DESFREEFRACT. DESFREEBYTES Absolute swapping threshold, specified in bytes. DESFREEFRACT Relative swapping threshold, specified as a divisor of total physical memory. MINFREEBYTES and MINFREEFRACT These two parameters are used to compute the minimum amount of free memory which the system must maintain. The free memory minimum is the smaller of MINFREEBYTES and the swapping threshold divided by MINFREEFRACT. MINFREEBYTES Absolute minimum free memory, specified in bytes. MINFREEFRACT Relative minimum free memory, specified as a divisor of the swapping threshold. ptf 2001 This ptf provides enhancements to the bootstrap code and to the kernel to work around problems that occur on some computers during startup. The changes include the following: 1. allowing the user to override the kernel's cache enabling, 2. working around a Machine Check Exception panic that occurs on some computers whose secondary cache and/or memory does not support parity checking, 3. automatically scanning for LBA IDE disks while booting, and 4. working around a fault in the BIOS of some computers that causes PCI devices to respond incorrectly, which makes it appear to the system that there are more PCI devices than there really are. Notes: ptf2001 must be installed with UnixWare 2.01. ptf 2002 This update replaces /usr/X/bin/xterm with a version that supports Tektronix emulation. The Tektronix emulation is enabled by specifying a -t option. The ability of xterm(1) to emulate a Tektronix 4014 terminal is a feature occasionally used for compatibility with Legacy Graphics plotting applications. Due to a small impact on performance, this fix should only be installed if xterm(1m) will be used to emulate a Tek4014. ptf 2003 Version 8.6.10 of sendmail has added security checks to prevent privileged access by both remote and local clients of sendmail. The updated version of the 'm4' macro processor fixes a problem that can be encountered when parsing sendmail configuration scripts written in 'm4'. To make sendmail route all mail for your UnixWare system, you need to modify the file /etc/mail/mailsurr on your system. The file will need to tell the 'mail' command to funnel everything to 'sendmail'. See /etc/ucbmail/mailsurr for an example of an '/etc/mail/mailsurr' file that does this. ptf 2006 This ptf fixes the problem of large packets causing severe TCP performance problems on UnixWare. Increasing TCP packet size no longer impacts TCP thru-put. ptf 2011 This ptf fixes the problem where multiuser processes are sleeping after calling rwsleep_rdlock. ptf 2014 Level-sensitive interrupts on non-EISA MP Machines are now properly programmed as level-sensitive interrupts and the system will no longer lockup. The PCMP driver was modified to share IRQ 13 with other peripherals so that the other device will receive its interrupts. ptf 2018 This fix prevents a deadlock condition caused by the lack of a carriage return from the first ttymon. ptf 2041 libc can now handle /etc/passwd comment fields that are longer than 60 characters. 3.2 Quality Improvements 3.2.1 Graphical User Interface (GUI) - When a user specifies the backup of a directory that is a symbolic link, the link will be followed and the contents of the directory will be backed up. - Performance improvements have been made which impact remote displays, such as xterminals, when running the Desktop. - Users now receive warnings that dot (.) files are removed when a folder is moved to a DOS file system. - The prompt for "User Receiving Files" is no longer displayed when transferring files to a remote machine by dragging files onto a RAC icon and choosing rpc(1) as that transfer method. - A safeguard has been added to prevent a core dump when a user presses return on an item in a list which is presented by the list widget. - Fixes have been provided for installing a package from CD-ROM through the the Show Contents popup. - While using the Desktop for application installation, standard error from pkgcat will be redirected to /dev/null. - Properties enclosed within single quotes, and those that have embedded single quotes, will now parse correctly. - Any icon can be a remote access icon, regardless of its name. - This fix corrects uucp core dumps caused by repeated system searches for systems that do not exist. - A core dump problem when adding or changing classes has been fixed. - Problems with reading beyond the beginning of the /etc/device.tab file have been fixed. - Applications no longer die due to protocol errors when the width and height of the drag and drop icon are unset. - This fix makes it possible to see Japanese characters in the pre-edit area of applications using an input method. - There is no longer a problem with desktop clients using all available file descriptors. It is now possible to have 59 open file descriptors. - Convenience functions floattop, over, and leftof have been provided to wksh. - Validation and error notices have been added for "Server" and "Other" fields in the Application Installer. - There is no longer a problem with cutting and pasting multi-byte characters from Motif to an X terminal. - Problems with horizontal size and resize in European locales in an X terminal have been fixed. - Problems with beginning a string with Japanese characters which are not available in the font that is being used have been fixed. - A timing problem with the mouse not being detected after a SmartStart installation has been fixed. - The timestamp appears after the message and on a new line in the MsgMonitor. - This fix establishes correct permissions for managed device nodes when configuring print destinations. - Zooming a DOS session to a full screen no longer causes a problem. - Display_Setup now properly runs pre-install commands. - Privileged wksh scripts will be able to find the graphics libraries. 3.2.2 Networking - A tunable parameter has been added to increase the number of nfs mount points from 255. - Heavy network loads that require ypserve to fork will no longer cause ypserve to dump core. - A fix is provided which eliminates deadlocks in multithreaded networking applications. - The Netflex Source Routing Module validates the destination address offset. - Problems with nfs_unload during shutdown have been fixed. - Users without privilege are no longer able to create devices on exported file systems which are writable. - If nfs_portmon is set, nfs daemons reject requests that do not come from a reserved port. - Users no longer has access to the entire file system when a directory is exported. - The inet daemon now responds to UPD requests for the time service. - Eliminated the possibility of network problems causing error messages sufficient to run the system out of memory. - This fix reduces the cost of finding the correct TCP connection to forward an incoming packet to, thus eliminating a TCP performance impact. - When the primary DNS name server is not responding, the time per name server that is spent prior to giving up drops from 90 to 15 seconds. - When the inet daemon is not started via sacadm, it will assign a umask of 022 to files that it creates. - Large servers can now handle requests for the same service, rsh for example, at a rate of 500 requests per 20 seconds. - TCP's initial send sequence number is used to initialize connections to and from other machines. An enhancement has been added to make this number unpredictable, resulting in a more secure initialization processes. - Sockets send(), sendto(), and sendmsg() on connection- oriented transports such as tcp and ticots will no longer fail when the buffer size exceeds one transport service data unit. - Kernel level rlogin is provided to improve the performance of rlogin connections. - A problem with rlogin hanging the machine when TCP detects a protocol error has been fixed. - Performance of applications that make heavy use of libnsl is improved with this fix. - rlogin information does not get echoed back to the client if rlogin is delayed. - This fix eliminates a TCP panic. - netstat -i and ifconfig -a can now report on greater that 15 ppp interfaces. - PPP now expects interfaces to be numbered in decimal, rather than hex. - This fix eliminated invalid data references in dlpi drivers. - The lock hierarchy violation panic on a debug kernel has been fixed. - Problems with netware access and hangs during attempts to list or traverse /.Netware have been eliminated. - The debug kernel no longer panics in NUC (sv_alloc) while booting. 3.2.3 Drivers - The Multi-Function Parallel port Driver (mfpd) and a modified Line Printer driver (lp) are provided with this update. - idreadauto no longer returns a random return code upon successful completion of radtune. - General system performance improvements have been made with the unmap system call. - The latency has been reduced for transferring a small subset of pages from a large file. - The pnt driver has been redesigned, updated and modified. - PCMP PSM has been made more robust. - Level triggered interrupts on non-EISA MPS machines have been fixed. - The sc01 and sw01 temporary buffers are now dynamically allocated and are allocated in the start routine. - The rmsync id field for the inittab entry has been changed to four characters. - The "bound CPU" field in the lp driver's system file is now empty. - st01 returns the correct return value to applications if block size is out of the range of supported block size. - Repairs and enhancements are provided for CIM agents to fully support Pro Liant and Pro Signia systems. - Fixes are provided for various faults in the Wellness Driver. - When SCSI commands create an underrun condition, the driver will ignore the underrun. - The user can now create a new magic floppy based on the software currently loaded on their system. - The mga driver has been modified to accommodate the memory organization of 4MB cards. - Stray points and lines are no longer a problem with the Imagine 128. - The QVision 1280 pre-install script runs on the first system reboot. 3.2.4 File Systems - This fix frees up memory in VxFS file systems which never would have been freed in the past. - The possibility of kmem_alloc failures has been minimized with various changes. - This improvement eliminates the possibility of a system panic when an error occurs upon opening a dynamically loadable module. - Problems with deadlocks on UFS and SFS file systems have been fixed. - Locale specific responses to fsck prompts are now accepted without problems. - DOSFS mount fails gracefully if the version number of the DOS partition is greater than 5.0. - With this fix, it is possible to apply lockf multiple times on a clone device. - The S5 file system no longer dead-locks when the hard disk is under stress. 3.2.5 C Compilation System - There was a problem with the compilation of certain floating point expressions involving the ?: operator. The incorrectly compiled code gave the wrong answer in cases where the same constant appeared in both the "true" and the "false" expression of the ?: operator. - This fix corrects a problem in the compilation of floating point expressions involving the ?: operator. - Regular Expression (RE) interval constructs no longer cause a problem with libc. - Problems with C++ demangling symbol names when the file contains greater than 100 characters have been fixed. - Unpredictable deletion of character variables as register values has been fixed. - The optimizer no longer replaces zero with an unpredictable value. - An internal C compiler error will not occur when optimizing a C++ program that contains an inlined function containing the expression "param % constant" which becomes "constant value % constant value" through argument substitution. - A fix is provided for the C compiler aborting when code optimization is requested and a C++ function call on the right side of a boolean or comma operator within a for loop is inlined. - The compiler will no longer produce an internal compiler error on logical expressions with embedded calls to a function returning a void. - A fix has been provided for a compiler error which occurred when sqgmutil.c was compiled with the optimizer flag. - An infinite loop no longer occurs when the first static initialization routine to be executed at program start calls abort(). - A change has been made to fix bad "infinite precision" division code. - The standard components part of the CCS demos now build correctly. - Problem with internal compiler errors when compiling complicated ?: expressions containing embedded assigns with constant values have been fixed. - Problems occurring when compiling logical expressions containing embedded assignments and mixed floating point/integer arithmetic with optimization turned on have been fixed. - There is no longer a problem with libc when reading /etc/passwd entries that are longer than 100 characters. - C++ class temporaries which are used for copy constructor initializations are no longer destroyed inside a loop containing labels, break, or continue statements. - The optimizer now handles unsigned shifts properly. - Function mktime() now handles leap years. - An optimized program will no longer core dump because it contains pointers to two or more functions in the same compilation unit. - The following diagnostic will no longer be emitted incorrectly during compilation: "override of virtual function is ambiguous". - ___errno (3 underscores) is now a synonym for __thr_errno. - The swapcontext routine has been added to the shared library, libc.so.1 3.2.6 Streams - The "munlink failed, closing anyway" warning message has been clarified. - Memory allocation has been fixed such that it will now report a partial write. - A problem with incorrect optimization causing incorrect information in streams data structures has been fixed. - The possibility of a race condition occurring when a stream is closed with a UP module has been eliminated. - Inconsistent behavior in the presence of UP muxes has been fixed. - An enhancement allows the I_FDINSERT ioctl to work properly on a stream in which the uniplexor is present. - Fixes are provided for numerous problems with non- multithreaded driver support. - A race condition in streams has been eliminated. - A fix is provided for a multithreading error. - The put routine is no longer invoked with interrupts blocked. - allocb_physreq can now handle alignment requests of >64 bytes. 3.2.7 Miscellaneous - Problems with starting/stopping and enabling a printer through sysadm have been fixed. - COM1 can be used as the console in order to boot from the disaster recovery floppy. - The disaster recovery floppy can be created when ODM is installed. - sema_wait() in libthread will now return EINTR if interrupted by a signal. - A fix was introduced to eliminate the possibility of a system dump being lost if a reboot is not initiated within one minute. - Problems with cpio creating a tar format archive of files with multiple links have been fixed. - Sleeping single-threaded programs linked to libthread are now interruptible by signals when calling sleep(). - Yielding threads are added to the run queue only after the lock of the other thread is acquired to eliminate the possibility of a race condition. - The problem with loss of files when changing HOME through sysadm has been fixed. - The man command will now find and display 3aio manual pages. - The memory layout of a system dump will be correct on machines with memory holes greater than 256 MB. - This fix makes it possible for one port monitor name to be a proper substring of another's name. - Temporary files used by libTL do not have predictable names and are opened exclusively to improve security. - File types s and l are included in averify(). - Paging thresholds are now tunable to allow for high end workloads. - crontab jobs will not be run multiple times when the system clock is changing via date -a , for example. - pkgrm will retain the original value of TERM and reset it after scrubbing the environment. - A KMA corruption panic has been eliminated. - Overhead is eliminated in a high runner kernel function in the page layer. - A panic caused by a deadlock in the kernel context switch code has been fixed. - Eliminated locale specific code to avoid future problems. - The problem with logging in from xdm to dtm in the ja locale has been fixed. - The postremove script for jadicopft no longer can exit with a failure if it succeeds. - Package installation with the -q option will not redirect standard out to /dev/null. - smtpd and smtp are now killed when the system is brought down to run level 1 or 0. - The letter "q" is now interpreted properly when installing in the German locale. - Data loss at baud rates of 50, 75, and 110 is no longer a problem. 4. Installing the Update Release Packages A UnixWare Update release includes an update package which enhances the UnixWare base system, and system software packages such as networking device drivers or IHV HBA device drivers that provide maintenance, enhancements, and new device drivers. The 2.02 packages are the 2.02 Update (update202) package, the 2.02 NICS (nics) package, and the 2.02 HBA (hba) package. The update release packages are available on the UnixWare Support CD and from the Internet. Installation of the packages from UnixWare Support CD should be performed through the Desktop interface to take full advantage of the functionality provided by the Update Manager program. Packages from the Internet can be installed through the Desktop or from the command line. 4.1 Before You Begin Before installing the update release packages, you should be aware of the following information which may affect how you choose to proceed with the installation. 4.1.1 Backing Up the Current System During the installation of the update202 and the hba packages, a backup of selected files is performed automatically. The files that are backed up are those that will be overwritten by the package. This allows you to remove the package and restore the system to its previous state in the unlikely event that there are problems with the package. The update202 backup will generally take up considerable space on the system's hard disk. Backups in excess of 35,000 blocks (17 MB) are probable. The files will be stored on your hard disk in /var/sadm/bkup/update202, but to save space on your hard disk, you may choose to save the backup on either diskettes or tape. The update202 installation procedure will give you the choice. The backup performed by the hba package will require at most 252 blocks (.12 MB). Files which are backed up will be stored in /var/sadm/hba.save. You do not have the option of storing these files on diskette or tape. 4.1.2 Rebooting the System After the installation of any of the update release packages, your system should be rebooted. In the case of update202, the system is rebooted automatically. You will be prompted early in the installation procedure to warn you of this, and you will have a chance to exit if you are not ready for your system to be rebooted. 4.2 Installing From the UnixWare Support CD If you are installing the update release packages from CD- ROM, and you are reading these release notes, you must have already installed the Update Manager, started the Update Manager through the UnixWare Desktop, and decided to Read Documentation for one of the packages available through the Install window. To install one of the update release packages from the CD- ROM, do the following: 1. Navigate to the Update Manager Main Menu. 2. Click on Update Manager. The Install window will be displayed. The Install window lists the packages which are available on the CD-ROM. 3. Click on package you are interested in. 4. Click on the Read Documentation button to read the release notes which are associated with that package. 5. Click on Install to install the package. The package installation script for the package that is being installed takes over at this point. The update package installation process is presented in the next section. 4.2.1 Installing the Update Package 1. Respond to the following prompts to install the update202: a. You are given a choice to either read the release notes or install the package. It is recommended to read the release notes initially, and then install the package only when familiar with the release notes. The release notes are mailed to the desktop owners and to root after this menu. b. You are given a warning that, upon successful installation of the update, the system will be rebooted. If you don't want to bring your system down at this time, you can choose to abort the installation. Otherwise, you can proceed with the installation. If you choose to proceed with the installation, the Select Backup Method screen is displayed. 2. Select one of the backup options: - Disk Drive - Cartridge Tape or Floppy Disk If you select Disk Drive, the backup is created in the directory /var/sadm/bkup/update202. (Requires 35,000 blocks.) If you select Cartridge Tape or Floppy Disk, and your system has more than one diskette drive, or has one or more diskette drives and one or two cartridge tape drives, you are prompted to select the media you want to use for the backup. If you are using diskettes, be sure to have formatted diskettes ready for the backup. When the backup is complete, label and store the backup in a safe place. The backup can be used to restore files that were changed during the update should it be necessary to remove the package at a later time. After the backup has completed, the package will be installed. After successful installation, your system will be rebooted automatically. You will notice a brief delay between the completion of the installation and the start of the system shutdown. If errors occurred during the installation, the errors are logged in the file /var/sadm/install/logs/202.log. 4.2.2 Creating Distribution Diskettes The Update Manager can be used to create distribution diskettes for any of the packages in a UnixWare Update. The example below describes how to create HBA Distribution Diskettes. Follow these steps: 1. Return to the Install window of the Update Manager. 2. Click on the hba package. 3. Click on the Make Distributions button. The Update Manager will prompt you to select the media and the drive which you will use to create the distribution. Currently, the only supported media is 3.5 inch floppy diskettes. There are prompts for formatting floppy diskettes, if necessary, and then you are prompted to insert the floppy diskettes for the creation of the HBA Distribution Diskettes. 4.3 Installing Update Release Packages from the Internet 4.3.1 Installing from the Desktop To install packages that you have taken from the Internet perform the following steps from the Desktop: 1. Double-click on the Admin_Tools icon in your UnixWare Desktop window. This displays the Admin_Tools window. 2. Double-click on the App_Installer icon. This displays the Application Installer window. There may be a slight delay due to the cataloging of the applications or software packages which are currently installed on your system. 3. Click on the Install From pull down menu. 4. Click on Network, or Other to install the update from a local or mounted directory. 5. When you click on Network, the Server field is displayed. Type the name of the Install Server that you want to install the package from. If you type the name of a machine that has not been setup as an install server, no applications will be available for you to install. When you click on Other, a Find Folder pop-up menu is displayed. Click on Parent Folder until you reach the root of the path of the software package. Click on the appropriate folders until the full path of the folder that contains the package appears in the Path field. Click on Select. 6. At this point, the packages in the directory are displayed. Click on the package that you want to install. 7. Click on Install to install the package. The package installation script for the package that is being installed takes over at this point. The update202 installation process is presented in the "Installing the UnixWare Support CD" section. 4.3.2 Installing Packages from the Command Line Type the following to install the 2.02 packages from the command line: pkgadd -d package where package is either update202, nics or hba, and full pathname is the path from / to the directory, either local or a mounted resource, that contains the package. For example, if the package has been placed in /tmp/update202, the command line would be: pkgadd -d /tmp update202 The package installation script for the package that is being installed takes over at this point. The update202 installation process is presented in the " Installing from the UnixWare Support CD " section.