Patch Name: PHNE_23713 Patch Description: s700_800 10.20 1000Base-SX/T B.10.20.[01-11] cumul. patch Creation Date: 01/10/18 Post Date: 01/12/19 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: HP HSC Gigabit Ethernet B.10.20.01 ; HP HSC_PCI Gigabit Ethernet Driver B.10.20.02 B.10.20.03 B.10.20.05 B.10.20.07 B.10.20.09 B.10.20.11 Filesets: GBE-HSC.GBE-KRN,B.10.20.01 GBE-HSC.GBE-RUN,B.10.20.01 GBE-CMD-COM.GBE-CMD,B.10.20.01 GBE-HSC-PCI.GBE-HSC-PCI-KRN,B.10.20.02,B.10.20.03,B.10.20.05 GBE-HSC-PCI.GBE-HSC-PCI-KRN,B.10.20.07,B.10.20.09,B.10.20.11 GBE-HSC-PCI.GBE-HSC-PCI-RUN,B.10.20.02,B.10.20.03,B.10.20.05 GBE-HSC-PCI.GBE-HSC-PCI-RUN,B.10.20.07,B.10.20.09,B.10.20.11 GBE-CMD-COM.GBE-HSC-PCI-CMD,B.10.20.02,B.10.20.03,B.10.20.05 GBE-CMD-COM.GBE-HSC-PCI-CMD,B.10.20.07,B.10.20.09,B.10.20.11 Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_23713: PANIC CORRUPTION PHNE_19564: PANIC PHNE_18505: PANIC PHNE_17408: PANIC Path Name: /hp-ux_patches/s700_800/10.X/PHNE_23713 Symptoms: PHNE_23713: 1. JAGad39720: Corrupt packets received on the Gigabit Ethernet interface may cause memory corruption and result in a system panic. 2. JAGad16970: Statistics display in lanadmin (menu mode) for 1000Base-X/T cards does not complete when only one newline has been input. 3. JAGad47886: Message " Cmd Cons after reset: 0" logged inadvertently in the syslog.log and dmesg. PHNE_19564: 1. The gbeutil binary is corrupted and does not have execute permissions in revision B.10.20.07 of the Gigabit Ethernet Adapter product. 2. gbeutil displays the value of "Mapping failures" incorrectly when the driver statistics is printed. 3. On K, R and D-class servers, and B, C and J2240 workstations, the driver generates corrupted outbound packets. 4. The Gigabit Ethernet driver displays each outbound packet twice when nettl(1M) tracing is enabled. 5. NFS traffic may hang when outbound promiscuous mode is enabled. 6. A telnet session may hang or timeout under heavy traffic. 7. The Gigabit Ethernet driver displays an incorrect error message "Could not read from the card serial EEPROM" in the dmesg(1M) output when tuning parameters are modified through gbeutil. 8. The system may panic with a data page fault under outbound UDP traffic when outbound promiscuous mode is enabled. 9. The Gigabit Ethernet driver displays redundant debugging information in the dmesg(1M) output. 10. The system may panic under heavy outbound traffic when outbound promiscuous mode is enabled and disabled repeatedly. PHNE_18505: 1. The Gigabit Ethernet driver may not be able to send packets when a lanadmin(1M) station address change command is issued while the cable is disconnected. 2. The performance of the Gigabit Ethernet driver is sub-optimal. 3. The 1000Base-SX Gigabit Ethernet adapter hangs intermittently during heavy data transfer. 4. The system may panic due to a spinlock deadlock on outbound data transfer. 5. The Gigabit Ethernet driver displays an incorrect nettl(1M) logging message "unable to allocate buffers" when the system has adequate memory. PHNE_17408: 1. The system may panic while using lanadmin(1M) reset during data transfer. 2. TCP data transfer between EISA 100Base-T and 1000Base-SX adapters either hangs or is very slow. 3. The system may panic when the cable is disconnected during data transfer. Defect Description: PHNE_23713: 1. JAGad39720: The 1000Base-SX/T adapter firmware was not working correctly on receiving corrupt packets on the interface. 2. JAGad16970: lanadmin (menu mode) requires an extra newline of user input to complete the statistics display for 1000Base-SX/T cards. 3. JAGad47886: This message was introduced for debugging purpose, which was left behind inadvertently. Resolution: 1. JAGad39720: The 1000Base-SX/T adapter firmware has been modified to fix the problem. 2. JAGad16970: Statistics display in lanadmin (menu mode) for 1000Base-SX/T cards has been modified to complete the display without the additional newline in the user input. 3. JAGad47886: The message is not logged. PHNE_19564: 1. The gbeutil binary was corrupted due to incorrect product packaging. 2. The "Mapping failures" counter was incremented incorrectly. 3. On certain systems, the hardware was incorrectly prefetching cachelines on page boundaries, resulting in a data corruption. 4. The Gigabit Ethernet driver was incorrectly displaying each outbound packets twice when nettl(1M) tracing was enabled. 5. The outbound packet was not looped back to the promiscuous stream correctly. 6. The transmit routine of the Gigabit Ethernet driver did not initialize transmit buffers correctly for packets with more than 6 buffers. 7. The Gigabit Ethernet driver accessed the serial EEPROM on the adapter unnecessarily, after modifying the tuning parameters. 8. When outbound promiscuous mode was enabled, the Gigabit Ethernet driver did not check for buffer allocation failures before mapping buffers for DMA transfer. 9. The Gigabit Ethernet driver incorrectly displayed redundant debugging information in the dmesg(1M) output. 10. When outbound promiscuous mode was enabled and disabled repeatedly, the Gigabit Ethernet driver incorrectly referenced the checksum information for packets that need not be checksummed. Resolution: 1. The gbeutil binary has been packaged into the product bundle correctly. 2. The "Mapping failures" counter is incremented correctly. 3. A workaround has been implemented in the Gigabit Ethernet driver to prevent hardware from incorrectly prefetching cachelines on page boundaries, thus preventing a data corruption. 4. The transmit path of the Gigabit Ethernet driver has been modified to display each outbound packet once when nettl(1M) tracing is enabled. 5. Outbound packets are looped back to the promiscuous stream correctly. 6. The transmit routine of the Gigabit Ethernet driver initializes transmit buffers correctly for packets with more than 6 buffers. 7. The Gigabit Ethernet driver does not access the serial EEPROM on the adapter after modifying the tuning parameters. 8. When outbound promiscuous mode is enabled, the Gigabit Ethernet driver checks for buffer allocation failures before mapping buffers for DMA transfer. 9. The redundant debugging information has been removed from the dmesg(1M) output. 10. When outbound promiscuous mode is enabled and disabled repeatedly, the Gigabit Ethernet driver does not reference the checksum information for packets that need not be checksummed. PHNE_18505: 1. The station address maintained by the Gigabit Ethernet driver was not updated when a lanadmin(1M) station address change command is issued when the cable is disconnected. 2. The transmit and receive paths of the Gigabit Ethernet driver were not optimized. 3. The 1000Base-SX adapter firmware did not handle DMA transfers that end on a 32-bit boundary correctly. 4. The Gigabit Ethernet driver did not initialize transmit buffers correctly for packets with more than 6 buffers. 5. The receive buffers were incorrectly initialized during buffer replenishment. Resolution: 1. The Gigabit Ethernet driver has been modified to allow station address changes when the cable is disconnected. 2. The Gigabit Ethernet driver's transmit and receive paths have been modified to improve the driver performance. 3. The 1000Base-SX adapter firmware has been modified to to eliminate hangs during DMA transfers that end on a 32-bit boundary. 4. The transmit routine of the Gigabit Ethernet driver has been modified to initialize transmit buffers correctly for packets with more than 6 buffers. 5. The receive buffers are initialized correctly during buffer replenishment. PHNE_17408: 1. The reset routine of the driver was not initializing the addresses of receive buffers correctly on memory allocation failures. 2. The 1000Base-SX adapter firmware was computing the checksums of padded short packets incorrectly. 3. The receive routine of the driver was handling link down notifications incorrectly. SR: 8606170456 8606147628 8606178660 1653283762 8606103655 8606112012 8606109057 8606104962 8606108254 8606108311 8606109364 8606109937 Patch Files: /usr/conf/lib/libgelan.a /usr/conf/lib/gelan_dbg.o /usr/conf/master.d/gelan /usr/bin/gbeutil /sbin/init.d/hpgelan /usr/lib/nls/msg/C/dsgelan.cat /usr/lib/lanadmin/libdsgelan.1 /usr/lib/nls/msg/C/pegelan.cat /usr/lib/lanscan/libpegelan.1 /usr/lib/nls/msg/C/fmgelan.cat /usr/lib/libfmgelan.1 /sbin/rc2.d/S308hpgelan /sbin/rc1.d/K692hpgelan /usr/lib/lanadmin/libdsgelan.sl /usr/lib/lanscan/libpegelan.sl /usr/lib/libfmgelan.sl /usr/newconfig/etc/rc.config.d/hpgelanconf /usr/sbin/hpgelan_init /usr/share/man/man1m.Z/gbeutil.1m what(1) Output: /usr/conf/lib/libgelan.a: gelan 1000Base-SX/T Revision: B.10.20.12 - PHNE_2371 3 Oct 18 2001 10:08:39 /usr/conf/master.d/gelan: None /usr/conf/lib/gelan_dbg.o: None /usr/lib/nls/msg/C/dsgelan.cat: None /usr/lib/lanadmin/libdsgelan.1: libdsgelan.sl: B.10.20.12 PHNE_23713 Nov 12 2001 13: 21:07 /usr/lib/nls/msg/C/pegelan.cat: None /usr/lib/lanscan/libpegelan.1: libpegelan.sl: B.10.20.12 PHNE_23713 Oct 19 2001 10: 22:52 /usr/lib/libfmgelan.1: GELAN Subsystem Formatter Revision: B.10.20.12 - PHN E_23713 Oct 30 2001 10:07:22 /usr/lib/nls/msg/C/fmgelan.cat: None /sbin/init.d/hpgelan: None /usr/newconfig/etc/rc.config.d/hpgelanconf: None /usr/bin/gbeutil: gbeutil Revision: B.10.20.12 - PHNE_23713 Oct 30 200 1 10:12:25 /sbin/rc2.d/S308hpgelan: None /sbin/rc1.d/K692hpgelan: None /usr/lib/lanadmin/libdsgelan.sl: libdsgelan.sl: B.10.20.12 PHNE_23713 Nov 12 2001 13: 21:07 /usr/lib/lanscan/libpegelan.sl: libpegelan.sl: B.10.20.12 PHNE_23713 Oct 19 2001 10: 22:52 /usr/lib/libfmgelan.sl: GELAN Subsystem Formatter Revision: B.10.20.12 - PHN E_23713 Oct 30 2001 10:07:22 /usr/sbin/hpgelan_init: None /usr/share/man/man1m.Z/gbeutil.1m: None cksum(1) Output: 62986855 423186 /usr/conf/lib/libgelan.a 2598417103 3333 /usr/conf/master.d/gelan 113427382 172340 /usr/conf/lib/gelan_dbg.o 2677451911 5899 /usr/lib/nls/msg/C/dsgelan.cat 685469714 61440 /usr/lib/lanadmin/libdsgelan.1 3231781941 114 /usr/lib/nls/msg/C/pegelan.cat 4132254536 12288 /usr/lib/lanscan/libpegelan.1 3342461264 4371 /usr/lib/nls/msg/C/fmgelan.cat 1248120566 17254 /sbin/init.d/hpgelan 1990177687 3004 /usr/newconfig/etc/rc.config.d/hpgelanconf 3315763576 73728 /usr/bin/gbeutil 1248120566 17254 /sbin/rc2.d/S308hpgelan 1248120566 17254 /sbin/rc1.d/K692hpgelan 685469714 61440 /usr/lib/lanadmin/libdsgelan.sl 4132254536 12288 /usr/lib/lanscan/libpegelan.sl 1754101099 12288 /usr/lib/libfmgelan.1 1754101099 12288 /usr/lib/libfmgelan.sl 252654701 12846 /usr/sbin/hpgelan_init 2263938286 2525 /usr/share/man/man1m.Z/gbeutil.1m Patch Conflicts: None Patch Dependencies: s700: 10.20: PHNE_22351 s800: 10.20: PHNE_22352 Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_17408 PHNE_18505 PHNE_19564 Equivalent Patches: None Patch Package Size: 860 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_23713 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_23713.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_23713. 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_23713.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_23713.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: A new /etc/rc.config.d/hpgelanconf was delivered as /usr/newconfig/etc/rc.config.d/hpgelanconf. It contains additional configurable parameters. If you wish to use the new file, merge it with the contents of the existing /etc/rc.config.d/hpgelanconf. To configure the Gigabit Ethernet interface parameters via SAM, you need to merge the files. To configure the Gigabit Ethernet interface parameters via SAM, users need to install SAM patch: PHCO_22268.