The package provides the installation files for Microsoft USB Input Device Driver version 10.0.4. If the driver is already installed on your system, updating (overwrite-installing) may fix various issues, add new functions, or just upgrade to the available version. The ICUSB232DB25 USB to RS232 DB9/DB25 Serial Adapter Cable (M/M) lets you connect 9-pin (DB9) or 25-pin (DB25) RS232 serial devices to your laptop or desktop computer through a USB port, as though the computer offered an onboard serial port. Thanks for the info, however, I had already tried everything. The apple device driver was never on my computer, however, I was able to install it after installing a program called 'Driver Update' for some reason when I downloaded the 'Apple mobile device driver' it did not install, but after downloading the driver update program, there was no problem and the file installed without a hitch. The StarTech.com 7.1 USB Sound Card provides a good initial impression, with its plasticky frame providing all of the ports you could need in a logical arrangement. Plug the provided USB cable into your PC, connect up your headset and speakers, and wait for the drivers to install (a CD is provided).
-->Human Interface Devices (HID) is a device class definition to replace PS/2-style connectors with a generic USB driver to support HID devices such as keyboards, mice, game controllers, etc. Prior to HID, devices could only utilize strictly-defined protocols for mice and keyboards. Hardware innovation required either overloading data in an existing protocol or creating non-standard hardware with its own specialized driver. HID provided support for these “boot mode” devices while adding support for hardware innovation through extensible, standardized and easily-programmable interfaces.
HID devices today include a broad range of devices such as alphanumeric displays, bar code readers, volume controls on speakers/headsets, auxiliary displays, sensors and many others. Many hardware vendors also use HID for their proprietary devices.
HID began with USB but was designed to be bus-agnostic. It was designed for low latency, low bandwidth devices but with flexibility to specify the rate in the underlying transport. The specification for HID over USB was ratified by the USB-IF in 1996 and support over additional transports followed soon after. Details on currently supported transports can be found in HID Transports Supported in Windows. 3rd-party, vendor-specific transports are also allowed via custom transport drivers.
HID Concepts
HID consists of two fundamental concepts, a Report Descriptor, and Reports. Reports are the actual data that is exchanged between a device and a software client. The Report Descriptor describes the format and meaning the data that the device supports.
Reports
Applications and HID devices exchange data through Reports. There are three Report types: Input Reports, Output Reports, and Feature Reports.
Report Type | Description |
---|---|
Input Report | Data sent from the HID device to the application, typically when the state of a control changes. |
Output Report | Data sent from the application to the HID device, for example to the LEDs on a keyboard. |
Feature Report | Data that can be manually read and/or written, and are typically related to configuration information. |
Each Top Level Collection defined in a Report Descriptor can contain zero (0) or more reports of each type.
Usage Tables
The USB-IF working group publishes HID Usage Tables that are part of the Report Descriptors that describe what HID devices are allowed to do. These HID Usage Tables contain a list with descriptions of Usages, which describe the intended meaning and use of a particular item described in the Report Descriptor. For example, a Usage is defined for the left button of a mouse. The Report Descriptor can define where in a Report an application can find the current state of the mouse’s left button. The Usage Tables are broken up into several name spaces, called Usage Pages. Each Usage Page describes a set of related Usages to help organize the document. The combination of a Usage Page and Usage define the Usage ID that uniquely identifies a specific Usage in the Usage Tables.
See also
USB-IF HID Specifications.
-->This article clarifies some confusion that vendors have experienced about how hardware that complies with PCI Power Management (PCI-PM) interacts with device drivers in the operating system and about how PCI-PM integrates with ACPI. For more information, see https://www.uefi.org/specifications
Device drivers and PCI power management
This discussion assumes that you are familiar with how Windows Driver Model (WDM) drivers handle power management events, as described in the current Windows DDK. In general, the responsibilities for device drivers are as follows:
Bus drivers: Bus drivers are responsible for enumerating, configuring, and controlling devices. For PCI-PM, the PCI driver is responsible for reading the PCI-PM registers to determine the capabilities of the hardware. When POWER IRPs request power state changes, the PCI driver writes to the PCI power management registers to set the hardware to different Dx states.
When a device is enabled for wake-up, the PCI driver writes to PCI-PM registers to enable the device to fire PME (ACPI will also take an action, see the next section). Finally, when ACPI determines that the PCI bus is waking the system, the PCI driver scans PCI configuration space looking for which device is asserting PME, disables PME in that device, and notifies the driver for that device.
Device driver: The specific driver for the device is responsible for saving and restoring device context, and requesting power state changes as the policy owner for the device. When the device driver receives a POWER IRP requesting a lower device power state change, the device driver is responsible for saving any proprietary device context needed to later turn on the device. In some cases, there may be nothing to save.
PCI-PM registers are strictly the domain of the PCI driver--the IHV's device driver does not need to access any of these registers. Doing so would cause the system to not work reliably. The device driver's responsibility is to perform only proprietary actions.
Startech Usb Adapter Driver
Integrating ACPI and PCI PM
Some devices, particularly motherboard video devices in portables, may require both PCI Power Management as well as ACPI Source Language Assembler (ASL) to completely power manage the device. The PCI Power Management registers would control the internal state of a device, such as internal clocks and power planes. ASL would control the external state, such as external clocks and power planes, or in the case of video controllers, ASL would control the video backlights. Note that ASL and PCI-PM can only be combined on motherboard devices.
The OnNow architecture is a layered architecture, handling the integration of the device driver, PCI driver, and ACPI driver (and ASL) naturally. The following scenarios show the order in which drivers are called to handle these devices.
Note
Drivers Startec Input Devices Download
For the above scenarios to work as described, a WDM driver must forward POWER IRPs correctly as described in the current version of the Microsoft Windows DDK.
Scenario 1: Turning off a device
- Device driver: Saves proprietary device state.
- PCI driver: Saves Plug and Play configuration, disables the device (interrupts and BARs), and puts the device in D3 using PCI-PM registers.
- ACPI driver: Runs ASL code (_PS3 and _OFF for power resources no longer in use) to control the state external to the chip.
Scenario 2: PCI power management and device drivers
- ACPI driver: Runs ASL code (_PS0 and _ON for any OnNow required power resources) to control the state external to the chip.
- PCI driver: Puts the device in D0 using PCI-PM registers and restores Plug and Play configuration (interrupts and BARs--these might be different from what the device was previously on).
- Device driver: Restores proprietary context in the device.
Scenario 3: Enabling wake-up
- Device driver: Sets proprietary registers in the chip to enable wake-up. For example, in pattern matching network wake-up, this is when the patterns would be programmed into the adapter.
- PCI driver: Sets the wake-up enable bits in the PCI PM registers to allow the device to assert PME.
- ACPI driver: Enables the GPE in the chip set associated with PME (as described by the _PRW object listed under the root PCI bus).
Scenario 4: Wake-up
- ACPI driver: Wakes and scans the GPE status bits for wake-up events, disabling GPEs for set GPE status bits, and running any _Lxx or _Exx methods associated with set GPE bits. In response to a wake-up notification on the PCI bus, the ACPI driver will complete the PCI driver's WAIT_WAKE IRP to notify the PCI driver that it is waking the system.
- PCI driver: Scans configuration space looking for any devices with a set PME status bit. For each device, it disables PME and completes the WAIT_WAKE IRP for that device to inform the driver that it is asserting wake-up. The PCI driver stops scanning for wake devices when it has made a complete pass through all PCI devices having not found any asserting PME and when PME stops being asserted.
- Device driver: Requests the device be put in D0 (see scenario 2) and sets any proprietary registers in the chip required to handle the wake-up event.
Call to action on PCI power management and device drivers
Startech Drivers Usb2vgae2
- Integrate ACPI and PCI-PM capabilities into your devices as described in this article.
- The PCI Power Management specification is available at https://www.pcisig.com. This link leaves the Microsoft.com site.
- ACPI Specification available at https://www.uefi.org/specifications. This link leaves the Microsoft.com site.
- The ACPI Component Architecture (ACPICA) compiler can be found at https://acpica.org/downloads/binary-tools.