James C. McPherson wrote: > Frank Che wrote: >> I'm sponsoring this fast track for Bill Yan. Requested release >> binding is patch/micro for OpenSolaris. Timer is set to 08/13/2008. > > >> Note that this project depends on the IPS project (PSARC 2008/190) >> which is still under development now. > > > So you want this to go into a Solaris 10 Update? Why? I would have > expected "minor" for the release binding since you have a dependency > on the IPS project.
Yes, minor is appropriate. Note that patch != micro in any case, so you'd need to pick one. (We haven't had a micro release since Solaris 2.5.1.) -- Garrett > >> Frank. >> >> 4. Technical Description >> Summary >> The intent of this project is to propose the integration of >> Device Driver >> Utility to OpenSolaris OS. Motivation to propose this project is >> to fulfill >> the increasing requirement from the customer about easily view >> hardware >> information in Solaris OS and install missing device driver(s), thus >> contribute to the adoption of OpenSolaris OS. >> This project requests a patch/micro release binding to >> OpenSolaris. >> >> 4.1 Proposal >> 4.1.1 Introduction to Device Driver Utility >> Device Driver Utility provides information about the devices of >> the user's >> native system. Device Driver Utility enables the user to connect >> to the >> Image Packaging System (IPS) [1] to search for the device drivers >> for the >> devices that do not have a driver attached with it. By using the >> Device >> Driver Utility application, the user can do the following: >> * Get the information of the devices installed on your native >> system and >> their corresponding device driver availability status. The following >> information are displayed on the GUI: >> - Device name and attributes(device path, vendor ID, device >> ID etc.) >> - Device driver availability >> - Device driver name and status(instance number, >> attached/detached >> etc.) >> * Check the device driver availability for your system devices on >> IPS. >> * Download and install the device drivers from IPS for those devices >> that do not have an attached driver. >> * Report system configurations to the OpenSolaris Hardware >> Compatibility >> List (HCL). >> >> 4.1.2 Device Driver Utility components >> To achieve the above functions, the following components will be >> implemented: >> >> 4.1.2.1 Device information fetcher. >> This component is designed to probe current system via the >> libdevinfo >> interface, walk through device tree and get information of all >> detected >> devices and driver information of each device. >> >> 4.1.2.2 Solaris driver database. >> The Solaris driver database is a mapping table between device >> identifier(normally vendor ID and device ID) and name of Solaris >> driver. >> This database includes three sets of information: drivers that >> are bundle >> with OpenSolaris, third-party drivers that can be downloaded from >> an IHV >> website, drivers that can be downloaded from OpenSolaris community. >> >> This database is only used when a device doesn't have a driver. >> >> Solaris driver information is extracted from the >> /etc/driver_aliases file. >> Third-party and OpenSolaris driver information is manually >> collected and >> added to the driver database. >> >> The driver database must be updated periodically because new >> hardware and >> new Solaris drivers are continually created. > > > How often will the database be updated? > Who is responsible for updating the database? > Who is responsible for ensuring that the information > in the database is accurate? > > >> 4.1.2.3 User interface. >> Consider the target user of this tool are most likely don't have >> much >> knowledge of Solaris system administration, only graphical user >> interface >> is available, written in Python. The user reads device >> information from >> this informative GUI, instruct Device Driver Utility to download and >> install missing driver(s) automatically through a few simple >> mouse-click, >> submit hardware information to OpenSolaris HCL using this GUI. > > What if the driver is for a network device, and the > system has no other network interface installed? > What information will be provided to the user so that > they can get the driver via other means? > > > >> 4.1.2.4 Core engine. >> This component stays in the center of Device Driver Utility. It >> completes >> the following fundamental operations: >> (1) Get device information from device information fetcher. If there >> is device >> that missing driver in current OpenSolaris OS, then look up Solaris >> driver >> database for the driver name. Pass all these information to GUI for >> display. >> (2) Check IPS for driver availability through pkg(1M) command. Search >> for >> package on IPS that contains needed driver based on driver name. >> Download and >> install certain driver package(s) according to user's instruction. >> (3) Read hardware-related information from SMBIOS as much as >> possible, then >> automatically fill in to OpenSolaris HCL submission table, ask the >> user to >> provide other necessary information, then format all these >> information and pass >> to OpenSolaris HCL server if the user want to do a submission. >> Submission is >> done through HTTPS post method. The user can see what data will be >> transferred >> to Sun before the submission is done. > > I like the sound of this. Will there be just one URL to point both > the database queries and submission towards, or will there be multiple > locations? > > If there are multiple locations, how will the information be collated > for the database, and how will it be propagated to the other locations? > > > How will you handle secure sites? > > >> 4.1.3 Limitations >> There are a few limitations in current plan: >> >> (1) The following functionality depend on network connectivity to Sun >> servers: >> * Check device driver availability via IPS. >> * Dynamically add driver from IPS. >> * Submit system configuration to OpenSolaris HCL. >> >> (2) If the Solaris driver database is not updated in time(for >> example, there is >> driver which can be found in IPS but not in Solaris driver database), >> the >> driver search result may not be correct. However, if IPS enables the >> user to >> search for a driver package through supported vendor ID and device >> ID, this >> limitation will not exist any more. >> >> 4.2 Interfaces >> 4.2.1 Exported Interfaces >> Exported Interface| Stability | Description >> >> ------------------+-------------+---------------------------------------- >> >> /usr/bin/ddu | Committed | Device Driver Utility startup >> script >> >> ------------------+-------------+---------------------------------------- >> >> SUNWddu | Uncommitted | Package name for Device Driver >> Utility >> >> ------------------------------------------------------------------------- >> >> >> 4.2.2 Imported Interfaces >> Imported Interface| Stability | Description >> >> ------------------+-------------+---------------------------------------- >> >> Python 2.4.x | Volatile | PSARC/2005/532 >> >> ------------------+-------------+---------------------------------------- >> >> libdevinfo.so.1 | Uncommitted | PSARC/1997/127 >> >> ------------------+-------------+---------------------------------------- >> >> /dev/smbios | Uncommitted | PSARC/2005/483 >> >> ------------------+-------------+---------------------------------------- >> >> pkg(5): image | Uncommitted | PSARC 2008/190 >> packaging system | | >> >> ------------------------------------------------------------------------- >> >> >> 4.3 References >> [1] IPS is a repository for OpenSolaris packages where the user >> can find >> suitable drivers for the devices. >> >> >> 6. Resources and Schedule >> 6.4 Steering Committee Requested Information >> 6.4.1 Consolidation C-team Name: None >> 6.5 ARC review type: Fast Track >> 6.6 ARC exposure: Open > > One final question - is the project team writing this from scratch, > or are they leveraging the work of the existing HCTS tool? > > > James C. McPherson > -- > Senior Kernel Software Engineer, Solaris > Sun Microsystems > http://blogs.sun.com/jmcp http://www.jmcp.homeunix.com/blog