Patch Name: PHKL_22819 Patch Description: s700_800 11.04 (VVOS) Cumulative USB Driver patch Creation Date: 00/12/07 Post Date: 01/03/17 Hardware Platforms - OS Releases: s700: 11.04 s800: 11.04 Products: N/A Filesets: ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_22819: PANIC CORRUPTION HANG Category Tags: defect_repair hardware_enablement enhancement general_release critical panic halts_system corruption Path Name: /hp-ux_patches/s700_800/11.X/PHKL_22819 Symptoms: PHKL_22819: Ported HP-UX patch PHKL_20478 to VVOS Based upon PHKL_20478: ( SR: 8606130102 DTS: JAGac94862 ) The patch PHKL_20156 will not install the USB drivers on L-class systems with USB PCI plugin cards. Without patch PHKL_20478, the customer must manually add the usb drivers to the kernel and reboot the system. ( SR: 8606107476 DTS: JAGab77705 ) If an application issues the HID_IDENT ioctl cmd to the hid driver (see /usr/include/sys/hidio.h), data corruption or a system panic may occur. The symptoms of the panic may vary. The hidio.h file was not included in PHKL_20156. ( SR: 8606103321 DTS: JAGab69968 ) panic: data page fault in the kernel function process_done_queue. This is often accompanied by a "pipe failed to close" message appearing in the dmesg system buffer. ( SR 8606103322 DTS: JAGab69969 ) panic: data page fault in the kernel function usb_handle_irp. This is often accompanied by a "pipe failed to close" message appearing in the dmesg system buffer. The panic can occur when performing a command login from CDE login screen, but may occur at other times as well. ( SR: 8606126863 DTS: JAGac59704 ) The insf command will return a non-zero return value when creating device special files for the hid driver. insf does not issue an error message, however the non-zero return code may cause other commands/scripts to issue error messages. The script /sbin/rc1.d/S112kminit will issue a failure code when insf returns a non-zero return value. The script will complete its work sucessfully even though the failure message is issued. The error message e will be logged in /var/adm/rc.log and will also be ouput to the system console during the boot process. The S112kminit script only issues the error when dynamically loadable kernel modules are registered. ( SR: 8606125786 DTS: JAGac42729 ) The usb keys "n", "o", and "v" do not repeat in the HP-UX 11.00. This is true for both the ITE and the X server. ( SR: 8606110469 DTS: JAGab83172 ) panic: usb: no room in virtual<->physical lookup table for HC instance 0 Based upon PHKL_20156: ( SR: 8606107507 DTS: JAGab77743 ) This patch enables new functionality and adds new I/O drivers to support the B1000, C3000, and J5000 systems. This patch includes the Universal Serial Bus (USB) OHCI interface driver, the USB HUB class device driver, and the USB HID class device driver. USB HID class devices include USB keyboards and mice. Defect Description: PHKL_22819: Ported HP-UX patch PHKL_20478 to VVOS Based upon PHKL_20478: ( SR: 8606130102 DTS: JAGac94862 ) The postinstall script for PHKL_20156 did not recognize USB plugin cards. Resolution: The postinstall script will add the USB drivers to the system file when the patch is installed on a system with a USB plugin card. ( SR: 8606107476 DTS: JAGab77705 ) If an application issues the HID_IDENT ioctl cmd to the hid driver (see /usr/include/sys/hidio.h), the hid driver will overwrite system memory resulting in either data corruption or a system panic. Resolution: Only return the amount of data requested by the HID_IDENT command. ( SR: 8606103321 DTS: JAGab69968 ) panic: data page fault in the kernel function process_done_queue. USB transfer descriptors were being accessed after they were deallocated. Resolution: Only deallocate USB transfer descriptors when the host controller is through with them. ( SR 8606103322 DTS: JAGab69969 ) panic: data page fault in the kernel function usb_handle_irp. USB transfer descriptors were being accessed after they were deallocated. Resolution: Only deallocate USB transfer descriptors when the host controller is through with them. ( SR: 8606126863 DTS: JAGac59704 ) The /usr/include/sys/hidio.h header file contains an ioctl called HID_NUM_DEVICES. On 64 bit HP-UX systems, the hid driver did not recognize the ioctl command. This was a result of a difference in size between pointers on 32 bit applications and 64 bit pointers in the kernel. Resolution: Change the definition of the HID_NUM_DEVICES ioctl to remove the use of pointers. ( SR: 8606125786 DTS: JAGac42729 ) The usb keys "n", "o", and "v" do not repeat in the HP-UX 11.00. This is true for both the ITE and the X server. An incorrect mapping of the keys failed to turn on key repeat for those keys. Resolution: Properly turn on key repeat for the "n", "o" and "v" keys. ( SR: 8606110469 DTS: JAGab83172 ) panic: usb: no room in virtual<->physical lookup table for HC instance 0. The host controller would sometimes not report completed transfer descriptors. This could occur on systems under heavy load. Resolution: Reduce the probability that the host controller will not report completed transfer descritors by turning of list processing at specific points in time. Based upon PHKL_20156: ( SR: 8606107507 DTS: JAGab77743 ) USB support is missing from the B1000, C3000, and J5000 systems. Resolution: Add support for the Universal Serial Bus. SR: 8606103321 8606103322 8606107476 8606110469 8606125786 8606126863 8606107507 Patch Files: ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/include/sys/hidio.h OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libpci.a(hc.o) /usr/conf/lib/libpci.a(hcd.o) /usr/conf/lib/libpci.a(hid.o) /usr/conf/lib/libpci.a(hub.o) /usr/conf/lib/libpci.a(usb.o) /usr/conf/lib/libpci.a(usb_config.o) /usr/conf/lib/libpci.a(usbd.o) OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/master.d/usb OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libpci.a(hc.o) /usr/conf/lib/libpci.a(hcd.o) /usr/conf/lib/libpci.a(hid.o) /usr/conf/lib/libpci.a(hub.o) /usr/conf/lib/libpci.a(usb.o) /usr/conf/lib/libpci.a(usb_config.o) /usr/conf/lib/libpci.a(usbd.o) OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/master.d/usb what(1) Output: ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/include/sys/hidio.h: hidio.h $Date: 2000/02/01 12:58:46 $Revision: r11ros /2 PATCH_11.00 (PHKL_20478) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libpci.a(hc.o): hc.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(hcd.o): hcd.c $Date: 2000/03/05 09:33:07 $Revision: r11ros/5 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(hid.o): hid.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(hub.o): hub.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(usb.o): usb.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(usb_config.o): usb_config.c $Date: 2000/02/01 12:58:46 $Revision: r 11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(usbd.o): usbd.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/ 2 PATCH_11.00 (PHKL_20478) OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/master.d/usb: usb $Date: 1999/10/18 11:24:19 $Revision: r11ros/1 P ATCH_11.00 (PHKL_20156) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libpci.a(hc.o): hc.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(hcd.o): hcd.c $Date: 2000/03/05 09:33:07 $Revision: r11ros/5 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(hid.o): hid.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(hub.o): hub.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(usb.o): usb.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(usb_config.o): usb_config.c $Date: 2000/02/01 12:58:46 $Revision: r 11ros/2 PATCH_11.00 (PHKL_20478) /usr/conf/lib/libpci.a(usbd.o): usbd.c $Date: 2000/02/01 12:58:46 $Revision: r11ros/ 2 PATCH_11.00 (PHKL_20478) OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/master.d/usb: usb $Date: 1999/10/18 11:24:19 $Revision: r11ros/1 P ATCH_11.00 (PHKL_20156) cksum(1) Output: ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: 2461933359 13101 /usr/include/sys/hidio.h OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: 3928978011 28880 /usr/conf/lib/libpci.a(hc.o) 3086775689 31912 /usr/conf/lib/libpci.a(hcd.o) 338928799 42220 /usr/conf/lib/libpci.a(hid.o) 257647583 13592 /usr/conf/lib/libpci.a(hub.o) 3899622218 19908 /usr/conf/lib/libpci.a(usb.o) 2672509211 11752 /usr/conf/lib/libpci.a(usb_config.o) 3593838185 6688 /usr/conf/lib/libpci.a(usbd.o) OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: 1893487715 4726 /usr/conf/master.d/usb OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: 4279590815 48536 /usr/conf/lib/libpci.a(hc.o) 3963862899 69504 /usr/conf/lib/libpci.a(hcd.o) 2926762212 87096 /usr/conf/lib/libpci.a(hid.o) 3420538805 31080 /usr/conf/lib/libpci.a(hub.o) 129414787 51984 /usr/conf/lib/libpci.a(usb.o) 1055325432 24304 /usr/conf/lib/libpci.a(usb_config.o) 2694095796 13936 /usr/conf/lib/libpci.a(usbd.o) OS-Core.KERN2-RUN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: 1893487715 4726 /usr/conf/master.d/usb Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: PHKL_20478: s700: 11.00 s800: 11.00 Patch Package Size: 550 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 PHKL_22819 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_22819.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_22819. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHKL_22819.depot 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 PHKL_22819.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_22819.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_22819.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None