Patch Name: PHNE_25488 Patch Description: s700_800 11.00 EISA mux driver/utilities cumulative patch Creation Date: 02/01/11 Post Date: 02/01/17 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: EISA-MUX B.11.00.00 EISA-MUX B.11.00.01 EISA-MUX B.11.00.02 EISA-MUX B.11.00.04 EISA-MUX B.11.00.07 EISA-MUX B.11.00.11 Filesets: EISA-MUX.EISA-MUX-KRN,fr=B.11.00.00,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-KRN,fr=B.11.00.01,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-KRN,fr=B.11.00.02,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-KRN,fr=B.11.00.04,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-KRN,fr=B.11.00.07,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-KRN,fr=B.11.00.11,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-RUN,fr=B.11.00.00,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-RUN,fr=B.11.00.01,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-RUN,fr=B.11.00.02,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-RUN,fr=B.11.00.04,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-RUN,fr=B.11.00.07,fa=HP-UX_B.11.00_32,v=HP EISA-MUX.EISA-MUX-RUN,fr=B.11.00.11,fa=HP-UX_B.11.00_32,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_25488: PANIC PHNE_16386: PANIC Category Tags: defect_repair enhancement general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHNE_25488 Symptoms: PHNE_25488: SR: 8606227010 CR: JAGad96072 Mux initialization has to be made more robust. 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" SR: 8606223851 CR: JAGad92948 Addition of q4 debugging functionality to EISA-MUX. SR: 8606215957 CR: JAGad85129 Terminal cross talk when using 64 port card with 25 ft cable. SR: 8606201501 CR: JAGad70677 System panics with the following diagnostic message, "Mux timed out waiting for flow control to clear." SR: 8606233790 CR: JAGae03014 Killing a process would sometimes leave hung ports. SR: 8606173669 CR: JAGad42926 Once in a while writes of data larger than 4k cause the system to panic. SR: 8606233791 CR: JAGae03015 25 ft cables cause board to fail initialization. SR: 8606233792 CR: JAGae03016 Invoking emux_diag(1M) will occasionally close window. SR: 8606233793 CR: JAGae03017 Unable to differentiate between 5v and 3.3v cards. PHNE_16386: 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 Defect Description: PHNE_25488: SR: 8606227010 CR: JAGad96072 The initialization code for the mux product has to be made more robust. This involves enhancing ring initialization patterns and resetting registers that could have been corrupted in the case of a card reset. Resolution: The initialization process has been modified to pre-set all necessary registers with appropriate values and the ring initialization has been made more robust. SR: 8606220546 CR: JAGad89684 The "delay()" function call added as a part of the fix for JAGad42926 (SR: 8606173669) in function eqnx_mux0_sst_write() causes the system to panic. Resolution: The panic was a result of argument mismatch. The "delay()" function call has now been fixed to pass appropriate arguments hence fixing the panic. 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. SR: 8606215957 CR: JAGad85129 A6749A, PCI mux products have been encountering terminal I/O problems such as "cross talk" where data is displayed on the wrong terminal. Resolution: Fix has been made to reset corrupt memory addresses that might have been saved in the event of a card reset which would lead to crosstalk. SR: 8606201501 CR: JAGad70677 Coding error prevented untimeout() from being called. This function removes the timeout interrupt handler from the callout table. Hence the callout table overflowed causing the panic. Resolution: Changes have been made to call the untimeout routine appropriately and prevent the table from overflowing. SR: 8606233790 CR: JAGae03014 Defect with SR: 8606201501 also prevented the close routine from flushing the output buffers leaving the driver in a flow-controlled or hung state. Resolution: Changes have been made to call the close routine and hence change the port state back to normal. SR: 8606173669 CR: JAGad42926 It appears a hardware register is being corrupted and set to -1 during a write. This in turn causes the driver to uiomove 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. Resolution: Appropriate changes have been made to avoid writing beyond the 4k limit and also handle conditions of hardware register corruption. SR: 8606233791 CR: JAGae03015 State machine gets incorrectly initialized when the board is reset due to timing issues related to 25 foot cables. Resolution: Initialization code has been further enhanced to handle the above 25ft cable problem. SR: 8606233792 CR: JAGae03016 emux_diag(1M) was compiled with the wrong curses library. Resolution: The appropriate curses library is now being used for compilation. SR: 8606233793 CR: JAGae03017 emux_diag(1M) did not provide a mechanism to differentiate between 3.3v and 5v mux cards. Resolution: emux_diag(1M) has been modified to display the Revision Id information on the board. 5volt 8port boards have a value of 4 and 64port boards have a value of 5, 3.3volt 8port boards have a value of 5 and 64port boards have a value of 6. PHNE_16386: 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 SR: 0000000000 0000000000 5003419994 1653262006 5003434316 5003434274 8606173669 8606201501 8606215957 8606220546 8606223851 8606227010 8606233790 8606233791 8606233792 8606233793 Patch Files: EISA-MUX.EISA-MUX-KRN,fr=B.11.00.00,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-KRN,fr=B.11.00.01,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-KRN,fr=B.11.00.02,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-KRN,fr=B.11.00.04,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-KRN,fr=B.11.00.07,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-KRN,fr=B.11.00.11,fa=HP-UX_B.11.00_32, v=HP: /usr/conf/lib/libeisa_mux.a /usr/conf/lib/libeisa_muxdbg.o /usr/conf/master.d/eisa_mux EISA-MUX.EISA-MUX-RUN,fr=B.11.00.00,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-RUN,fr=B.11.00.01,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-RUN,fr=B.11.00.02,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-RUN,fr=B.11.00.04,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-RUN,fr=B.11.00.07,fa=HP-UX_B.11.00_32, v=HP: EISA-MUX.EISA-MUX-RUN,fr=B.11.00.11,fa=HP-UX_B.11.00_32, v=HP: /usr/bin/emux_diag /usr/bin/emux_stty what(1) Output: EISA-MUX.EISA-MUX-KRN,fr=B.11.00.00,fa=HP-UX_B.11.00_32, v=HP: /usr/conf/lib/libeisa_mux.a: HP EISA Mux Device Driver, FILESET EISA-MUX-KRN Vers ion B.11.00.14 PHNE_25488@(#) Copyright (c) 2000 Hewlett-Packard Company HP EISA Mux Device Driver, FILESET EISA-MUX-KRN Vers ion B.11.00.14 PHNE_25488@(#) Copyright (c) 2000 Hewlett-Packard Company /usr/conf/lib/libeisa_muxdbg.o: HP EISA Mux Debug Library, FILESET EISA-MUX-KRN Vers ion B.11.00.14 PHNE_25488@(#) Copyright (c) 2000 Hewlett-Packard Company /usr/conf/master.d/eisa_mux: $Revision: 1.1.71.6 $ EISA-MUX.EISA-MUX-RUN,fr=B.11.00.00,fa=HP-UX_B.11.00_32, v=HP: /usr/bin/emux_diag: HP PCI/EISA Mux diagnostic (emux_diag), Version B.11 .00.14 PHNE_25488 /usr/bin/emux_stty: HP PCI/EISA Mux stty (emux_stty), Version B.11.00.14 PHNE_25488 cksum(1) Output: EISA-MUX.EISA-MUX-KRN,fr=B.11.00.00,fa=HP-UX_B.11.00_32, v=HP: 4060803456 113072 /usr/conf/lib/libeisa_mux.a 1301104182 181396 /usr/conf/lib/libeisa_muxdbg.o 2341545263 4307 /usr/conf/master.d/eisa_mux EISA-MUX.EISA-MUX-RUN,fr=B.11.00.00,fa=HP-UX_B.11.00_32, v=HP: 3490698568 163840 /usr/bin/emux_diag 4173465881 36864 /usr/bin/emux_stty Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_16386 Equivalent Patches: None Patch Package Size: 520 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_25488 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_25488.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_25488. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHNE_25488.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_25488.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_25488.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None