Patch Name: PHNE_20351 Patch Description: s700 10.20 PCI 100Base-T cumulative patch Creation Date: 99/11/01 Post Date: 99/11/02 Hardware Platforms - OS Releases: s700: 10.20 Products: B5511AA_APZ B.10.20.01 B.10.20.02 B5509BA_APZ B.10.20.03 B.10.20.04 B.10.20.05 Filesets: 100BT-PCI-KRN.100BT-KRN 100BT-PCI-RUN.100BT-RUN 100BT-PCI-RUN.100BT-INIT 100BT-PCI-FMT.100BT-FORMAT Automatic Reboot?: Yes Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700/10.X/PHNE_20351 Symptoms: PHNE_20351: 1. The driver startup script hppci100 does not set nmid and fails to configure the card. PHNE_19078: 1. SAM does not support altering speed (10 or 100Mbps) and duplex mode (half or full) settings on the interface. 2. Applications (including lanadmin) receive 10 for 10Mbps or 100 for 100Mbps for the speed value in the ifSpeed field of the mib structure. lanadmin therefore displays 10 or 100 for the interface (link) speed. 3. 'lanadmin -x [nmid]' display does not indicate whether the card is running in auto-negotiation or manual mode. 4. lanadmin cannot alter the Maximum Transmission Unit (MTU) size value of the interface. 5. Applications do not receive outbound traffic from the interface when they enable promiscuous mode on the interface. 6. Outbound queue length can become negative after clearing net statistics using lanadmin. 7. Collisions are not detected by btlan driver. 8. The actual link configuration does not reflect what is manually configured in /etc/rc.config.d/hppci100conf. PHNE_16396: Lanadmin/lanscan status is incorrect when system boots with cable unplugged. PHNE_15786: OTS multicast test failed because the driver itself did not receive the small multicast packet. PHNE_15539: 1. When the cable was disconnected the "Net-Interface State" from lanscan was "UP" and "Operation Status" from lanadmin was "up". 2. When there was DMA operation on the PCI bus, btlan5 got 'cable disconnect' signal while there was no physical cable disconnect. 3. ifconfig lan2(btlan5) down, IP still got the packets received on lan2. PHNE_13747: PCI 100BT can hang on MP workstations under high stress. PHNE_13378: Applications attempting to set IP multicast address on the add-in PCI 100Base-T network interface will receive error. Applications attempting to enable promiscuous traffic mode on the add-in PCI 100Base-T network interface will receive error. Defect Description: PHNE_20351: 1. The problem occurs due to an error in hppci100 startup script. Resolution: The error is fixed in hppci100 start up script. PHNE_19078: 1. No supporting ioctls were implemented in the driver for SAM to use. Resolution: Implemented the required ioctls that the corresponding code in SAM uses. 2. The driver stores 10 for 10Mbps and 100 for 100Mbps in its local mib related data structures. Resolution: Modified driver code to store 10000000 for 10Mbps and 100000000 for 100Mbps in its local mib data structures. 3. The driver did not provide ioctls for lanadmin to use to obtain the information about the mode (autonegotiation or manual) mode in which it was operating. Resolution: The driver implemented the new ioctl for obtaining the above mode information. 4. The driver did not implement ioctl for lanadmin to use to alter the MTU size value on the interface. Resolution: The driver implemented the new ioctl for changing the MTU size value for the interface. 5. The driver did not implement appropriate functionality which would return a copy of the transmitted packet to the upper protocols. Resolution: The driver implemented appropriate functionality which would return a copy of the transmitted packet to the upper protocols. 6. The driver used to erroneously zero the outbound queue length when clear stat command was issued. Later when a queued packet was transmitted successfully the driver decrements the queue length by one, thus making the counter negative. Resolution: The code is modified, not to zero out the out bound queue length when net statistics clear command is issued. 7. The checking for collisions in the driver was incorrect. The driver used to check for error summary bit only. This causes collision detection to go un-noticed. Resolution: The driver is modified to check for any and all the error conditions that can occur during transmission. 8. The array of link configuration data in /etc/rc.config.d/hppci100conf was non-sequential which the startup script (/sbin/init.d/hppci100) could not handle correctly. Resolution: The startup script (/sbin/init.d/hppci100) is modified to skip over the missing indices in the array and work through all that are provided. PHNE_16396: Driver does not set lanadmin/lanscan status correctly when the cable is disconnected. PHNE_15786: Driver does not set the correct length for small multicast packets with length less than 60 bytes. PHNE_15539: 1. When the cable is disconnected driver did not set the "Net-Interface State" and mib operational status correctly. 2. Link status information was being read incorrectly from the PHY. 3. The driver did not check the IP network interface state before passing the packets to IP. PHNE_13747: Under certain conditions some subtle errors the receive path of the driver can be exposed causing link failure such as hung link etc. PHNE_13378: PCI 100Base-T does not support IP Multicasting and the promiscuous - physical, multicast, SAP - traffic. SR: 5003432179 1653286500 4701414177 5003467001 4701430140 1653273623 1653239053 5003418939 4701378182 Patch Files: /usr/conf/lib/libbtlan5.a /usr/conf/lib/btlan5_dbg.o /sbin/init.d/hppci100 /usr/newconfig/etc/rc.config.d/hppci100conf /usr/sbin/hppci100_init /usr/lib/lanadmin/libdsbtlan5.sl /usr/lib/nls/msg/C/dsbtlan5.cat /usr/lib/libfmtbtlan5.sl /usr/lib/nls/msg/C/fmtbtlan5.cat what(1) Output: /usr/conf/lib/libbtlan5.a: btlan5.c PCI 100BT Cleanup PHNE_20351(10.20) $Revisi on: 1.37 $ $Date: 99/08/16 15:24:06 $ /usr/conf/lib/btlan5_dbg.o: None /sbin/init.d/hppci100: : hppci100 /usr/newconfig/etc/rc.config.d/hppci100conf: : hppci100conf /usr/sbin/hppci100_init: hppci100_init $Revision: 1.9 $ $Date: 99/08/18 19:4 7:12 $ /usr/lib/lanadmin/libdsbtlan5.sl: libdsbtlan5.sl: Version: B.10.20 $Date: 99/07/13 16 :07:35 $ /usr/lib/nls/msg/C/dsbtlan5.cat: None /usr/lib/libfmtbtlan5.sl: BTLAN5: Version: B.10.20 $Date: 99/07/02 21:31 :48 $ /usr/lib/nls/msg/C/fmtbtlan5.cat: None cksum(1) Output: 3435747601 71168 /usr/conf/lib/libbtlan5.a 3035266904 163372 /usr/conf/lib/btlan5_dbg.o 1779704257 6823 /sbin/init.d/hppci100 3431335505 1207 /usr/newconfig/etc/rc.config.d/hppci100conf 1031270085 6222 /usr/sbin/hppci100_init 3859313560 20480 /usr/lib/lanadmin/libdsbtlan5.sl 3452115093 3117 /usr/lib/nls/msg/C/dsbtlan5.cat 3467663980 99000 /usr/lib/libfmtbtlan5.sl 1227446999 13828 /usr/lib/nls/msg/C/fmtbtlan5.cat Patch Conflicts: None Patch Dependencies: s700: 10.20: PHNE_18173 Hardware Dependencies: 9000/700 Other Dependencies: None Supersedes: PHNE_13378 PHNE_13747 PHNE_15539 PHNE_15786 PHNE_16396 PHNE_19078 Equivalent Patches: None Patch Package Size: 450 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_20351 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_20351.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_20351. 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_20351.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_20351.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: To set speed and duplex via SAM, users need to install SAM patch: PHCO_18217 ifconfig down/up is needed while changing MTU using lanamdin -[M|R] options. To trace the outbound packets, please do the following to turn on a global promiscuous switch before running the promiscuous applications like snoop or tcpdump: adb -w /stand/vmunix /dev/mem lanc_outbound_promisc_flag/W 1 (adb will echo the result showing that the flag has been changed) $quit