Patch Name: PHKL_20477 Patch Description: s700 10.20 Cumulative USB Driver patch Creation Date: 99/11/22 Post Date: 99/12/07 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN OS-Core.KERN-RUN ProgSupport.C-INC Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_20477: PANIC CORRUPTION PHKL_18582: PANIC HANG Path Name: /hp-ux_patches/s700/10.X/PHKL_20477 Symptoms: PHKL_20477: ( SR:8606107476 DTS: JAGab77705 ) IF an application issues the HID_IDENT ioctl cmd (see /usr/include/sys/hidio.h) data corruption or a system panic may occur. ( 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. PHKL_19788: ( SR:8606106461 DTS: JAGab75590 ) USB hid driver is not included during cold install. PHKL_18582: ( SR:4701428425 DTS: JAGab19247 ) When turning on auto-repeat while a key is depressed, a seccond key press will appear. When turning on auto-repeat after a key has been pressed, auto-repeating will not occur. ( SR:1653312066 DTS: JAGab50645 ) When the driver attempts to reset a device, the system will hang or panic. ( SR:None DTS: JAGab72308 ) When typing very quickly, a key may appear twice and a key pressed may be dropped. ( SR:None DTS: JAGab72311 ) HID_SCANCODE data is incorrect. ( SR:None DTS: JAGab72312 ) The header file /usr/include/sys/hidio.h is missing. PHKL_17637: This patch enables new functionality that is part of the 10.20 ACE (Additional Core Enhancements) Workstation bundle, which 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_20477: ( SR:8606107476 DTS: JAGab77705 ) when an application issues the HID_IDENT ioctl cmd the hid driver will corrupt memory. The nature of the corruption can not be predicted and can result in either data corruption or a system panic. Resolution: Data is correctly copied from the kernel data structure to the application. The The 1st and 2nd byte are PS/2 compatible. Set the MSb of the 3rd byte to indicate USB HID. The LSb will be set if the device supports boot protocol. The 4th byte will contain the HID sub class value. ( SR:8606103321 DTS: JAGab69968 ) Transfer descriptors are not being completed on an usb request. The interrupt handler may then access data structures which have been free'd. The pipe may fail to close because the host controller driver thinks that transfer descriptors are still allocated to the endpoint. Resolution: Transfer decriptors are not free'd until the request has completed. ( SR:8606103322 DTS: JAGab69969 ) Transfer descriptors are not being completed on an usb request. The interrupt handler may then access data structures which have been free'd. The pipe may fail to close because the host controller driver thinks that transfer descriptors are still allocated to the endpoint. Resolution: Transfer decriptors are not free'd until the request has completed. PHKL_19788: ( SR:8606106461 DTS: JAGab75590 ) When cold installing a system that has a USB interface, the HID driver is not included in the system file if there is no keyboard or mouse attached during installation. Resolution: The USB hub driver is now dependent on the hid driver in the master file. In addition, the hub driver is also dependent on the beep driver, since the hid driver is dependent on the beep driver. PHKL_18582: ( SR:4701428425 DTS: JAGab19247 ) When turning off auto repeat while a key is depressed, the key may be duplicated. ie. press a key, turn off auto-repeat. The key pressed will appear a second time. When turning on auto repeat while a key is depressed, auto-repeat for the key may not occur. ie. turn off auto-repeat, press a key, turn on auto-repeat. The key may not repeat. Resolution: Auto-repeat is now correctly turned on and off. ( SR:1653312066 DTS: JAGab50645 ) If a device fails to respond, the driver will attempt to reset a device. The system will sometimes hang or panic. Resolution: The driver will no longer attempt to reset the device from the interrupt context. ( SR:None DTS: JAGab72308 ) When typing quickly, a key press and release may occur at the same time. The key release will appear as a key press, and the key press will appear as a release. ie. ps -ef may appear as ps -ee Resolution: If a key press and release occur at the same time, the key actions are now reported correctly. ( SR:None DTS: JAGab72311 ) HID_SCANCODE data format is not correct. Resolution: HID_SCANCODE data is now in the correct format. ( SR:None DTS: JAGab72312 ) The header file /usr/include/sys/hidio.h is missing. Resolution: The header file /usr/include/sys/hidio.h is now delivered. PHKL_17637: USB support is missing from the B1000, C3000, and J5000 systems. Resolution: Add support for the Universal Serial Bus. SR: 1653312066 4701398263 4701428425 8606106461 8606107476 8606103321 8606103322 Patch Files: /usr/conf/lib/libhp-ux.a(hc.o) /usr/conf/lib/libhp-ux.a(hcd.o) /usr/conf/lib/libhp-ux.a(hid.o) /usr/conf/lib/libhp-ux.a(hub.o) /usr/conf/lib/libhp-ux.a(usb.o) /usr/conf/lib/libhp-ux.a(usb_config.o) /usr/conf/lib/libhp-ux.a(usbd.o) /usr/conf/master.d/usb /usr/include/sys/hidio.h what(1) Output: /usr/conf/lib/libhp-ux.a(hc.o): hc.c $Date: 99/11/22 07:53:29 $ $Revision: 1.2.98.5 $ PATCH_10.20 (PHKL_20477) /usr/conf/lib/libhp-ux.a(hcd.o): hcd.c $Date: 99/11/22 07:54:27 $ $Revision: 1.2.98.5 $ PATCH_10.20 (PHKL_20477) /usr/conf/lib/libhp-ux.a(hid.o): hid.c $Date: 99/11/16 13:18:35 $ $Revision: 1.2.98.4 $ PATCH_10.20 (PHKL_20477) /usr/conf/lib/libhp-ux.a(hub.o): hub.c $Date: 99/11/16 13:18:37 $ $Revision: 1.2.98.4 $ PATCH_10.20 (PHKL_20477) /usr/conf/lib/libhp-ux.a(usb.o): usb.c $Date: 99/11/17 19:57:14 $ $Revision: 1.2.98.5 $ PATCH_10.20 (PHKL_20477) /usr/conf/lib/libhp-ux.a(usb_config.o): usb_config.c $Date: 99/11/16 13:18:39 $ $Revision: 1 .2.98.4 $ PATCH_10.20 (PHKL_20477) /usr/conf/lib/libhp-ux.a(usbd.o): usbd.c $Date: 99/11/16 13:18:49 $ $Revision: 1.2.98. 4 $ PATCH_10.20 (PHKL_20477) /usr/conf/master.d/usb: usb $Date: 99/10/06 09:47:27 $ $Revision: 1.2. 98.5 $ PATCH_10.20 (PHKL_19788) /usr/include/sys/hidio.h: hidio.h $Date: 99/11/16 13:18:47 $ $Revision: 1.2.98 .4 $ PATCH_10.20 (PHKL_20477) cksum(1) Output: 513368723 30936 /usr/conf/lib/libhp-ux.a(hc.o) 4281704022 29520 /usr/conf/lib/libhp-ux.a(hcd.o) 670448156 36084 /usr/conf/lib/libhp-ux.a(hid.o) 2246414760 13156 /usr/conf/lib/libhp-ux.a(hub.o) 1489794093 19672 /usr/conf/lib/libhp-ux.a(usb.o) 2491523057 11172 /usr/conf/lib/libhp-ux.a(usb_config.o) 1397929500 6572 /usr/conf/lib/libhp-ux.a(usbd.o) 143225262 5935 /usr/conf/master.d/usb 1408817682 13283 /usr/include/sys/hidio.h Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_17637 PHKL_18582 PHKL_19788 Equivalent Patches: None Patch Package Size: 240 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_20477 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_20477.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_20477. 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 PHKL_20477.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/PHKL_20477.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None