Patch Name: PHNE_23882 Patch Description: s700_800 10.20 EISA Mux driver/utilities cumulative patch Creation Date: 02/04/10 Post Date: 02/04/23 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: EISA-MUX B.10.20.00 EISA-MUX B.10.20.01 EISA-MUX B.10.20.02 EISA-MUX B.10.20.03 EISA-MUX B.10.20.04 EISA-MUX B.10.20.05 EISA-MUX B.10.20.06 EISA-MUX B.10.20.07 EISA-MUX B.10.20.09 EISA-MUX B.10.20.11 Filesets: EISA-MUX.EISA-MUX-KRN,B.10.20.00 EISA-MUX.EISA-MUX-KRN,B.10.20.01 EISA-MUX.EISA-MUX-KRN,B.10.20.02 EISA-MUX.EISA-MUX-KRN,B.10.20.03 EISA-MUX.EISA-MUX-KRN,B.10.20.04 EISA-MUX.EISA-MUX-KRN,B.10.20.05 EISA-MUX.EISA-MUX-KRN,B.10.20.06 EISA-MUX.EISA-MUX-KRN,B.10.20.07 EISA-MUX.EISA-MUX-KRN,B.10.20.09 EISA-MUX.EISA-MUX-KRN,B.10.20.11 EISA-MUX.EISA-MUX-RUN,B.10.20.00 EISA-MUX.EISA-MUX-RUN,B.10.20.01 EISA-MUX.EISA-MUX-RUN,B.10.20.02 EISA-MUX.EISA-MUX-RUN,B.10.20.03 EISA-MUX.EISA-MUX-RUN,B.10.20.04 EISA-MUX.EISA-MUX-RUN,B.10.20.05 EISA-MUX.EISA-MUX-RUN,B.10.20.06 EISA-MUX.EISA-MUX-RUN,B.10.20.07 EISA-MUX.EISA-MUX-RUN,B.10.20.09 EISA-MUX.EISA-MUX-RUN,B.10.20.11 Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_23882: PANIC PHNE_9026: HANG Path Name: /hp-ux_patches/s700_800/10.X/PHNE_23882 Symptoms: PHNE_23882: 1. { SR: 8606215957 CR: JAGad85129 } Terminal cross talk when using 64 port Mux products with 25 foot cable. 2. { SR: 8606220546 CR: JAGad89684 } The system panics with Data Page Fault, after logging the following diagnostic message in the system buffers, "q_data_count >= q_size, possibly corrupting memory". The stack trace is as follows: panic+0x10 report_trap_or_int_and_panic+0xe8 0x1 0xf 0x7ffe6ec0 trap+0xa48 $RDB_trap_patch+0x20 delay+0x44 0xa eisa_mux0_sst_write+0x414 0x182a310 0x7ffe6a88 eisa_mux0_write+0x68 0xef022100 0x7ffe6a88 spec_rdwr+0x7bc vno_rw+0xb8 0x10f2590 0x2 0x7ffe6a88 rwuio+0xc4 0x7ffe6a88 0x2 0x1 write+0x58 0x7ffe6268 $syscall+0x1a4 $syscallrtn+0x0 3. { SR: 8606223851 CR: JAGad92948 } Addition of symbolic debugging functionality to EISA-MUX. 4. { SR: 8606173669 CR: JAGad42926 } Occasionally, writes of data larger than 4k cause the system to panic. 5. { SR: 8606233791 CR: JAGae03015 } Using 25 foot cables causes Mux board to fail during initialization. PHNE_17022: 1) Port 4 on 8-Port EISA mux to D-series does not work PHNE_16384: 1) Output garbage that hangs modem on EISA mux 2) System panic in EQNX_sst_proc on stack trace on EISA mux 3) Read(2) not reading data although select(2) returns true 4) Data flow will not restart again with tcflow on EISA mux 5) FIONREAD call does not work correctly on EISA mux 6) Use HW path instead of slot number for EISA mux PHNE_11667: UPS failed to work on EISA mux in by-pass mode. Select interface failed to work on EISA mux in by-pass mode. PHNE_9026: VTIME > 0, VMIN = 0 caused raw mode read to return in less time than specified in VTIME. VsiFax software failed to work due to above VTIME/VMIN problem. Select system call hangs on EISA mux port. Screen froze when running telnet on EISA mux port due to the above failure on the select system call. Defect Description: PHNE_23882: 1. {SR: 8606215957 CR: JAGad85129 } 64 port Mux products have terminal I/O problems such as "cross talk" (data is being displayed on the wrong terminal). This is due to corrupt memory addresses being saved in the event of a reset. Resolution: Code has been fixed to re-initialize corrupt memory addresses which could lead to crosstalk. 2. { SR: 8606220546 CR: JAGad89684 } The "delay()" function call in the function eqnx_mux0_sst_write() causes the system to panic under certain corner cases. The panic is a result of argument mismatch. Resolution: The "delay()" function call has been modified to pass appropriate arguments hence fixing the panic. 3. { SR: 8606223851 CR: JAGad92948 } Enhance Mux product to include EISA-MUX code symbols and hence allow data structures from this code to be formatted using q4. This would help faster analysis of crash dumps. Resolution: A new file libeisa_muxdbg.o has been added to the product. This library contains the necessary symbolic information required for kernel debugging. 4. { SR: 8606173669 CR: JAGad42926 } A hardware register is being corrupted and set to -1 during a write. This in turn causes the driver to move all the remaining data (uio_resid) into the drivers' internal buffer (uio_hack). If the size of the data moved is > 4k, memory beyond uio_hack is overwritten resulting in a panic due to Data Page Fault. Resolution: Appropriate changes have been made to avoid writing beyond the 4k limit of uio_hack and also handle conditions of hardware register corruption. 5. { SR: 8606233791 CR: JAGae03015 } State machine gets incorrectly initialized when the Mux board is reset due to timing issues when using 25 foot cables. Resolution: Initialization code has been further enhanced to fix the initialization problem related to 25 foot cables. PHNE_17022: Logic error in driver that handles 8-Port EISA mux causes Port 4 to fail. Resolution: The fix was to change the logic associated with the calculation of the channels associated with the hardware to make Port 4 work PHNE_16384: 1) Logic error in enabling opost processing in HW. 2) Typo error caused a missing "&" for address of a variable 3) Logic error in by-pass mode processing. 4) Logic error in handling flow control. 5) FIONREAD was not processed in by-pass mode. 6) This is an enhancement for support multi-node V class PHNE_11667: This problem was casued by a logic error in the by-pass mode select interface. PHNE_9026: The first problem was caused by a logic error in the by-pass mode of the EISA mux driver handling the VTIME > 0 and VMIN = 0 case incorrectly. The second problem was caused by the fact that the driver was mistakenly sleeping on the process instead of the kernel thread. SR: 5003332536 5003328286 4701332684 4701308122 5003339283 5003336016 1653212324 1653220368 5003419994 1653262006 5003434316 5003434274 5003438879 8606215957 8606220546 8606223851 8606173669 8606233791 Patch Files: /usr/conf/lib/libeisa_mux.a /usr/conf/lib/libeisa_muxdbg.o /sbin/lib/eisa/!HWP1510.CFG /usr/conf/master.d/eisa_mux /usr/bin/emux_diag /usr/bin/emux_stty what(1) Output: /usr/conf/lib/libeisa_mux.a: HP EISA Mux Driver, FILESET EISA-MUX-KRN Version B.1 0.20.14 PHNE_23882 Copyright (c) 1997 Hewlett-Packard Company HP EISA Mux Driver, FILESET EISA-MUX-KRN Version B.1 0.20.14 PHNE_23882 Copyright (c) 1997 Hewlett-Packard Company /usr/conf/lib/libeisa_muxdbg.o: HP EISA Mux Dbg Lib, FILESET EISA-MUX-KRN Version B. 10.20.14 PHNE_23882 Copyright (c) 1997 Hewlett-Packard Company /usr/conf/master.d/eisa_mux: $Revision: 1.1.71.6 $ /sbin/lib/eisa/!HWP1510.CFG: None /usr/bin/emux_diag: HP PCI/EISA Mux diagnostic (emux_diag), Version B.10 .20.14 PHNE_23882 /usr/bin/emux_stty: HP PCI/EISA Mux stty (emux_stty), Version B.10.20.14 PHNE_23882 cksum(1) Output: 204893491 106030 /usr/conf/lib/libeisa_mux.a 460010806 180164 /usr/conf/lib/libeisa_muxdbg.o 2677413876 4308 /usr/conf/master.d/eisa_mux 3538102271 6071 /sbin/lib/eisa/!HWP1510.CFG 2942999757 156153 /usr/bin/emux_diag 4007603754 36924 /usr/bin/emux_stty Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_9026 PHNE_11667 PHNE_16384 PHNE_17022 Equivalent Patches: None Patch Package Size: 540 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 PHNE_23882 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_23882.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_23882. 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 PHNE_23882.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/PHNE_23882.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None