Patch Name: PHNE_29324 Patch Description: s700_800 11.00 IGELAN 1000Base-SX/T B.11.00.[04-07] patch Creation Date: 03/12/10 Post Date: 04/02/13 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: HP PCI Gigabit Ethernet Driver IGELAN B.11.00.04 B.11.00.07 Filesets: IGELAN-DRV.IGELAN-KRN,fr=B.11.00.04,fa=HP-UX_B.11.00_64,v=HP IGELAN-DRV.IGELAN-KRN,fr=B.11.00.07,fa=HP-UX_B.11.00_64,v=HP IGELAN-DRV.IGELAN-RUN,fr=B.11.00.04,fa=HP-UX_B.11.00_64,v=HP IGELAN-DRV.IGELAN-RUN,fr=B.11.00.07,fa=HP-UX_B.11.00_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_29324: PANIC HANG CORRUPTION PHNE_27201: HANG Category Tags: defect_repair general_release critical panic halts_system corruption Path Name: /hp-ux_patches/s700_800/11.X/PHNE_29324 Symptoms: PHNE_29324: 1. JAGae90312:The igelan interface may hang when transmitting traffic on systems with 4GB of memory or more. 2. JAGae87327: In the event of auto negotiation failures during initialization of 1000Base-T interfaces might lead to data corruption or HPMC. 3. JAGae83994:If the igelan driver's initialization fails some data structures are not freed. 4. JAGae83740: If there is an error in processing flow control or autonegotiation changes, the original values are not restored. 5. JAGae82308:The latest Gigabit Ethernet documentation will no longer be updated under the /opt/networkdocs directory. 6. JAGae74614:The igelan driver startup script, hpigelan, issues a "Bad speed value" error in the file /etc/rc.log, when the LANG environment variable is not set to "C". 7. JAGae68085: The interface may not operate correctly when the system has more than 127 lan interfaces. This condition can be identified by large or duplicate values for instance number (PPA) as seen in lanscan command output. 8. JAGae64577: When the transmit cable of 1000Base-SX card is disconnected, the LED shows link up while the igelan driver state as reported in "lanadmin -x card_info PPA" is IGELAN_OFFLINE. 9. JAGae52056: If in /etc/rc.config.d/hpigelanconf, an interface is configured to have a subgigabit speed setting, then a user might not be able to configure Jumbo MTU on subsequent interfaces. 10. JAGae49858: "lanadmin -x speed PPA" does not return the last user requested speed/duplexity setting when the link is down. 11. JAGae46291: SAM does'nt display errors during the igelan interface configuration. 12. JAGae96962:An empty line gets printed when the user specifies the help flag for lanadmin -X/-x options. 13. JAGae93351: A defect in the implementation of the multicast algorithm may result in kernel data corruption leading to a panic. 14 JAGae86818: Some TCP/UDP applications might experience hangs or extremely poor networking performance over an igelan interface. 15. JAGae58233: igelan driver prints out warning message during intialization. 16. JAGae30228: The hpigelanconf file has incorrect default values for SEND_MAX_BUFS and SEND_COAL_TICKS tunables. 17. JAGae64445: On a A6847A 1000Base-SX card, if the TX cable (link partner's RX cable) is disconnected or broken, system responsiveness could degrade. 18. JAGae94668: Flow control changes don't cause autonegotiation to restart for the 1000Base-T cards. 19. JAGae78851: Nettl error logs indicating link partner is half-duplex are logged needlessly for the 1000Base-SX cards. 20. JAGaf03465: When a large number of multicast addresses are enabled on an interface, an application retrieving the multicast list from that interface may see an incomplete list or incorrect addresses. PHNE_27201: 1. JAGae27936: Certain applications using UDP ( eg. NFS ) may encounter timeouts/hangs due to bad UDP checksums. 2. JAGae20835: lanadmin -g mibstats requires user to hit Carriage Return to complete. 3. JAGae28274: Setting ifAdminStatus up/down on igelan cards causes system to hang. Defect Description: PHNE_29324: 1. JAGae90312:The 1000Base-SX/T adapter cannot handle DMA transfers that span or end at any 4GB boundary. Resolution:The igelan driver has been modified to eliminate the use of buffers which span or end at any 4GB boundaries. 2. JAGae87327: The igelan driver was unlocking a spinlock twice when auto negotiation failed, which lead to synchronization problems. Resolution: Second unlock has been removed. 3. JAGae83994: If initialization fails, the igelan driver is not deallocating some data structures. Resolution: The deallocation of the data structure is done now. 4. JAGae83740:If the ioctls for changing autonegotiation and flow control fail, the original values are not restored. Resolution:The original values are now restored in the error cases. 5. JAGae82308: The latest Gigabit Ethernet documentation: Support Guide, Release Notes, and Installation Guide will no longer be updated under the /opt/networkdocs directory. GigEther-01_README file has not been updated with the information. Resolution: GigEther-01_README has been updated. Please refer to http://www.docs.hp.com and look under "Networking and Communications" for the product related documentation. 6. JAGae74614: The case conversion ( translation "tr" command )of the SPEED parameter value in /etc/rc.config.d/hpigelanconf is not handled correctly by the hpigelan startup script when LANG is not set to "C". Resolution: The case conversion is done correctly now. 7. JAGae68085: The way the igelan driver assigns the card instance number is incorrect. When the instance number assigned to the card is more than 127, it becomes a huge or duplicate value. Resolution: The assignment of card instance number is done correctly now. 8. JAGae64577: The controller was incorrectly keeping the link LED on when the transmit cable of 1000Base-SX card is disconnected. Resolution: Instead of the controller, the igelan driver now controls the setting of the LED register. 9. JAGae52056: A flag which disallows setting of JUMBO MTU is not reset after configuring the subgigabit interface, causing subsequent interfaces to not be able to configure JUMBO MTU. Resolution:The flag is reset for each interface. 10. JAGae49858:When the link is down the igelan driver is returning the speed/duplexity setting of when the link was last up rather than the last user requested speed/duplexity setting. Resolution:The igelan driver returns the most recent user requested speed/duplexity setting now. 11. JAGae46291: A flag which indicates if error messages are to be printed or not, is not intialized correctly in hpigelan_init. SAM uses stderr output from hpigelan_init script to determine if there are any errors during configuration. Resolution:The flag is intialized correctly now. 12. JAGae96962:An empty line is printed when the user enters a lanadmin -x/-X help command to retrieve the possible completions for the driver specific lanadmin options. Resolution:The printing of the empty line is suppressed. 13. JAGae93351: A defect in the implementation of the multicast algorithm may result in kernel data corruption leading to a panic. Resolution:The defect in the implementation is fixed. 14 JAGae86818: Due to an error in the logic of the tcp/udp pseudo header computation in the driver the igelan card may generate bad tcp/udp checksums if certain data patterns are present within the packet. Resolution: The logic has been fixed to correctly compute the tcp/udp pseudo header checksum under all conditions. 15. JAGae58233: The igelan driver prints out a warning message during intialization to notify the user that additional software/patches may be required to enable the APA(Auto Port Aggregation) feature. Resolution: Extra warning messages have been removed. 16. JAGae30228: The hpigelanconf file has incorrect default values for the tunables SEND_MAX_BUFS, SEND_COAL_TICKS. Resolution: The default values have been corrected in the hpigelanconf file. 17. JAGae64445: If the TX cable is disconnected or broken the link partner notifies the local adapter of a change in link status by constantly sending autonegotiation requests. The host becomes burdened with these continuous requests. Resolution: Autonegotiation has been offloaded from the driver to firmware that is downloaded to the A6847A. 18. JAGae94668: The driver does not renegotiate flow control capabilities on 1000Base-T cards after a flow control change. Resolution: Autonegotiation is restarted upon flow control changes. 19. JAGae78851: Some fiber link partners advertise both full and half duplex capabilities. Nettl error messages are issued whenever the half-duplex bit is set, regardless of whether full-duplex is advertised. Resolution: A nettl error is issued if only the half-duplex bit is set. 20. JAGaf03465: When an application tries to retrieve the list of multicast addresses enabled on an interface, the driver may return a truncated list if the number of addresses enabled is large. Resolution: The driver is modified to return correct and complete multicast addresses list. PHNE_27201: 1. JAGae27936: The checksum calculation done by the firmware is incorrect for certain message sizes for UDP fragments. Resolution: The firmware is fixed to handle the scenario correctly. 2. JAGae20835: lanadmin requires the driver shared library to define a function called "disp_continue()". The igelan driver does not currently define/use this function in its mibstats display function, which is the cause of this defect. Resolution: The igelan driver now has the function called disp_continue. 3. JAGae28274: System hang due to negative spinlock depth. Resolution: A locking bug in the driver has been fixed to resolve the negative spinlock depth problem. Enhancement: No SR: 8606263610 8606259274 8606263948 8606329188 8606325037 8606321526 8606321261 8606319820 8606311793 8606305036 8606301107 8606288123 8606285917 8606282339 8606335908 8606332231 8606324353 8606294536 8606265975 8606300975 8606333580 8606316134 8606342571 Patch Files: IGELAN-DRV.IGELAN-KRN,fr=B.11.00.04,fa=HP-UX_B.11.00_64, v=HP: IGELAN-DRV.IGELAN-KRN,fr=B.11.00.07,fa=HP-UX_B.11.00_64, v=HP: /usr/conf/lib/libigelan.a IGELAN-DRV.IGELAN-RUN,fr=B.11.00.04,fa=HP-UX_B.11.00_64, v=HP: IGELAN-DRV.IGELAN-RUN,fr=B.11.00.07,fa=HP-UX_B.11.00_64, v=HP: /sbin/init.d/hpigelan /usr/sbin/hpigelan_init /sbin/rc1.d/K695hpigelan /sbin/rc2.d/S305hpigelan /usr/newconfig/etc/rc.config.d/hpigelanconf /usr/lib/nls/msg/C/dsigelan.cat /usr/lib/nls/msg/C/peigelan.cat /usr/lib/lanadmin/libdsigelan.1 /usr/lib/lanscan/libpeigelan.1 /usr/lib/libfmigelan.1 /usr/lib/lanadmin/libdsigelan.sl /usr/lib/lanscan/libpeigelan.sl /usr/lib/libfmigelan.sl /usr/lib/nls/msg/C/fmigelan.cat /opt/networkdocs/igelan_ilan.pl /opt/networkdocs/GigEther-01_relno.pdf /opt/networkdocs/GigEther-01_quick_install.pdf /opt/networkdocs/GigEther-01_README what(1) Output: IGELAN-DRV.IGELAN-KRN,fr=B.11.00.04,fa=HP-UX_B.11.00_64, v=HP: /usr/conf/lib/libigelan.a: igelan_ilan Version: 1 Dec 5 2003 igelan Revision: B.11.00.12 Dec 5 2003 IGELAN-DRV.IGELAN-RUN,fr=B.11.00.04,fa=HP-UX_B.11.00_64, v=HP: /sbin/init.d/hpigelan: None /usr/sbin/hpigelan_init: hpigelan_init /sbin/rc1.d/K695hpigelan: None /sbin/rc2.d/S305hpigelan: None /usr/newconfig/etc/rc.config.d/hpigelanconf: None /usr/lib/nls/msg/C/dsigelan.cat: None /usr/lib/nls/msg/C/peigelan.cat: None /usr/lib/lanadmin/libdsigelan.1: None /usr/lib/lanscan/libpeigelan.1: None /usr/lib/libfmigelan.1: None /usr/lib/lanadmin/libdsigelan.sl: None /usr/lib/lanscan/libpeigelan.sl: None /usr/lib/libfmigelan.sl: None /usr/lib/nls/msg/C/fmigelan.cat: None /opt/networkdocs/igelan_ilan.pl: None /opt/networkdocs/GigEther-01_relno.pdf: None /opt/networkdocs/GigEther-01_quick_install.pdf: None /opt/networkdocs/GigEther-01_README: None cksum(1) Output: IGELAN-DRV.IGELAN-KRN,fr=B.11.00.04,fa=HP-UX_B.11.00_64, v=HP: 991538708 625782 /usr/conf/lib/libigelan.a IGELAN-DRV.IGELAN-RUN,fr=B.11.00.04,fa=HP-UX_B.11.00_64, v=HP: 2335881790 11009 /sbin/init.d/hpigelan 2873628676 9152 /usr/sbin/hpigelan_init 2335881790 11009 /sbin/rc1.d/K695hpigelan 2335881790 11009 /sbin/rc2.d/S305hpigelan 691469580 3039 /usr/newconfig/etc/rc.config.d/hpigelanconf 2103510366 9244 /usr/lib/nls/msg/C/dsigelan.cat 1422941188 114 /usr/lib/nls/msg/C/peigelan.cat 3568654603 57344 /usr/lib/lanadmin/libdsigelan.1 3475570060 12288 /usr/lib/lanscan/libpeigelan.1 3171439863 12288 /usr/lib/libfmigelan.1 3568654603 57344 /usr/lib/lanadmin/libdsigelan.sl 3475570060 12288 /usr/lib/lanscan/libpeigelan.sl 3171439863 12288 /usr/lib/libfmigelan.sl 1209731634 8640 /usr/lib/nls/msg/C/fmigelan.cat 2874910725 4118 /opt/networkdocs/igelan_ilan.pl 3081930938 449 /opt/networkdocs/GigEther-01_README 2116518901 85739 /opt/networkdocs/ GigEther-01_quick_install.pdf 1122015888 30859 /opt/networkdocs/GigEther-01_relno.pdf Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_27201 Equivalent Patches: None Patch Package Size: 320 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_29324 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_29324.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_29324. 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_29324.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_29324.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_29324.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: The fix for JAGae30228(8606265975) is delivered in the new /usr/newconfig/etc/rc.config.d/hpigelanconf file. If you wish to use the new file, merge the contents of the existing /etc/rc.config.d/hpgelanconf with the new file.