Patch-ID# 115553-06
Keywords: security usb audio duplex drivers mixer vde ohci controller cpr
Synopsis: SunOS 5.9: USB Drivers and Framework Patch
Date: Apr/23/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

Relevant Architectures: sparc

BugId's fixed with this patch: 4419540 4507408 4655789 4660516 4662300 4665811 4702501 4706244 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 4824054 4824763 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 4865592 4869166 4869177 4869362 4869396 4875388 4875402 4875818 4876234 4876900 4879738 4879741 4879799 4881576 4881577 4881927 4883138 4885542 4889441 4889499 4889600 4889606 4891599 4891604 4894475 4896760 4898174 4898176 4899551 4900007 4900364 4904316 4904408 4905617 4915001 4916009 4916848 4917711 4920655 4935335 4955343

Changes incorporated in this version: 4662300 4935335

Patches accumulated and obsoleted by this patch: 112836-02 115338-01 115557-01 116065-03

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

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/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_ah1
/kernel/strmod/sparcv9/usbkb1
/kernel/strmod/sparcv9/usbkbm
/kernel/strmod/sparcv9/usbms1
/kernel/strmod/usb_ah1
/kernel/strmod/usbkb1
/kernel/strmod/usbkbm
/kernel/strmod/usbms1
/usr/lib/abi/abi_usb.so.1
/usr/lib/abi/sparcv9/abi_usb.so.1
/usr/lib/adb/ohci_state
/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:

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 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 no 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

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 install
        the following patches:
 
                112233-12 (or newer)   Kernel Update Patch
                112954-05 (or newer)   uata Driver Patch
                113277-18 (or newer)   sd and ssd Patch
                114128-02 (or newer)   sd_lun patch
                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 install the following patches:
 
                113277-18 (or newer)   sd and ssd 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 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 install the following
        patches:

               113490-03 (or newer) Audio Device Driver Patch
               116494-01 (or newer) libdevice Patch

README -- Last modified date:  Tuesday, April 27, 2004

