Patch Name: PHCO_21125 Patch Description: s700_800 10.20 ioinitrc cumulative patch Creation Date: 00/03/05 Post Date: 00/03/21 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: OS-Core.UX-CORE Automatic Reboot?: Yes Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_21125 Symptoms: PHCO_21125: Patch PHCO_20829 fails on B,C and J class systems if the IO backplane is removed without using 'rmsf -H ' during replacement(EISA to non-EISA or non-EISA to EISA). This causes the node for that hardware path left unremoved from IO tree and ioconfig file. This entry causes error during remapping the instance numbers for serial port device files. PHCO_20829: Patch PHCO_19784 reintroduced the problem fixed by PHCO_14117. "On some newer B and C class systems (B132L+, B180L, C200 and C240), the device files /dev/tty0p0 and /dev/tty1p0 map to serial port 2 and serial port 1, respectively. This is the reverse from the mapping on earlier B and C class systems." PHCO_19784: The /dev/crt device special file may not be valid after moving or removing a graphics card. PHCO_17866: On the latest C class system (C360), the device files /dev/tty0p0 and /dev/tty1p0 map to serial port 2 and serial port 1, respectively. This is the reverse from the mapping on some earlier B and C class systems. This patch modifies /sbin/ioinitrc so that it will detect when the device files are reversed and switch them back so that they are consistent with the mapping on the original B and C class systems. This patch need not be applied to Series 800 systems, although it may be applied with no adverse effects. PHCO_14362: The changes introduced in PHCO_14117 did not work correctly when the /usr directory is on a separate volume from the root (/) volume. This is because the script tried to use the uname (1m) command to obtain the model string of the system, and uname is in /usr/bin, not in /sbin PHCO_14117: On some newer B and C class systems (B132L+, B180L, C200 and C240), the device files /dev/tty0p0 and /dev/tty1p0 map to serial port 2 and serial port 1, respectively. This is the reverse from the mapping on earlier B and C class systems. This patch modifies /sbin/ioinitrc so that it will detect when the device files are reversed and switch them back so that they are consistent with the mapping on the original B and C class systems. This patch need not be applied to Series 800 systems, although it may be applied with no adverse effects. Defect Description: PHCO_21125: Reassignment of instance numbers fails due to an entry in ioconfig file for the non-existent hardware path. Resolution: If reassignment of instance numbers fails for two existing serial port hardware paths, a third entry with hardware path of that node created from ioconfig file is included in the reassignment list. PHCO_20829: See the defect description for PHCO_14117. The changes that address that problem were lost in PHCO_19784. Resolution: The changes made for PHCO_14117 were restored to the ioinitrc command. PHCO_19784: The /dev/crt[0..3] device special files are associated with graphics devices in the order in which they are seen in ioscan output. If you move the graphics card, the graphics device files, and in particular /dev/crt may no longer correspond to a graphics device. /dev/crt is often used as the default X server device. Resolution: The solution is to modify /sbin/ioinitrc so that it will open /dev/crt to determine if it is still valid. /dev/crt will be re-created if the open fails. This solution does not guarantee that /dev/crt points to the graphics device on which the customer may have configured X or other graphics application. Graphics applications may still have to be re-configured after moving or adding a graphics device to the system. Note that a corresponding change was made to /sbin/insf so that it will preserve existing /dev/crt device files if they are valid. PHCO_17866: The code that was added by patch PHCO_14362 is specific to a particular set of workstation models. This check did not detect the 9000/785/C360 because that system did not exist at the time that PHCO_14362 was created. PHCO_14362: The version of /sbin/ioinitrc provided by patch PHCO_14117 would not work properly because the uname(1m) command is unavailable in many system configurations. The uname(1m) command exists in /usr/bin, which is often on a mounted filesystem which is not mounted when /sbin/ioinitrc is normally run. The solution provided by this patch is to use a new command, /sbin/modelstr, which simply returns the model string of the system (a copy of the uname command would not solve the problem because it requires shared libraries which are also often on a mounted filesystem). PHCO_14117: Due to hardware changes on some of the newer B and C class systems, the hardware path to serial port 2 changed. This change resulted in serial port 2 being recognized by the system before serial port 1 was recognized. When the system first boots, its assigns "instance" numbers to the serial ports in the order that they are recognized. This resulted in serial port 2 having instance number 0, while serial port 1 would have instance number 1. This is the reverse of the assignments on earlier B and C class systems and can be confusing. The solution is to modify /sbin/ioinitrc to detect when the serial port assignments have been reversed and to force them to be mapped so that serial port 1 has instance number 0 and serial port 2 has instance number 1. SR: 5003402933 5003452318 8606125110 8606106776 Patch Files: /sbin/ioinitrc /sbin/modelstr what(1) Output: /sbin/ioinitrc: $Revision: 78.4.1.6 PATCH_10_20 (PHCO_21125)$ /sbin/modelstr: modelstr $Revision: 1.1 $ PATCH_10.20 (PHCO_14362) PATCH/10.20:PHCO_10027 libc.a_ID@@/main/r10dav/libc_ dav/libc_dav_cpe/7 /ux/core/libs/libc/archive_pa1/libc.a_ID Feb 7 1997 16:44:21 cksum(1) Output: 3888520208 6392 /sbin/ioinitrc 377158811 12346 /sbin/modelstr Patch Conflicts: None Patch Dependencies: s700: 10.20: PHCO_19783 Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_14117 PHCO_14362 PHCO_17866 PHCO_19784 PHCO_20829 Equivalent Patches: None Patch Package Size: 80 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_21125 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_21125.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_21125. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHCO_21125.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_21125.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: Applying this patch will cause the system to reboot. When the system reboots for the first time, it will determine if the device files /dev/tty0p0 and /dev/tty1p0 need to be reassigned. If so, it will perform the reassignment and reboot the system again. If the system reassigns the device files for the serial ports /dev/tty0p0 and /dev/tty1p0, any manual configuration that depends on those device file names may need to be updated to be consistent with the new assignments.