×

System and method for controlling multiple computer peripheral devices using a generic driver

  • US 9,329,887 B2
  • Filed: 10/19/2011
  • Issued: 05/03/2016
  • Est. Priority Date: 10/19/2011
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for controlling a peripheral hardware device connected to a computer system, said computer system comprising a first operating system, acting as the host operating system, running on a first processor platform, and a generic device driver configured to operate on the combination of said first operating system and first processor platform, said method comprising:

  • delivering said peripheral hardware device with an original peripheral hardware device driver file written for at least one of a second operating system and a second processor platform,installing the generic driver to handle all interfaces between the first operating system, the peripheral hardware device, and any software applications, all of which are configured to interact with the original peripheral device driver,extracting input to said generic device driver from said original peripheral device driver to provide the generic device driver withinformation about how to handle features and functionality of peripheral hardware device to allow the peripheral hardware device to work in the first operating system and on the first processor platform in a same way that the original peripheral hardware device would work in the second operating system and processor platform, the information about how to handle features and functionality including all application programming interface (API) calls, andinformation about how to emulate only those parts of the second operating system and the second processor platform that are required for the original peripheral device to operate on the first operating system and the first processor platform,the step of extracting comprising the steps of;

    parsing said original peripheral device driver file and writing logic determined by said parsing into a parsed portable executable file;

    disassembling a code section within said original peripheral device driver file using information taken from the parsed portable executable file and a disassembler appropriate to the combination of said second operating system and said second processor platform for which said original peripheral device driver was written to output a disassembled driver file; and

    creating a device driver representation file comprising a representation of all information in the disassembled driver file in a format that is readable by, and can be interpreted by said generic device driver and that is different than the format of the information in the disassembled driver file, said information in the disassembled driver file including all assembly instructions in a portable executable file associated with the original peripheral device driver file,handling, by said generic device driver, using the device driver representation file, interfaces between the first operating system, the peripheral hardware device and at least one software application, all of which are configured to interact with said original peripheral device driver file,emulating, by said generic device driver, at least a part of said second operating system and said second processor that are required for the peripheral hardware device to operate on said first operating system and said first processor, andcausing the first operating system to communicate with the generic device driver to control the peripheral hardware device via system calls, kernel application programming interface calls and the device driver representation file,wherein said step of causing comprises presenting said generic device driver to said first operating system running in kernel mode as being a device driver best suited for a particular hardware device, in place of said original peripheral hardware device driver.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×