Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         usbutils for OpenSolaris
    1.2. Name of Document Author/Supplier:
         Author:  Henry Zhang
    1.3  Date of This Document:
        11 August, 2008
4. Technical Description
1. Introduction

  1.1. Project/Component Working Name:

       usbutils 0.73

  1.2. Name of Document Author/Supplier:

       Henry Zhang     (hua.zhang at sun.com)

  1.3. Date of This Document:

       25/06/08

  1.4. Name of Major Document Customer(s)/Consumer(s):

    1.4.1. The PAC or CPT you expect to review your project:

           Solaris PAC

    1.4.2. The ARC(s) you expect to review your project:

           LSARC

    1.4.3. The Director/VP who is "Sponsoring" this project:

           Robert.Odea at Sun.Com

    1.4.4. The name of your business unit:

           JDS Desktop Engineering, OPG

  1.5. Email Aliases:
       1.5.1. Responsible Manager:     leo.binchy at Sun.COM
       1.5.2. Responsible Engineer:    hua.zhang at Sun.COM
       1.5.3. Marketing Manager:       jeff.mcmeekin at sun.com
       1.5.4. Interest List:           usbutils at sun.com

2. Project Summary

  2.1. Project Description:
        
       Usbutils package contains a utility used to display information about 
       system USB buses and the devices connected to them. The current version
       is 0.73.


2.2. Risks and Assumptions:
    1. Usbutil uses libusb on Solaris, currently libusb can only wrok with
       the usb devices that support the Ugen driver, so this tool will only
       display all USB devices with Ugen. We will add a note into the manpage.

    2. Some of the features of this tool depend on the Linux kernel which has 
       /proc/bus/usb, but on Solaris we do not provide this interface. 
       We can display the information by using libusb, so we will remove
       or change those functions relative with /proc/bus/usb. 


3. Business Summary

  3.1. Problem Area:

       USB and the USB devices are popular and used in all kinds of systems
       currently, and there is the strong requirement for user to understand 
       what the system USB bus topology is, and what devices are connected to 
       the USB bus. User may also want to know information about these USB 
devices,
       for example vendor name, product name, and other information on this
       devices. Usbutils is used to show what USB devices exist and what the 
       USB device tree looks like. 

  3.2. Market/Requester:

       JDS Desktop group

  3.3. Business Justification:

       As we can see, more and more systems support USB, and more and more 
       devices are using USB to connect. The USB utility is necessary for 
       the system, it can give user some useful information, in fact lots of USB
       tool is developed and used. Solaris does not has this type of tool
       for user to view the system USB and the information about the devices
       connected to USB, so this tool will benefit Solaris and make it more 
       competitive.

  3.4. Competitive Analysis:

       Now on Linux, this type of USB utility has been available for long time,
       and lots of similar tools have been developed for Windows, MacOS, 
       for example, USBDeview etc.

  3.5. Opportunity Window/Exposure:

       It is expected that this project will be integrated into Nevada B100.

  3.6. How will you know when you are done?:

       When usbutils is ported to Nevada and runs correctly.  

       The project will be complete when there are no stoppers, P1 or P2 bugs.

4. Technical Description:

  4.1. Details:

       Usbutils shows a graphical representation of the devices that are 
       currently plugged in, showing the topology of the USB bus. It also  
       displays information on each individual device on the bus. 

       It's composed of lsusb and update-usbids. The update-usbids is in the 
       source codes, which is used to download the current version of the USB 
       ID list, named usb.ids, which requires Wget-1.10.2 or Lynx-2.8.6rel.5. 
       update-usbids is run to get the latest usb list into the source code, 
       and then when building the source codes, this latest list will be 
       installed into your system. Later user can get the latest list by 
       accessing the webpage directly, http://www.linux-usb.org/usb.ids. 
       This information will be added into the manpage, so that the user knows
       how to get the USB ID list.

       lsusb is a utility for displaying information about all USB buses in the
       system and all devices connected to them, lsusb support USB 2.0 features,
       
       This version of lsusb uses the system's version of 'libusb', rather than 
       its own private copy. 

  4.2. Bug/RFE Number(s):

       RFE 6732523

  4.3. In Scope:

       Display the information we can get from libusb

  4.4. Out of Scope:

       Display the detailed information listed in /proc/bus/usb, because 
       at Solaris we have no this file.

   4.5. Interfaces:
    
      Imported Interfaces
      Interface             Stability    Comments
      -------------------     -----------  -----------------------------------

      libusb                Volatile     PSARC/2003/721 
      libc6                 Committed

      Exported Interfaces   Stability      Comments
      -------------------------  -------------  
---------------------------------

      /usr/bin/lsusb        Volatile         Used to display USB & devices
      /usr/share/usb.ids    Project Private  A list of all known USB ID
      SUNWusbutils          Uncommitted      Package name


  4.6. Doc Impact:

       Man page docs will need to be updated with Sun specific
       information (ATTRIBUTES, etc.).

  4.7. Admin/Config Impact:

       There are no changes to the system administration and configuration. 

  4.8. HA Impact:

       N/A

  4.9. I18N/L10N Impact:

       Not be needed, since this utility provides the command line command.

  4.10. Packaging & Delivery:

        The new packages are:

              - SUNWusbutils 


  4.11. Security Impact:

        There is no additional security impact for Solaris.

  4.12. Dependencies:

       Minimal dependencies:
        libc6  >= 2.3.5-1: GNU C programming libary
        libusb >=0.1.8: userspace USB programming library
                        see PSARC/2003/721 

5. Reference Documents:

   usbutils main project page:
    
      http://www.linux-usb.org/

   libusb home page:

      http://www.libusb.sourceforge.net

   Usbutils soucecode repositories:

      
http://sourceforge.net/project/showfiles.php?group_id=3581&package_id=142529


6. Resources and Schedule:

  6.1. Projected Availability:
       
       Expect to be integrated into Nevada in build 100 in Q4 2008

  6.2. Cost of Effort:

       Development     1.0 Engineers - 2 Months
       Testing         0.5 Engineers - 1 Months
       RE              0.5 Engineers - 1 Months

  6.3. Cost of Capital Resources:

       N/A

  6.4. Product Approval Committee requested information:

       6.4.1. Consolidation or Component Name:

              JDS / OpenSolaris
 
       6.4.3. Type of CPT Review and Approval expected:

              Standard

       6.4.4. Project Boundary Conditions:

              None

       6.4.5. Is this a necessary project for OEM agreements:

              No

       6.4.6. Notes:

              N/A

       6.4.7. Target RTI Date/Release:

              Nevada B100 - Sep. 2008

       6.4.8. Target Code Design Review Date:

              Aug. 2008

       6.4.9. Update approval addition:

              New project, no Solaris PAC approval yet

  6.5. ARC review type:

       FastTrack

7. Prototype Availability:

  7.1. Prototype Availability:

       Aug. 2008   

  7.2. Prototype Cost:

       1 engineer
       1 QA
       1 RE

6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                Desktop
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


Reply via email to