OBSOLETE Patch-ID# 115553-20

NOTE:
***********************************************************************
READ THE TERMS OF THE AGREEMENT ("AGREEMENT") IN THE LEGAL_LICENSE.TXT
FILE CAREFULLY BEFORE USING THIS SOFTWARE. BY USING THE SOFTWARE, YOU
AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE
TERMS, PROMPTLY DESTROY THE UNUSED SOFTWARE.
***********************************************************************

Keywords: security audio vde ohci controller wheel mouse support usb audit
Synopsis: Obsoleted by: 115553-21 SunOS 5.9: USB Drivers and Framework Patch
Date: Dec/14/2005


Install Requirements: Reconfigure immediately after patch is installed                      
                      
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 4647358 4655789 4660516 4660846 4662300 4665811 4702501 4702930 4706244 4707437 4717238 4718437 4723993 4735031 4735465 4737194 4740677 4745648 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 4848295 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 4893834 4894475 4896760 4898083 4898174 4898176 4898852 4899551 4900007 4900364 4900383 4900900 4904316 4904408 4905617 4908469 4914341 4915001 4916009 4916643 4916848 4917711 4919248 4919251 4919260 4920655 4922683 4923069 4927543 4927648 4935335 4939237 4940092 4941082 4949270 4950073 4955343 4961257 4967673 4971510 4971592 4976583 4976792 4988379 4993111 4994700 4995592 5001058 5003764 5006448 5008493 5017095 5017983 5018218 5018235 5018742 5021075 5021083 5028263 5028398 5032631 5034703 5037067 5039148 5045076 5049150 5049215 5053199 5066952 5079178 5086513 5101543 5102060 6176526 6237500 6256245 6265177 6273106

Changes incorporated in this version: 4745648 5017095 6256245 6265177

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 112954-05 113277-18 114128-02 114332-04 117418-01 118558-18 (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:

4745648 cluster node panics because mdboot takes too much time
5017095 interrupts can pin threads indefinitely
6265177 resume_from_intr shouldn't necessarily set pil register
6256245 ecache_scrubber unpinning idle() on a quiesced CPU led to deadman panic
 
(from 115553-19)
 
6237500 Upgrade (Solaris 9 to Solaris 10) of SUNWusb does not work properly
        due to broken preremove script
6273106 patch 115553-18 USB Drivers and Framework Patch missing required dependency
 
(from 115553-18)
 
   This patch is a respin of the previous revision. This fixes postinstall script
   to include EdgePort
 
(from 115553-17)
 
   This patch is a respin of the previous revision. This fixes postinstall script
   to add USB driver
 
(from 115553-16)
 
6176526 c-kermit test doesn't exit smoothly while running test on old EdgePort device
5102060 S10 BETA 6:  No driver for EdgePort
5053199 system becomes unusable upon disconnecting an active EdgePort device
 
(from 115553-15)
 
   This patch is a respin of the previous revision. This fixes pkginfo files
   containing duplicate information.
 
(from 115553-14)
 
4647358 scsa2usb: USB floppy format fails on x86
4707437 Remove USB dump support
4717238 USB floppy drives get accessed frequently for no reason.
4740677 GNOME2.0: Media password verification fails to match password exactly.
4848295 SCSA2USB_ATTRS_TUR is ignored
4891604 scsa2usb.conf: new record for suppressing mode sense requests
4893834 usb_free_log_handle() not called if usb_register_client() fails.
4898083 scsa2usb: doesn't create /dev/dsk node for Addonics UDD device
4898852 scsa2usb: do not bp_mapin if pkt != NULL
4899551 scsa2usb: override interface class if != 8
4914341 vold cannot mount USB floppies
4919251 scsa2usb_detach fails detach unnecessarily
4917711 nutvs test hangs on enws with Seagate tape drive
4919260 request referenced after freeing
4927543 doorlock handling fails on Sony usb2.0 flash drive
4940092 USB client drivers should use standard pm functions to raise/lower power
4941082 scsa2usb: virtual geometry is too small
4949270 USB Trek Flash drive hangs at mount or mkfs
4967673 scsa2usb: needs to be taught about mass storage devices that don't support inquiry
4971510 USB is spamming syslog
4976583 scsa2usb: has minor nodes but does not implement getinfo(9E)
4995592 scsa2usb: should give console message when device has been reconnected
5006448 vold cannot mount write-protected USB floppies
5028263 sanborn cruzer returns incorrect residues
5034703 cannot write vtoc to USB ZIP drive
5049150 scsa2usb: formatting DVD+RW media hangs
5049215 scsa2usb: error recovery
5066952 improve handling of memory sticks
5086513 USB ZIP drive doesn't accept passwd R/W protection
5101543 scsa2usb2: scsa2usb attributes modified: 0xfffe
5079178 USB CD drive doesn't respond to eject request
 
(from 115553-13)
 
   This patch revision accumulates/obsoletes 115004-02 to resolve
   metacluster 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 backing out 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)
 
   This patch revision drops the Feature Point Patch dependency
 
(from 115553-08)
 
   This patch revision accumulates/obsoletes Solaris 9 Update S9U7
   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 message - library error
 
(from 115553-05)
 
4955343 Patch 115553-03 has wrong required patch list
 
(from 115553-04)
 
   This patch revision accumulates/obsoletes Solaris 9 Update S9U6
   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
 
(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 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 accumulates/obsoletes 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 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-10 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 greater)  rmformat patch
        116474-01 (or greater)  libsmedia patch
        113490-03 (or greater)  audio device driver patch
        113077-10 (or greater)  platform/sun4u/kernel/drv/su patch
        113447-06 (or greater)  prtdiag and platform libprtdiag_psr.so.1 patch
        114731-04 (or greater)  kernel/drv/glm patch
        116478-01 (or greater)  usr platform links patch
        116476-01 (or greater)  pcic driver patch
        116480-01 (or greater)  IEEE s1394 patch
        116482-01 (or greater)  modload Utils patch
 
NOTE 3: To get the complete RFE 4828972 feature, please also install the
        following patch:
 
        116484-01 (or greater)  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 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 greater)  audio device driver patch
        116494-01 (or greater)  libdevice patch
 
NOTE 7: To get the complete feature RFE 4718437 (wheel mouse support
        needed for Pro/E), please also install the following patch:
 
        112785-36 (or greater)  Xsun patch
 
NOTE 8: To get the complete Audit Enhancement feature, please also
        install the following patches:
 
        115006-01 (or greater)  kb patch
        112233-07 (or greater)  Kernel Update patch

README -- Last modified date:  Thursday, August 31, 2006

