Patch-ID# 115553-13 Keywords: security audio vde ohci controller wheel mouse support usb audit Synopsis: SunOS 5.9: USB Drivers and Framework Patch Date: Aug/17/2004 Install Requirements: Reconfigure after installation Solaris Release: 9 SunOS Release: 5.9 Unbundled Product: Unbundled Release: Xref: This patch available for x86 as patch 115554 Topic: SunOS 5.9: USB Drivers and Framework Patch *********************************************************** NOTE: This patch may contain one or more OEM-specific platform ports. See the appropriate OEM_NOTES file within the patch for information specific to these platforms. DO NOT INSTALL this patch on an OEM system if a corresponding OEM_NOTES file is not present (or is present, but instructs not to install the patch), unless the OEM vendor directs otherwise. *********************************************************** Relevant Architectures: sparc sparc.sun4m sparc.sun4u BugId's fixed with this patch: 4237764 4354427 4402400 4419540 4507408 4631151 4655789 4660516 4660846 4662300 4665811 4702501 4702930 4706244 4718437 4723993 4735031 4735465 4737194 4756231 4757590 4765718 4769577 4776340 4778303 4781283 4782292 4783585 4783855 4785916 4786786 4788315 4790678 4798619 4800029 4800123 4801046 4804860 4806185 4810230 4811758 4812935 4816509 4824054 4824763 4826171 4827611 4827617 4828972 4829626 4831766 4831810 4834143 4836298 4836606 4838235 4839605 4841489 4844296 4844570 4844892 4845179 4847102 4847113 4847119 4847308 4847936 4852863 4854629 4858443 4860534 4860753 4865592 4869166 4869177 4869326 4869362 4869396 4875388 4875402 4875818 4876234 4876900 4879738 4879741 4879799 4880227 4881576 4881577 4881927 4883138 4885542 4889441 4889499 4889600 4889606 4891054 4891058 4891599 4891604 4894475 4896760 4898174 4898176 4899551 4900007 4900364 4900383 4900900 4904316 4904408 4905617 4908469 4915001 4916009 4916643 4916848 4917711 4919248 4920655 4922683 4923069 4927648 4935335 4939237 4950073 4955343 4961257 4971592 4976792 4988379 4993111 4994700 5001058 5003764 5008493 5017983 5018218 5018235 5018742 5021075 5021083 5028398 5032631 5037067 5039148 5045076 Changes incorporated in this version: 4950073 Patches accumulated and obsoleted by this patch: 112836-02 115004-02 115338-01 115557-01 116065-03 117196-01 117198-02 117382-01 Patches which conflict with this patch: Patches required with this patch: 112233-12 or greater 112954-05 or greater 113277-18 or greater 114128-02 or greater 114332-04 or greater 117418-01 or greater Obsoleted by: Files included with this patch: /kernel/drv/hid /kernel/drv/ohci /kernel/drv/scsa2usb /kernel/drv/scsa2usb.conf /kernel/drv/sparcv9/hid /kernel/drv/sparcv9/ohci /kernel/drv/sparcv9/scsa2usb /kernel/drv/sparcv9/usb_ac /kernel/drv/sparcv9/usb_as /kernel/drv/sparcv9/usba10_ehci /kernel/drv/sparcv9/usba10_hid /kernel/drv/sparcv9/usba10_hubd /kernel/drv/sparcv9/usba10_ohci /kernel/drv/sparcv9/usba10_scsa2usb /kernel/drv/sparcv9/usba10_ugen /kernel/drv/sparcv9/usba10_usb_ac /kernel/drv/sparcv9/usba10_usb_as /kernel/drv/sparcv9/usba10_usb_mid /kernel/drv/sparcv9/usba10_usbprn /kernel/drv/sparcv9/usba10_usbser_edge /kernel/drv/sparcv9/usbser_edge /kernel/drv/usb_ac /kernel/drv/usb_as /kernel/drv/usba10_ehci /kernel/drv/usba10_ehci.conf /kernel/drv/usba10_hid /kernel/drv/usba10_hid.conf /kernel/drv/usba10_hubd /kernel/drv/usba10_hubd.conf /kernel/drv/usba10_ohci /kernel/drv/usba10_ohci.conf /kernel/drv/usba10_scsa2usb /kernel/drv/usba10_scsa2usb.conf /kernel/drv/usba10_ugen /kernel/drv/usba10_ugen.conf /kernel/drv/usba10_usb_ac /kernel/drv/usba10_usb_ac.conf /kernel/drv/usba10_usb_as /kernel/drv/usba10_usb_as.conf /kernel/drv/usba10_usb_mid /kernel/drv/usba10_usb_mid.conf /kernel/drv/usba10_usbprn /kernel/drv/usba10_usbprn.conf /kernel/drv/usba10_usbser_edge /kernel/drv/usba10_usbser_edge.conf /kernel/drv/usbser_edge /kernel/misc/hidparser /kernel/misc/kbtrans /kernel/misc/sparcv9/hidparser /kernel/misc/sparcv9/kbtrans /kernel/misc/sparcv9/usba /kernel/misc/sparcv9/usba10 /kernel/misc/sparcv9/usba10_hidparser /kernel/misc/sparcv9/usba10_usbser /kernel/misc/sparcv9/usbser /kernel/misc/usba /kernel/misc/usba10 /kernel/misc/usba10_hidparser /kernel/misc/usba10_usbser /kernel/misc/usbser /kernel/strmod/sparcv9/usb_ah /kernel/strmod/sparcv9/usb_ah1 /kernel/strmod/sparcv9/usbkb1 /kernel/strmod/sparcv9/usbkbm /kernel/strmod/sparcv9/usbms /kernel/strmod/sparcv9/usbms1 /kernel/strmod/usb_ah /kernel/strmod/usb_ah1 /kernel/strmod/usbkb1 /kernel/strmod/usbkbm /kernel/strmod/usbms /kernel/strmod/usbms1 /platform/sun4m/kernel/misc/cpr /platform/sun4u/kernel/misc/cpr /platform/sun4u/kernel/misc/forthdebug /platform/sun4u/kernel/misc/sparcv9/cpr /platform/sun4u/kernel/misc/sparcv9/forthdebug /usr/include/sys/cpr.h /usr/include/sys/msreg.h /usr/include/sys/usb/clients/hid/hid.h /usr/include/sys/vuid_event.h /usr/include/sys/vuid_wheel.h /usr/lib/abi/abi_usb.so.1 /usr/lib/abi/sparcv9/abi_usb.so.1 /usr/lib/adb/ohci_polled /usr/lib/adb/ohci_state /usr/lib/adb/sparcv9/ohci_polled /usr/lib/adb/sparcv9/ohci_state /usr/lib/adb/sparcv9/usbkbm_state /usr/lib/adb/usbkbm_state /usr/lib/cfgadm/sparcv9/usb.so.1 /usr/lib/cfgadm/usb.so.1 /usr/lib/mdb/kvm/sparcv9/usba.so /usr/lib/mdb/kvm/usba.so Problem Description: Uprev & acc/obs 115004-02 to resolve the meta cluster problem (from 115553-12) 4950073 Emkay USB head set does not work (from 115553-11) 5021083 edgeport device doesn't fully recover from low power mode 5039148 panic while detaching TI edgeport device 5045076 CDE can't start after backingout patch#115553-06 (from 115553-10) 4922683 ehci requires kstats for observability 5017983 ehci does not detect that interrupts are not working at attach time 5018218 EHCI needs a more reliable way to halt a QH 5018235 HUBDI has an invalid ASSERT 5021075 F1+A doesn't work reliably 5032631 assertion failed: mp->b_next == NULL && mp->b_prev == NULL 5028398 System panics on exit from OS, after arriving at the prom-level 5037067 usb_lookup_ep_data needs to handle USB_EP_DIR_DONT_CARE (from 115553-09) Patch upreved to drop the Feature Point Patches dependency (from 115553-08) This patch revision was generated to accumulate and obsolete the changes introduced in Solaris 9 Update 7 feature point patches 117198-02 and 117382-01. (from 115553-07) 4860753 cpr resume failure with active usb devices 5003764 usb panic on cpr resume (from 115553-06) 4662300 Incorrect sample rate compaction code in usb_as 4935335 cfgadm_usb: misleading error mesage - library error (from 115553-05) 4955343 Patch 115553-03 has wrong required patch list (from 115553-04) This patch revision was generated to accumulate and obsolete the changes introduced in Solaris 9 Update 6 feature point patch 116065-03. (from 115553-03) 4920655 pipe_reset needed in hubd_create_child if 1st device desc read fails (from 115553-02) 4916009 combining the two USB driver related patches 115553-01 and 115557-01 into one (from 115553-01) 4854629 mouse rev 105 does not respond to first get hid descriptor request 4800123 Netra AC200 USB audio does not work reliably. 4852863 USB audio does not correctly register full duplex devices with mixer (from 115557-01) 4847936 USB keyboard connected via Lightwave VDE not recognized with Solaris 9 4801046 suspend ohci controller during CPR suspend if USB keyboard is not connected (from 112836-02) 4756231 ctf label problems with current s9u2 patches (from 112836-01) 4660516 corruption seen on USB hard drives (from 115338-01) 4655789 key up events lost when keys held down on multiple keyboards at once (from 116065-03) 4778303 usba_check_req: reject pkt if pipehandle is NULL 4783585 USB attachment points are delivered w/ 0666 permissions and is a security hole 4831766 problem with restoring audio state over a reconnect/cpr resume 4881927 spurious messages that port status is not OK 4885542 ugen driver_aliases should be preserved over upgrades/patching 4896760 faster CTS/RTS handshakes required for small buffer devices 4900007 cfgadm gives incomplete output for USB devices 4917711 nutvs test hangs on enws with Seagate tape drive 4904316 usba_set_usba_device: assertion failure (from 116065-02) 4828972 add support for USB tape 4904408 suppress console warnings for READ BLOCK LIMITS 4891604 scsa2usb.conf: new record for suppressing mode sense requests 4891599 attribute for suppressing mode sense requests 4905617 scsa2usb portion of fix for 4847099 needed for Solaris 9 4847102 improve LUN handling 4847113 do not pass SCMD_PERSISTENT_RESERVE_IN/OUT to LUNs 4875388 scsa2usb: limit transfers to 124K 4875402 scsa2usb: inquiry handling severely broken 4899551 scsa2usb: override interface class if != 8 4894475 SCMD_READ_FORMAT_CAP should be implemented for SCSI subclass devices 4806185 Xserver tries to start before USB tree enumerated 4900364 ohci/ehci calculates transfer length incorrectly for requests > TD xfer limit 4915001 ohci/ehci: enws system panics when hidtest is started 4844892 not all USB audio devices support volume and mute 4827617 Plantronics USB audio device does not work with Solaris 4829626 usb_ah panics with Plantronics audio device 4831810 minor nits in audio drivers 4847308 repeat frequency of buttons is too low 4839605 mixer thread set parameter on device regardless of audio state. 4844570 dacf unplumbing migh occur during audio hid's am_hw_state_change() 4847119 usb_ac_wait_timeout is too short 4869177 usb_ac: memory leak 4827611 hubd: hot removal assertion failure 4916848 usb_ugen.h should be added to i386 exception list for s9 (from 116065-01) 4419540 USB serial driver support required on Solaris 4507408 USB device hotplug causes crash during resume phase 4665811 Solaris 9 fails to make USB mass storage devices available to system. 4702501 USB warlock issues on the Fiesta platform 4706244 Enchilada system panic: BAD TRAP: type=31 in USB module 4723993 scsa2usb: misbehaving device can cause process to hang 4735031 dead code in scsa2usb 4735465 WARNING: (usba10_ohci0): Connecting device on port 2 failed 4737194 ohci/ehci drivers needs to make sure intr bits cleared before returning from ISR 4757590 minor lint fix and cleanup 4765718 need to press STOP key twice for L1-A on Enchilada and Taco systems 4769577 explore if qenable can be eliminated from USB audio drivers 4776340 ON support for Enchilada and Taco workstations 4781283 ddi_dma_sync is not used consistently in ohci/ehci drivers 4782292 USB: key-stuck symptom when pressing key after FB has been power-managed 4783855 cfgadm_usb: panic after configure of non-responsive usb device 4785916 ugen doesn't protect from bogus control message lengths 4786786 ugen returns EIO on bulk write out endpoints for a USB Canon Scanner N670U 4788315 ohci panic due to NULL pointer dereference in ohci_sendup_td_message() 4790678 "disk not responding to selection" when unplugging USB easy disk 4798619 enumeration fails if we can't get string descriptors 4800029 workaround for 4788884 (PCI SERR seen while doing a CPR) 4804860 usb_as: base sample rate should be checked before reducing sr list 4810230 scsa2usb: waitQ length should be limited 4811758 ehci panic with datafab high speed memory stick device during hotplug test 4812935 add support for ELO touch screen (Heidelberg) 4824054 ohci/ehci doesn't wakeup the thread waiting for done td under error condition 4824763 isoc_pkt_status field in usb_isoc_pkt_descr_t should be of type usb_cr_t 4834143 ugen must validate wLength to buf b_bcount 4836298 non-exclusive endpoint opens not allowed 4836606 support Interrupt OUT endpoint 4838235 ugen: poll on devstat doesn't block 4841489 ugen: incorrect buffer full status on disconnect 4844296 ohci driver susceptible to spurious interrupt panics during attach 4845179 hubd needs to wait for PowerOn ToPowerGood time after powering on an USB port 4858443 the min low speed poll interval is enforced on Solaris but not on Linux/Windows 4860534 leaking: QTD exhaustion 4865592 ugen's lowering power causes UNAVAILABLE state without state change notification 4869166 wrong macro used to change QTD structure 4869362 ugen.c: dereference precedes check 4869396 Interrupt OUT implementation is incomplete 4875818 periodic list is updated incorrectly while adding/deleting interrupt endpoints 4876234 transfer all USB ports control to OHCI host controller on UE error 4876900 change intr_pkt_length to intr_len since this field represents request length 4879738 fix for bugid: 4854629 needed for usba1.0 framework on s9U6 4879741 fix for bugid: 4847936 needed for usba1.0 framework on s9U6 4879799 pm_set_power definition needs update in warlock file 4881576 control transfer length is calculated incorrectly 4881577 ehci doesn't handle short transfer condition correctly 4883138 ohci/ehci doesn't support transfer timeout for interrupt out requests 4889441 WARNING: /../pci@3/usb@8 (usba10_ohci2): Connecting device on port 3 failed 4889499 USB_KYDB: WARNING: Device keyboard0 failed to power up. on s9port_02 4889600 ugen: check for valid bp missing in ugen_epx_intr_OUT_req_cb 4889606 ohci: never return cr != 0 for completed isoch td 4898174 fix for bugid 4800123 needed for usba1.0 framework on s9U6 4898176 fix for bugid 4852863 needed for usba1.0 framework on s9U6 (from 117198-02) 5001058 hot-plugging a USB mouse can lead to a storm of random mouse events (from 117198-01) 4237764 detach/attach of keyboard causes layout code to be reset on non-self-ID keyboard 4402400 USB mouse driver should support more than 3 buttons 4718437 USB wheel mouse support needed for Pro/E 4880227 usb keyboard is not operating properly when plugged in after system is boot 4916643 hidparser update required 4971592 Using logitech wireless USB keyboard leads to unwanted repetition of characters 4993111 hid driver doesn't warlock 5008493 L1-A hangs (from 117382-01) 4900383 support for TI-based Edgeports 4988379 Edgeport/1 still not working 4631151 Support usb1.1 or low/full speed usb devices behind usb2.0 or high speed hub 4660846 ohci/ehci: Fails to recover gracefully if resources are low 4702930 ehci driver needs to eliminate dummy QH 4816509 usbser uses obsolete DDI interfaces 4826171 minor memory leak 4891054 make sure intr bits cleared before returning from ISR in ohci polled mode 4891058 Needs to save allocated bandwidth information as per actual frame number 4900900 ohci/ehci doesn't handle request with multiple TDs under short xfer condition 4908469 Do not include prom_isa.h for ohci files 4919248 ohci_save_data_toggle() should initialize pp_error to USB_CR_OK 4923069 usbser_edge is far too stack-hungry for a driver 4927648 FULL/LOW Interrupt devices behind 2.0 hubs cause HW/SW collision 4939237 usb_check_same_device() needs a check for same vendor id and same product id 4961257 explore removal of soft interrupts for Tx/Rx callbacks 4976792 ehci transaction errors (xacterr) and retries 4994700 usba: need a way to serialize callbacks for devices 5018742 addition of usb_lookup_ep_data to S9 usba10 framework 4869326 hcdi.c: use-after-free, deref of null pointer (from 115004-02) This patch revision was generated to accumulate and obsolete the changes introduced in Solaris Update s9u7 feature point patch 117196-01. (from 115004-01) 4354427 audit hooks for auditing enter/exit to prom/debugger incomplete (from 117196-01) 4880227 usb keyboard is not operating properly when plugged in after system is boot Patch Installation Instructions: -------------------------------- For Solaris 2.0-2.6 releases, refer to the Install.info file and/or the README within the patch for instructions on using the generic 'installpatch' and 'backoutpatch' scripts provided with each patch. For Solaris 7-9 releases, refer to the man pages for instructions on using 'patchadd' and 'patchrm' scripts provided with Solaris. Any other special or non-generic installation instructions should be described below as special instructions. The following example installs a patch to a standalone machine: example# patchadd /var/spool/patch/104945-02 The following example removes a patch from a standalone system: example# patchrm 104945-02 For additional examples please see the appropriate man pages. Special Install Instructions: ----------------------------- NOTE 1: In order for this patch to take effect, your system must be rebooted. NOTE 2: For complete Enchilada and Taco platform support for the SUNW,Sun-Blade-1500 and SUNW,Sun-Blade-2500, please also install the following patches: 116472-01 (or newer) rmformat patch 116474-01 (or newer) libsmedia patch 113490-03 (or newer) audio device driver patch 113077-10 (or newer) platform/sun4u/kernal/drv/su patch 114731-04 (or newer) kernel/drv/glm patch 116478-01 (or newer) usr platform links patch 116476-01 (or newer) pcic driver patch 116480-01 (or newer) IEEE s1394 patch 113447-06 (or newer) libprtdiag_psr patch 116482-01 (or newer) modload Utils patch NOTE 3: To get the complete RFE 4828972 feature, please also install the following patch: 116484-01 (or newer) consconfig patch NOTE 4: If you are installing this patch on a system with a USB keyboard or mouse and are experiencing difficulty in starting the Xserver on your system, the consconfig patch should also be installed. NOTE 5: Please check the USB Dual Framework Guide for USB Dual Framework description, usage, and configuration tips. The guide is available at the following URL: http://www.sun.com/desktop/whitepapers.html NOTE 6: In order to get the complete support for bugids 4778303, 4783585, 4831766, 4881927, 4885542, 4896760, 4900007, 4917711 and 4904316 (security issue with USB device files), please also install the following patches: 113490-03 (or newer) audio device driver patch 116494-01 (or newer) libdevice patch NOTE 7: To get a complete fix for RFE 4718437 (wheel mouse support needed for Pro/E), please also install the following patch: 112785-36 (or newer) Xsun patch NOTE 8: To get the complete fix of Audit Enhancement feature, please also install the following patch: 115006-01 (or newer) kb patch README -- Last modified date: Tuesday, August 17, 2004