Patch Name: PHNE_29244 Patch Description: s700_800 11.04 (VVOS) EISA 100BT cumulative patch Creation Date: 03/05/29 Post Date: 03/06/05 Hardware Platforms - OS Releases: s700: 11.04 s800: 11.04 Products: EISA100BT B.11.04.01 B.11.04.02 B.11.04.03 B.11.04.04 Filesets: 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.01,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.02,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.03,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.04,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.01,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.02,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.03,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.04,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.01,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.02,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.03,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.04,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.01,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.02,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.03,fa=HP-UX_B.11.04_32,v=HP 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.04,fa=HP-UX_B.11.04_32,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_29244: PANIC Based on PHNE_28636: PANIC Based on PHNE_27534: PANIC ABORT lanadmin(1M) command aborts when querying EISA 10/100BT interface with '-ax' options. Based on PHNE_24725: PANIC PHNE_25070: HANG Based on PHNE_23981: HANG PHNE_22985: PANIC Based on PHNE_19200: PANIC PHNE_18790: PANIC Based on PHNE_16154: PANIC Based on PHNE_13543: OTHER Multicast & Promiscuous mode not working Category Tags: defect_repair enhancement general_release critical panic halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHNE_29244 Symptoms: PHNE_29244: Repackage of HP-UX patch PHNE_28636 (EISA 100BT) to VVOS. Based on HP-UX patch PHNE_28636: 1. ( SR:8606294055 CR:JAGae57795 ) Inadequate frame padding. 2. ( SR:8606289350 CR:JAGae53281 ) When the lanadmin(1M) command is used with the "-x" option to query the EISA 10/100BT interface, the system may panic. HP1_ospif_dlpi_ioctl+0x9f0 hp_dlpi_process_ioctl+0x268 hp_dlpi_wput+0x5ec putnext+0x16c wait_iocack+0x6c str_istr_ioctl+0x698 hpstreams_ioctl_int+0x3d4 hpstreams_ioctl+0x50 spec_ioctl+0xb0 vno_ioctl+0x8c ioctl+0x258 syscall+0x1c8 Based on HP-UX patch PHNE_27534: 1. ( SR:8606188846 CR:JAGad58062 ) EISA 10/100BT card experiences multiple internal resets with the following message logged to NetTL log file. "bdm_watchdog: TX did not complete on time, resetting adapter btlan01". 2. ( SR:8606248819 CR:JAGae15216 ) EISA 100BT driver panics with "Data page fault" in _bigmac_cmdfmt_tx(). 3. ( SR:8606266748 CR:JAGae30993 ) lanadmin(1M) command core dumps when querying EISA 10/100BT interface with "-ax" option. Based on HP-UX patch PHNE_24725: 1. EISA 100BT driver panics with "Data Page Fault" in bdm_rcv_buf_alloc(). -- JAGaa45963 PHNE_25070: port of HP-UX patch PHNE_23981 (EISA 100BT) to VVOS. Based on HP-UX patch PHNE_23981: 1. EISA FDDI driver hangs because of EISA 100BT's bus locking. -- JAGad50169 2. Reproducible system hang in oim_open() when starting SAP. -- JAGad54480 3. suid bit set to lanadmin library. -- JAGad67830 PHNE_22985: port of HP-UX patch PHNE_19200 (EISA 100BT) to VVOS. Based on HP-UX patch PHNE_19200: 1. EISA100BT sends corrupted MAC address for DLPI test-xid requests. -- JAGaa41098 2. linkloop to self doesn't return error when cable is not connected. -- JAGab03857 3. IP multicast datagrams looped back in the driver. -- JAGaa41968 4. EISA100BT driver doesn't set ifOper status correctly in the MIB structure. -- JAGaa21367 5. Some required EISA100BT structures are not available for Q4. -- JAGaa21642 6. Automatic speed configuration doesn't work for EISA100BT. -- JAGab46349 7. EISA100BT start-up doesn't give a warning when set to full duplex. -- JAGaa21652 8. Setting the speed is not possible in hpeisabtconf file. -- JAGab65054 9. nettl traces are not formatted correctly. -- JAGab64926 10. Minimum frame length in 10BT mode should be 60 bytes instead of 64 bytes. -- JAGab64392 11. ER: Allow the MTU size configuration using lanadmin. -- JAGab64413 12. ER: IOCTL support is required for speed and duplex setting using SAM. -- JAGab64697 13. EISA100BT generates duplicate packets under heavy load. -- JAGab64911 14. Service Guard doesn't work with new interface naming convention. -- JAGab64435 15. Startup script does not allow for non-sequential arrays. -- JAGab70575 16. Panic with 'Already Owns this Spinlock' on EISA 100BT. -- JAGab68637 17. "lanadmin -S 0" command hangs. -- JAGab72670 18. DLPI primitive to set physical address succeeds even for invalid values -- JAGab84309 19. Driver does not return error for invalid multicast addresses. -- JAGab84311 20. Card does not work in loopback mode with changed MAC address in hpeisabtconf. -- JAGad09607 PHNE_18790: Repackage HP-UX patch PHNE_16403 for VVOS. Based on HP_UX patch PHNE_16403: 1. Performance degradation. Based on HP-UX patch PHNE_16154: 1. EISA 100BASE-T card does not come up on 715/100/E workstations. 2. When there is heavy network traffic, EISA 100BASE-T card does not come up at boot time. 3. EISA 100BASE-T panics on D and C class with Data Page fault under heavy load. Based on HP-UX patch PHNE_13543: 1. SAP promiscuous mode and layer2 multicast are not supported. 2. EISA 100BT returns current MAC address to a factory MAC address request. 3. Startup scripts to alter the MAC address or the duplex mode will not function. Defect Description: PHNE_29244: Repacakged HP-UX patch PHNE_28636 (EISA 100BT) to VVOS. Based on HP-UX patch PHNE_28636: 1. ( SR:8606294055 CR:JAGae57795 ) Inadequate frame padding. Resolution: Adequate frame padding is done. 2. ( SR:8606289350 CR:JAGae53281 ) When EISA 10/100BT interface self-test fails, a field in the driver data structure is not initialized properly. The system panics when the lanadmin(1M) command with "-x" option tries to access this uninitialized field. Resolution: Proper check has been added to avoid accessing uninitialized field in the driver data structure. Based on HP-UX patch PHNE_27534: 1. ( SR:8606188846 CR:JAGad58062 ) The "Command Unit" of the EISA 10/100BT card goes into an "IDLE" state even when there are packets queued up for transmit. This would cause the card to be unaware of new packets posted for transmission resulting in bdm_watchdog timer going off thus triggering a card reset. Resolution: If the "Command Unit" has gone into "IDLE" state and transmit queue is not empty, then the "Command Unit" is restarted in bigmac watchdog routine. 2. ( SR:8606248819 CR:JAGae15216 ) In response to EISA 100BT driver's dump command request, the card's internal registers have to be dumped on to the host's preallocated memory location. Instead, the data was written on to the transmit descriptor thus corrupting the transmit descriptor ring. Resolution: A separate descriptor has been allocated for the dump command. 3. ( SR:8606266748 CR:JAGae30993 ) Parameter returned to "lanadmin" was not properly initialized in EISA 100BT driver shared library. Resolution: Return parameter is initialized. Based on HP-UX patch PHNE_24725: 1. Under heavy load driver was corrupting free buffer list. Later when driver tries to allocate memory in bdm_rcv_buf_alloc() it was panicing with data page fault. Resolution: Code has been modified to take care of this situation. PHNE_25070: Port HP-UX patch PHNE_23981 (EISA 100BT) to VVOS. Based on HP-UX patch PHNE_23981: 1. EISA 100BT was holding bus unnecessarily because of which EISA FDDI driver was hanging. Resolution: Unnecessary bus locking has been removed. 2. In the oim_open() function, a linked list was processed improperly in a while loop. Resolution: Processing of the linked list has been modified in the while loop. 3. The lanadmin library was set with suid bit. Resolution: File permissions have been modified. PHNE_22985: port of HP-UX patch PHNE_19200 (EISA 100BT) to VVOS. Based on HP-UX patch PHNE_19200: 1. An upper layer didn't set the source MAC address while passing the packet to the driver and driver expected MAC address to be set by upper layer. Resolution: Modified transmit path to copy source MAC address for outbound packets. 2. Driver was not checking interface status for loopback packets. Resolution: Code is modified to check interface status before looping back the packet. 3. Driver didn't check whether it needs to loop back the multicast packet to the local host. Resolution: The code was modified to check whether driver needs to loop back the multicast packet. 4. EISA100BT driver was not consistent in setting ifOper Status in the MIB with respect to lanscan. Resolution: Modified code to have consistency for lanadmin & lanscan states. 5. Some required EISA100BT structures are not available for Q4. Resolution: Added the necessary structures that are required for Q4 support. 6. EISA100BT start-up script was not passing the speed value to the 'lanadmin' command. Resolution: Start-up script was modified to pass the speed value to the 'lanadmin' command. 7. EISA100BT start-up script didn't check for full duplex mode setting. Resolution: Added a check for invalid duplex mode. 8. hpeisabtconf file didn't support SPEED variable. Resolution: Added SPEED variable in hpeisabtconf file. 9. EISA100BT subsystem formatter was not able to format the packets properly. Resolution: Rewrote the subsystem formatter to fix formatting problems. 10. EISA100BT driver supported a minimum packet length of 64 bytes in 10BT mode instead of the standard 60 bytes. Resolution: Modified the driver to support a minimum packet length of 60 bytes instead of 64 bytes. 11. ER: Allow the MTU size configuration using lanadmin. Resolution: Added new IOCTL requests to support set/reset MTU values. 12. ER: IOCTL support is required for speed and duplex setting using SAM. Resolution: Modified driver to support additional ioctl requests that are required for SAM support. 13. EISA100BT card was sending duplicate packets under heavy UDP traffic. Resolution: Modified transmit path to flush/purge the data in the cache and synchronized shared memory access between card and memory. 14. While changing the driver to new naming convention, the ifDescr MIB variable was not modified to reflect the same. Resolution: Modified the ifDescr MIB variable to use the new naming convention. 15. Startup script was not able to recognize interface entries in non-sequential order in file /etc/rc.config.d/hpeisabtconf Resolution: Startup script is modified to process all interface entries in file /etc/rc.config.d/hpeisabtconf, even if they are in non-sequential order. 16. The panic happens when the driver receives a SET_SPEED ioctl when there are pending inbound packets. Resolution: Modified the code to release lock and reclaim it again after processing pending inbound packets. 17. Driver used to return negative value for invalid speed values, due to which DLPI sleeps, and hence the lanadmin command used to hang. Resolution: The driver now returns EINVAL to DLPI in case of an invalid speed value. 18. The DLPI primitive to set physical address succeeds even for invalid values (all bits 0's or 1's). Resolution: A check has been added for these invalid addresses. 19. Driver returns success for invalid multicast hardware addresses which do not have the least significant bit of the first byte set. Resolution: A check is now made to ensure that this bit is set. 20. Card does not work in loopback mode with changed MAC address in hpeisabtconf. Card was sending a loop back packet to sense speed with new MAC address and was not getting this packet back. Resolution: Card will send a loop back packet with Factory MAC address to sense speed. After loopback test card will be set with new MAC address. PHNE_18790: Repackage HP-UX patch PHNE_16403 for VVOS. Based on HP-UX patch PHNE_16403: 1. A busy-wait in the performance path caused the performance degradation. Based on HP-UX patch PHNE_16154: 1. The driver did not set the speed correctly in 10Mb mode. This occurred mainly on 715/100/E systems. 2. The driver sent a loopback packet without sensing the media speed. The default speed was set to 100Mb. So, under heavy network traffic the driver failed to receive the loopback packet in 10Mb mode. 3. The driver did not do proper MP synchronization. Based on HP-UX patch PHNE_13543: 1. Specific code for support of Promiscuous mode, layer2 multicast did not exist. 2. Returned incorrectly the current MAC address instead of factory MAC address. 3. Wrong variable name in hpeisabtconf. Enhancement: No (superseded patches contained enhancements) PHNE_25070: Please review the Defect Description text for more information. PHNE_22985: Based on HP-UX patch PHNE_19200: - Allow the MTU size configuration using lanadmin. - IOCTL support is provided for speed and duplex setting using SAM. PHNE_18790: Based on HP-UX patch PHNE_16403: - Performance improvement was made. SR: 8606180948 8606185278 8606198641 8606164026 5003397125 5003451450 5003440230 1653289090 1653296236 4701430116 5003434928 1653311423 8606103630 8606102706 8606104897 8606112070 8606112072 8606140285 1653275446 1653264465 1653267237 1653263970 1653253013 1653250639 1653249318 8606188846 8606248819 8606266748 8606289350 8606294055 Patch Files: 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.01,fa=HP-UX_B.11.04_32, v=HP: 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.02,fa=HP-UX_B.11.04_32, v=HP: 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.03,fa=HP-UX_B.11.04_32, v=HP: 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.04,fa=HP-UX_B.11.04_32, v=HP: /usr/conf/lib/libbtlan0.a 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.01,fa=HP-UX_B.11.04_32, v=HP: 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.02,fa=HP-UX_B.11.04_32, v=HP: 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.03,fa=HP-UX_B.11.04_32, v=HP: 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.04,fa=HP-UX_B.11.04_32, v=HP: /usr/lib/nls/msg/C/dsbtlan0.cat /usr/lib/lanadmin/libdsbtlan0.sl 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.01,fa=HP-UX_B.11.04_32, v=HP: 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.02,fa=HP-UX_B.11.04_32, v=HP: 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.03,fa=HP-UX_B.11.04_32, v=HP: 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.04,fa=HP-UX_B.11.04_32, v=HP: /usr/sbin/hpeisabt_init /usr/newconfig/etc/rc.config.d/hpeisabtconf /sbin/init.d/hpeisabt 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.01, fa=HP-UX_B.11.04_32,v=HP: 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.02, fa=HP-UX_B.11.04_32,v=HP: 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.03, fa=HP-UX_B.11.04_32,v=HP: 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.04, fa=HP-UX_B.11.04_32,v=HP: /usr/lib/libeisa100btfmt.sl /usr/lib/nls/msg/C/fmteisa100bt.cat what(1) Output: 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.01,fa=HP-UX_B.11.04_32, v=HP: /usr/conf/lib/libbtlan0.a: FILESET EISA100BT: libbtlan0: Version: B.11.00.07 P HNE_28636 $Date: 2003/02/07 21:50:53 $ 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.01,fa=HP-UX_B.11.04_32, v=HP: /usr/lib/nls/msg/C/dsbtlan0.cat: None /usr/lib/lanadmin/libdsbtlan0.sl: EISA100BT LANADMIN: libdsbtlan0: Version: B.11.00.0 7 PHNE_28636 $Date: 2003/02/07 22:22:54 $ 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.01,fa=HP-UX_B.11.04_32, v=HP: /usr/sbin/hpeisabt_init: None /usr/newconfig/etc/rc.config.d/hpeisabtconf: None /sbin/init.d/hpeisabt: None 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.01, fa=HP-UX_B.11.04_32,v=HP: /usr/lib/libeisa100btfmt.sl: EISA100BT NETTL: libeisa100btfmt: Version: B.11.00. 07 PHNE_28636 $Date: 2003/02/07 22:25:57 $ /usr/lib/nls/msg/C/fmteisa100bt.cat: None cksum(1) Output: 100BT-EISA-KRN.100BT-KRN,fr=B.11.04.01,fa=HP-UX_B.11.04_32, v=HP: 1121102905 309392 /usr/conf/lib/libbtlan0.a 100BT-EISA-RUN.100BT-RUN,fr=B.11.04.01,fa=HP-UX_B.11.04_32, v=HP: 3862894740 3138 /usr/lib/nls/msg/C/dsbtlan0.cat 1455904787 36864 /usr/lib/lanadmin/libdsbtlan0.sl 100BT-EISA-RUN.100BT-INIT,fr=B.11.04.01,fa=HP-UX_B.11.04_32, v=HP: 780528253 5258 /usr/sbin/hpeisabt_init 340626021 1254 /usr/newconfig/etc/rc.config.d/hpeisabtconf 2418239947 7667 /sbin/init.d/hpeisabt 100BT-EISA-FMT.100BT-FORMAT,fr=B.11.04.01, fa=HP-UX_B.11.04_32,v=HP: 1526256771 16384 /usr/lib/libeisa100btfmt.sl 3989282158 5124 /usr/lib/nls/msg/C/fmteisa100bt.cat Patch Conflicts: None Patch Dependencies: s700: 11.04: PHNE_18560 s800: 11.04: PHNE_18560 Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_18790 PHNE_22985 PHNE_25070 Equivalent Patches: PHNE_28636: s700: 11.00 s800: 11.00 Patch Package Size: 190 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_29244 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_29244.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_29244. 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_29244.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_29244.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_29244.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: 1. A new copy of the hpeisabtconf file is provided under the directory /usr/newconfig/etc/rc.config.d. This new hpeisabtconf is modified to support new speed/duplex setting options for startup script. Copy this configuration file and incorporate any previous modifications to the /etc/rc.config.d/hpeisabtconf file to this new copy and replace the working configuration file /etc/rc.config.d/hpeisabtconf with it.