4. Technical Description 4.1 Summary The intent of this project is to make the following enhancements to Device Driver Utility Tool [1]: * Add text mode UI to Device Driver Utility Tool. * Provide a common library to check missing driver. * Enhance driver installation capability. Requested release binding is Micro. 4.2 Details This project propose to make the following enhancements to Device Driver Utility Tool [1]: 4.2.1 Add text mode UI to Device Driver Utility Tool Current Device Driver Utility only has a graphical UI. In order to meet the requirement from OpenSolaris Text mode installer, a text mode UI is proposed to add to the Device Driver Utility. This text mode UI is based on ncurse, and only lists device(s) that doesn't have driver. This text mode UI also enables the user to install missing driver(s). 4.2.2 Provide a common library to check missing driver Current Device Driver Utility mixed core functions and UI together, this implementation may bring trouble to future expansion of this tool. In order to make structure of this tool better, Device Driver Utility will provide a common library to check missing driver. This common library will serve Device Driver Utility and/or other program. The APIs privided by this library is available in "Exported Interfaces" in this document. Detail descriptions of each API is available in "DDU Programming Interface Specification" [2] document. 4.2.3 Enhance driver installation capability Current Device Driver Utility only installs driver from IPS repository. In case the driver supplier provides driver in other format, or network connection is not available(for example, network controller driver is missing), the user need to install driver(s) in other format. In this project, Device Driver Utility will be enhanced to be able to install driver(s) in P5I [3], DU-Image [4] and SVR4 [5] formats via call "pkg" and "pkgadd" commands. 4.3 Imported Interfaces Interface | Stability | Description ------------------+-------------+---------------------------------------- _curses.so | Committed | PSARC/1996/219 ------------------+-------------+---------------------------------------- _curses_panel.so | Committed | PSARC/1996/219 ------------------+-------------+---------------------------------------- pkgadd | Committed | PSARC/1995/160 ------------------+-------------+---------------------------------------- pkg | Uncommitted | PSARC/2008/190 ------------------+-------------+---------------------------------------- 4.4 Exported Interfaces Interface | Stability | Description ------------------------+----------------------- +----------------------- /usr/bin/ddu-text | Uncommitted | Command to invoke | | text mode UI ------------------------+-----------------------+------------------------ /usr/bin/ddu --silent | Uncommitted | Command to invoke | | GUI DDU in silent mode ------------------------+------------------------+----------------------- ddu_devscan() | Consolidation private | DDU library API [2] | | ------------------------+------------------------+ ddu_package_lookup() | Consolidation private | Python module name: ddu_build_repo_list() | | ddu_function.py ddu_install_package() | | ------------------------+------------------------+----------------------- ddu_repo_object | Consolidation private | DDU library object [2] ddu_package_object | | Python module name: ddu_dev_data | | ddu_repo.py | | ddu_package.py | | ddu_devdata.py ------------------------+------------------------+----------------------- Note: Python modules are located in /usr/lib/python2.6/vendor-packages/DDU/ 4.5 References [1] Device Driver Utility 1.1 PSARC Case: http://sac.sfbay/PSARC/2008/504/ [2] DDU Programming Interface Specification: File ddu_prog_interface_spec.txt in the case directory. [3] P5I: File format used by pkg(5) to fully identify a package (including name and location) or group of packages. [4] DU-Image: Driver Update Image. A legacy format used to deploy driver updates, used by Install Time Update. [5] SVR4: Package format used for Solaris 10 and before. 6. Resources and Schedule 6.4 Steering Committee Requested Information 6.4.1 Consolidation C-team Name: ON 6.5 ARC review type: FastTrack 6.6 ARC exposure: Open