Universal Serial Bus Base Stack README September 23, 2004 OS/2 Device Driver Development IBM Solution Technologies Austin, TX This README contains information on the Universal Serial Bus (USB) Basic Device Driver Support (USBBASIC) for OS/2. The following versions of OS/2 are supported by this package: OS/2 Warp 3, OS/2 Warp 4, OS/2 Warp Server for e-business, OS/2 Warp 4 Convenience Pack 1, OS/2 Warp 4 Convenience Pack 2, OS/2 Warp Server for e-business Convenience Pack 1, OS/2 Warp Server for e-business Convenience Pack 2. CONTENTS ________ 1.0 Introduction 2.0 USB-Basic Support 2.1 Installation Instructions 2.2 Adding the USB Basic stack to the OS/2 Installation Disks or Utility Diskettes 2.2.1 Modifying Diskette 1 2.3 Additional Driver Parameters 2.3.1 USBD driver parameters for BASEDEV=USBD.SYS 2.3.2 USBHID driver parameters for BASEDEV=USBHID.SYS 2.3.3 USBOHCD driver parameters for BASEDEV=USBOHCD.SYS 2.3.4 USBUHCD driver parameters for BASEDEV=USBUHCD.SYS 2.3.5 USBEHCD driver parameters for BASEDEV=USBEHCD.SYS 2.4 Un-Install Instructions 2.5 Recomendations 2.6 Tested UHCI Adapters 2.7 Tested OHCI Adapters 2.8 Tested EHCI Adapters 2.9 Hardware Requirements 3.0 Copyright and Trademark Information 1.0 Introduction _________________ This USBBASIC.EXE driver package provides you with IBM's most current support for Universal Serial Bus (USB) devices on the OS/2 Operating System. It contains support for three types of host controller interfaces: Open Host Controller Interface (OHCI) Universal Host Controller Interface (UHCI). Enhanced Host Controller Interface (EHCI). This package is a prerequisite for all the other USB packages. 1.1 The USBBASIC.EXE file is a self extracting file that contains the following (15) files. - HCIMONIT.EXE Host Controller adapter(s) monitor utility - HCIMONIT.SYM Debug symbol file for HCIMONIT.EXE - USBBASIC.TXT This readme file - USBD.SYS USB Base Driver - USBD.SYM Debug symbol file for USBD.SYS - USBEHCD.SYS EHCI compliant USB host controller driver - USBEHCD.SYM Debug symbol file for USBEHCD.SYS - USBHID.SYS USB Human Interface Driver - USBHID.SYM Debug symbol file for USBHID.SYS - USBINST.EXE Installation executable that installs USB Base Stack - USBINST.SYM Debug symbol file for USBINST.EXE - USBOHCD.SYS OHCI compliant USB host controller driver - USBOHCD.SYM Debug symbol file for USBOHCD.SYS - USBUHCD.SYS UHCI compliant USB host controller driver - USBUHCD.SYM Debug symbol file for USBUHCD.SYS 2.0 USB-Basic Support ______________________ 2.1 Installation Instructions ============================== 2.1.1 To use the USB driver files, you must first expand the USBBASIC.EXE package file into its (7) component files by performing the following: (a.) opening an OS/2 window (b.) changing to the directory where USBBASIC.EXE is stored (c.) type USBBASIC at the OS/2 command prompt (this will extract the files). Continue with the USB Installation Instructions. 2.1.2 Execute the Host Controller Utility (HCIMONIT.EXE). It reports the number of UHCI, OHCI and EHCI Host controllers contained on your system. If no UHCI, OHCI or EHCI Host controllers are reported, you do not need to continue with the install. If you do not have a USB Host controller, you will not have any USB capability. At the OS/2 command prompt, type USBINST. USBINST installs the USB drivers or refresh the USB support currently on your PC. If installing on an IBM 365 system add the parameter /FS to the USBUHCD entry in CONFIG.SYS (for parameter explanation see section 2.3). This completes the USBBASIC installation procedure. You must REBOOT your system. You can install any of the other additional USB device drivers after you have REBOOTed the system. 2.2 Adding USB Basic support to the OS/2 Installation Disks or Utility Diskettes ================================================================================ The USB Basic Device Support package provides the host controller interface support for USB. It is a prerequisite for all USB device support and must be the first USB drivers added to the Installation diskettes or Utility diskettes and allows use of any USB devices when booting. Individual USB device support packages can then be added to the Installation or Utility diskettes. (eg. USB Diskette, USB CDROM, USB Keyboard, USB Mouse, etc.) Refer to the readme included in the individual USB device support package for instructions on updating the diskettes. If there is insufficient disk space on the boot diskettes for the additional USB drivers, then follow the procedure in the README.TXT found in the root directory of your OS/2 system on the procedure to make additional space on the boot diskettes. When removing existing files from the Installation or Utility diskettes, make sure you remove or comment out the corresponding statements from both the CONFIG.SYS file and the SNOOPER.LST (if it exists) file. As a general rule, driver updates/additions to the installation or utility diskettes will require driver file replacement or additions and changes to both the CONFIG.SYS file and the SNOOPER.LST file. 2.2.1 Modifying Diskette 1 First determine the number and type of USB host controllers contained on your system by performing the following instructions from section 2.1.2. Add the following sequence of statements to the CONFIG.SYS file on the Diskette 1: SET SAVECONNECT=1 SET COPYFROMFLOPPY=1 BASEDEV=USBD.SYS /I13 BASEDEV=USBUHCD.SYS (one copy of this statement for each UHCI controller reported by HCIMONIT utility) BASEDEV=USBOHCD.SYS (one copy of this statement for each OHCI controller reported by HCIMONIT utility) BASEDEV=USBEHCD.SYS (one copy of this statement for each EHCI controller reported by HCIMONIT utility) BASEDEV=USBHID.SYS Copy the following USB Device Drivers files to the Diskette: USBD.SYS ( USB Base Driver ) USBUHCD.SYS ( USB UHCI Host Controller Driver) USBOHCD.SYS ( USB OHCI Host Controller Driver ) USBEHCD.SYS ( USB EHCI Host Controller Driver ) USBHID.SYS ( USB Human Interface Driver ) For Warp 4 and Warp 3 the IDEDASD package from the OS/2 DDPak also should be applied if installing OS/2 on a hard drive larger than 8.4GB. Note: After installation from the modified diskettes remove the parameter /I13 from the statement BASEDEV=USBD.SYS and rearrange the USB device driver statements in the following order: 1. USB Host Controller Driver statements like BASEDEV=USBUHCD.SYS, BASEDEV=USBOHCD.SYS, BASEDEV=USBEHCD.SYS 2. USB Base Driver statement BASEDEV=USBD.SYS 3. Any Other USB Driver statements 2.3 Additional Driver Parameters ================================ The following are additional parameter that you can use in CONFIG.SYS for the USB Basic Drivers: 2.3.1 USBD driver parameters for BASEDEV=USBD.SYS PARAMETER FUNCTION /V Verbose Mode, displays driver information during OS/2 initialization. /I13 /I13 parameter could be used to delay USB host overtaking by the USB driver stack until after other device drivers finish required initialization operations. It could be used to boot from the USB floppy drive. /REQ parameter controls USBD driver initialization: driver at initalization time checks for a listed host controller and fail to load if no listed driver is loaded. The USB stack supports the following parameter settings: /REQ:USBUHCD$ USBD driver is loaded only if UHCI compliant host driver is loaded /REQ:USBOHCD$ USBD driver is loaded only if OHCI compliant host driver is loaded /REQ:USBEHCD$ USBD driver is loaded only if EHCI compliant host driver is loaded /REQ:USBUHCD$,USBOHCD$,USBEHCD$ USBD driver is loaded only if one of the OHCI/UHCI/EHCI compliant host drivers is loaded. This most general form of parameter and must be used in most cases. If you are using /REQ parameter all statements "BASEDEV=USBUHCD.SYS", "BASEDEV=USBOHCD.SYS" and "BASEDEV=USBEHCD.SYS" must be first in the sequence of USB statements. 2.3.2 USBHID driver parameters for BASEDEV=USBHID.SYS PARAMETER FUNCTION /V Verbose Mode, displays driver information during OS/2 initialization. 2.3.3 USBOHCD driver parameters for BASEDEV=USBOHCD.SYS PARAMETER FUNCTION /V Verbose Mode, displays driver information during OS/2 initialization. /FS Forces the driver to stop the USB host during the OS/2 shutdown process. This parameter can be used to prevent POST (power on system test) failures on some hardware with a legacy keyboard. 2.3.4 USBUHCD driver parameters for BASEDEV=USBUHCD.SYS PARAMETER FUNCTION /V Verbose Mode, displays driver information during OS/2 initialization. /FS Forces the driver to stop the USB host during the OS/2 shutdown process. This parameter can be used to prevent POST (power on system test) failures on some hardware with a legacy keyboard. 2.3.5 USBEHCD driver parameters for BASEDEV=USBEHCD.SYS PARAMETER FUNCTION /V Verbose Mode, displays driver information during OS/2 initialization. /FS Forces the driver to stop the USB host during OS/2 shutdown process. This parameter can be used to prevent POST (power on system test) failures on some hardware with a legacy keyboard. 2.4 Un-Install Instructions ============================ Delete or remark out the following lines from CONFIG.SYS file starting with BASEDEV=USBD.SYS BASEDEV=USBHID.SYS BASEDEV=USBOHCD.SYS BASEDEV=USBEHCD.SYS BASEDEV=USBUHCD.SYS and delete the following files from the \os2\boot directory: USBD.SYS USBHID.SYS USBOHCD.SYS USBUHCD.SYS USBEHCD.SYS Safely shut down and then re-boot your system to have those changes take affect. 2.5 Recommendations when not using any USB devices ================================================== If you are running OS/2 on an IBM ThinkPad or other notebook system and you do not use any USB devices then you may want to "remark" out the USB device driver statements in your CONFIG.SYS file. You can remark out a USB device driver by preceding the line in config.sys with "rem " or "REM ". This action may lower your notebook's system power requirements and may help to extend the battery's operating life. 2.6 Tested UHCI Adapters ======================== The following are UCHI Adapters that have been tested: D-Link DU-A2 PCI USB controller Intel 82371AB/EB PCI to USB Universal Host Controller Intel 82801AA USB Universal Host Controller Intel 82801CA/CAM USB Universal Host Controller 2.7 Tested OHCI Adapters ======================== The following are OCHI Adapters that have been tested: Belkin USB BusPort F5U005 Entrega PCI4U 4Port USB Upgrade Sis 7001 PCI to USB Open Host Controller 2.8 Tested EHCI Adapters ======================== The following are ECHI Adapters that have been tested: Adaptec USB2Connect Adapter Card AUA-3100LP Intel 845 based motherboard with built-in USB 2.0 chipset USB 2.0 Hi-Speed PCI Card F5U220 2.9 Hardware Requirements ========================== Any PCI to USB Host Controller bridge compatible with the USB version 1.1 or 2.0 specifications and using at least one of the UHCI, OHCI or EHCI interfaces. 3.0 Copyright and Trademark Information ________________________________________ The following terms, are registered trademarks of the International Business Machines Corporation in the United States, or other countries, or both: o IBM o OS/2 o Warp Other company, product, and service names may be trademarks or service marks of others. THE INFORMATION PROVIDED IN THIS README IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IBM DISCLAIMS ALL WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT, IBM GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS. (C) Copyright IBM Corporation, 2001, 2004. All rights reserved. U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.