Systems and methods for improved hardware device connectivity
First Claim
Patent Images
1. An apparatus comprising:
- a driver module to generate a request for data and to receive one or more responses to the request, the driver module operable to communicate with one or more devices using a Universal Serial Bus protocol;
a hardware interface module operable to be coupled to one or more hardware devices, wherein the one or more hardware devices operate using a protocol other than the Universal Serial Bus protocol; and
an adapter module implemented in software and separately coupled to the driver module and to the hardware interface module so that the driver module and the hardware interface module are coupled through the adapter module, wherein the adapter module is coupled to and is operable to communicate with the driver module as a Universal Serial Bus device,wherein the adapter module includes hard-coded hardware device data corresponding to the one or more hardware devices, including for each particular hardware device a configuration data that corresponds to a protocol type used by that particular hardware device for communication,the adapter module operable to enable the driver module to provide a query to the hardware interface for input data or for a status related to a given hardware device, the query in the form of a URB interrupt, and wherein the adaptor module is operable to map the query to an appropriate hardware device based on the hard-coded hardware device data stored in the adaptor module, the adaptor module operable to hold the query for further processing and until receipt of input data from the appropriate hardware device, to periodically poll the hardware interface connected to the appropriate hardware device, and when input data is sent from the hardware interface of the appropriate hardware device in response to the query, to encapsulate the input data into the original query and to send the original query and the encapsulated input data to the driver module,wherein the driver module would be unable to communicate directly with the appropriate hardware device using the Universal Serial Bus protocol.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are described herein to provide for improved hardware device connectivity. Other embodiments include apparatus and system for receiving messages from an operating system and sending messages to one or more hardware devices. Further embodiments include methods for receiving messages from an operating system regarding operations on a hardware device and responding to those messages. Other embodiments include methods for receiving interrupt messages and mapping those interrupt messages to hardware devices. Other embodiments are described and claimed.
9 Citations
15 Claims
-
1. An apparatus comprising:
-
a driver module to generate a request for data and to receive one or more responses to the request, the driver module operable to communicate with one or more devices using a Universal Serial Bus protocol; a hardware interface module operable to be coupled to one or more hardware devices, wherein the one or more hardware devices operate using a protocol other than the Universal Serial Bus protocol; and an adapter module implemented in software and separately coupled to the driver module and to the hardware interface module so that the driver module and the hardware interface module are coupled through the adapter module, wherein the adapter module is coupled to and is operable to communicate with the driver module as a Universal Serial Bus device, wherein the adapter module includes hard-coded hardware device data corresponding to the one or more hardware devices, including for each particular hardware device a configuration data that corresponds to a protocol type used by that particular hardware device for communication, the adapter module operable to enable the driver module to provide a query to the hardware interface for input data or for a status related to a given hardware device, the query in the form of a URB interrupt, and wherein the adaptor module is operable to map the query to an appropriate hardware device based on the hard-coded hardware device data stored in the adaptor module, the adaptor module operable to hold the query for further processing and until receipt of input data from the appropriate hardware device, to periodically poll the hardware interface connected to the appropriate hardware device, and when input data is sent from the hardware interface of the appropriate hardware device in response to the query, to encapsulate the input data into the original query and to send the original query and the encapsulated input data to the driver module, wherein the driver module would be unable to communicate directly with the appropriate hardware device using the Universal Serial Bus protocol. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
-
receiving at an adaptor module a configuration request from a driver module, wherein the adaptor module is implemented in software and is configured to communicate with the driver module using a Universal Serial Bus protocol and the adaptor module appears to the driver module as a Universal Serial Bus device, and wherein the request includes a request for configuration data related to a hardware device, wherein the hardware device is configured to communicate using a protocol other then the Universal Serial Bus protocol; retrieving from the adaptor module the configuration data related to the configuration request, wherein retrieving the configuration data related to the configuration request includes mapping the configuration request to an appropriate hardware device based on hard-coded configuration data previously stored in the adaptor module, the configuration data including endpoint data defined by the Universal Serial Bus specification; encapsulating the configuration data into a response message; and sending the response message to the driver module. - View Dependent Claims (6, 7)
-
-
8. A method comprising:
-
receiving at an adaptor module an interrupt message from a driver module, wherein the adapter module is implemented in software and is configured to communicate with the driver module using a Universal Serial Bus protocol and wherein the adaptor module appears to the driver module as a Universal Serial Bus device, wherein the interrupt message includes a query directed to one or more hardware devices, wherein the one or more hardware devices are configured to communicate using a protocol other then the Universal Serial Bus protocol; mapping the interrupt message to the an appropriate hardware device, wherein the mapping is based on hard-coded configuration data previously stored in the adaptor module; holding the interrupt message for processing; querying the appropriate hardware device for input data, wherein the appropriate hardware device is selected for querying based on the mapping of the interrupt message; receiving input data from the appropriate hardware device; encapsulating the input data into a response message using a Universal Serial Bus protocol; and sending the response message to the driver module. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A system, comprising:
-
a PCI bus; and a storage device coupled to the PCI bus, the storage device having instructions contained therein which when executed cause to be operated the following software modules; a driver module to generate a request for data and to receive one or more responses to the request, the driver module operable to communicate with one or more devices using a Universal Serial Bus protocol; a hardware interface module operable to be coupled to one or more hardware devices, wherein the one or more hardware devices operate using a protocol other than the Universal Serial Bus protocol; and an adapter module implemented in software and separately coupled to the driver module and to the hardware interface module so that the driver module and the hardware interface module are coupled through the adapter module, wherein the adapter module is coupled to and is operable to communicate with the driver module as a Universal Serial Bus device, wherein the adapter module includes hard-coded hardware device data corresponding to the one or more hardware devices, including for each particular hardware device a configuration data that corresponds to a protocol type used by that particular hardware device for communication, the adapter module operable to enable the driver module to provide a query to the hardware interface for input data or for a status related to a given hardware device, the query in the form of a URB interrupt, and wherein the adaptor module is operable to map the query to an appropriate hardware device based on the hard-coded hardware device data stored in the adaptor module, the adaptor module operable to hold the query for further processing and until receipt of input data from the appropriate hardware device, to periodically poll the hardware interface connected to the appropriate hardware device, and when input data is sent from the hardware interface of the appropriate hardware device in response to the query, to encapsulate the input data into the original query and to send the original query and the encapsulated input data to the driver module, and wherein the driver module would be unable to communicate directly with the appropriate hardware device using the Universal Serial Bus protocol. - View Dependent Claims (14, 15)
-
Specification