Havinga Software Driver



All current software, firmware, and drivers for the Surface Pro 4; including optional WinTab drivers. 03 Surface Pro 3. All current software, firmware, and drivers for the Surface Pro 3; including optional WinTab drivers. Links to drivers for other Surface devices are in the Details section below. 04 Microsoft® OLE DB Driver 18 for SQL Server.

Driver Talent (previously called DriveTheLife) is a straightforward driver updater program that downloads device drivers so you don't have to search the internet for official download links. This application not only updates outdated and missing drivers but also fixes corrupted ones and backs up all your installed drivers. Much like configuring the BIOS, installing a new copy of Windows used to be a bit of a chore, but these days it’s been streamlined amazingly well. For most of it, you’ll simply follow the on-screen instructions, but feel free to keep this page open if you get stuck.

-->

It is challenging to give a single precise definition for the term driver. In the most fundamental sense, a driver is a software component that lets the operating system and a device communicate with each other. For example, suppose an application needs to read some data from a device. The application calls a function implemented by the operating system, and the operating system calls a function implemented by the driver. The driver, which was written by the same company that designed and manufactured the device, knows how to communicate with the device hardware to get the data. After the driver gets the data from the device, it returns the data to the operating system, which returns it to the application.

Expanding the definition

  • Apps for Drivers Drivers are code that help Windows and MacOS recognize the physical components of your computer, like a printer, graphics card, or mouse. Find the drivers you need here, or get an.
  • Software if it’s happening in only one app: Hardware if it’s happening in more than one app: Internet is slow: Could be an app in background is consuming the bandwidth: Could be hard disk failing: Downloads take forever Computer freezes Attachments won’t open PC blue screen of death (although it could be your drivers) Pop-up ads.

Our explanation so far is oversimplified in several ways:

  • Not all drivers have to be written by the company that designed the device. In many cases, a device is designed according to a published hardware standard. This means that the driver can be written by Microsoft, and the device designer does not have to provide a driver.

  • Not all drivers communicate directly with a device. For a given I/O request (like reading data from a device), there are often several drivers, layered in a stack, that participate in the request. The conventional way to visualize the stack is with the first participant at the top and the last participant at the bottom, as shown in this diagram. Some of the drivers in the stack might participate by transforming the request from one format to another. These drivers do not communicate directly with the device; they just manipulate the request and pass the request along to drivers that are lower in the stack.

    The one driver in the stack that communicates directly with the device is called the function driver; the drivers that perform auxiliary processing are called filter drivers.

  • Some filter drivers observe and record information about I/O requests but do not actively participate in them. For example, certain filter drivers act as verifiers to make sure the other drivers in the stack are handling the I/O request correctly.

We could expand our definition of driver by saying that a driver is any software component that observes or participates in the communication between the operating system and a device.

Software drivers

Our expanded definition is reasonably accurate but is still incomplete because some drivers are not associated with any hardware device at all. For example, suppose you need to write a tool that has access to core operating system data structures, which can be accessed only by code running in kernel mode. You can do that by splitting the tool into two components. The first component runs in user mode and presents the user interface. The second component runs in kernel mode and has access to the core operating system data. The component that runs in user mode is called an application, and the component that runs in kernel mode is called a software driver. A software driver is not associated with a hardware device. For more information about processor modes, see User Mode and Kernel Mode.

This diagram illustrates a user-mode application communicating with a kernel-mode software driver.

Additional notes

Free

Software drivers always run in kernel mode. The main reason for writing a software driver is to gain access to protected data that is available only in kernel mode. But device drivers do not always need access to kernel-mode data and resources. So some device drivers run in user mode.

There is a category of driver we have not mentioned yet, the bus driver. To understand bus drivers, you need to understand device nodes and the device tree. For information about device trees, device nodes, and bus drivers, see Device Nodes and Device Stacks.

Our explanation so far over simplifies the definition of function driver. We said that the function driver for a device is the one driver in the stack that communicates directly with the device. This is true for a device that connects directly to the Peripheral Component Interconnect (PCI) bus. The function driver for a PCI device obtains addresses that are mapped to port and memory resources on the device. The function driver communicates directly with the device by writing to those addresses. However in many cases, a device does not connect directly to the PCI bus. Instead the device connects to a host bus adapter that is connected to the PCI bus. For example, a USB toaster connects to a host bus adapter (called a USB host controller), which is connected to the PCI bus. The USB toaster has a function driver, and the USB host controller also has a function driver. The function driver for the toaster communicates indirectly with the toaster by sending a request to the function driver for the USB host controller. The function driver for the USB host controller then communicates directly with the USB host controller hardware, which communicates with the toaster.

Many computer hardware components, like a video card, sound card, or motherboard, require drivers to be installed to function properly. How a driver is saved and packaged determines how it is installed. Below is information about each of the methods developers use to distribute their drivers and install them in Microsoft Windows. Additionally, there are some general insights to help prevent frustrations during the process.

Tip

In most situations, the drivers are installed after the hardware has been installed or connected to the computer. If you need help installing hardware, see: How to install computer hardware.

Drivers from a CD or DVD

Almost all computer and hardware manufacturers include a group of drivers for different hardware devices and often for each of the supported versions of Windows. For example, the driver CD you receive with your printer likely contains the drivers for many different printers and may not have the printer you purchased. When installing the drivers, make sure you are install the drivers for your printer and not another printer model. Also, make sure you are installing it for the version of Windows you are running on your computer.

Below is an example of how a file structure may look on your disc.

For example, if you had a PrinterA200 and were using Windows XP, you would find your drivers in the PrinterA200WinXP folder. Once the location of the drivers is found, you must determine how the drivers are packaged. If the folder contains executable files or a setup file, you can install the driver using an executable. If the directory contains .inf files, you can install the driver using an inf or use the 'have disk' option during the install.

Tip

If you have a CD with drivers, but the computer has no functioning disc drive, you can also download the drivers. Or, if you have access to another computer, you can copy the drivers from the CD to a USB flash drive. For help with copying files, see: How to copy files.

Installing drivers from a USB drive or floppy

After the drivers are copied to a USB flash drive, floppy, or another drive, they can also be installed from that drive. Once the drive is connected to the computer, open Windows Explorer and then the drive letter for the computer drive. For example, if you have a USB drive that is assigned the E: drive when connected, you would open the E: drive.

Once the drivers are found on the drive, you must determine how the drivers are packaged. If the directory contains executable files or a setup file, you can install the driver using an executable. If the directory contains .inf files, you can install the driver using an inf or use the 'have disk' option during the install. If the drivers are compressed into a .zip file, you need to uncompress the file.

Downloading and installing a driver

Tip

If you have not yet downloaded the drivers, you can find drivers for your computer through the computer or device manufacturer. For links to the websites of prominent computer hardware manufacturers, see our hardware drivers index.

Tip

Having A Software Driver Windows 10

Havinga software drivers

If you're downloading drivers to install on another device, you can copy or extract the files to a USB flash drive and connect it to the other computer.

After the drivers are downloaded, you must determine how the drivers are packaged. If the directory contains executable files or a setup file, you can install the driver using an executable. If the directory contains .inf files, you can install the driver using an inf or use the 'have disk' option during the install. If the drivers are compressed into a .zip file, you need to uncompress the file.

TipSoftware

When extracting the drivers, remember where the folder containing the drivers is located since it needs to be known during the driver installation process. We recommend extracting files to a folder on the Windows desktop, as it's an easy place to remember.

Installing a driver from an executable

Having A Software Driver License Test

Today, many computer and hardware manufacturers are pre-packaging their drivers into executable files or have the drivers installed through the setup file. Double-clicking the executable or setup file should install the drivers to the computer for you.

Note

The executable may be packaged in a compressed file, which means before looking for the setup file, it needs to be uncompressed. For help with uncompressing a file, see: How to extract or decompress a compressed file. If, after uncompressing the file, it still doesn't contain an executable file, setup file, or doesn't install your hardware device, continue with the below recommendations.

Finally, if you're successful with installing your drivers and the computer asks to reboot the computer, make sure to reboot the computer after the driver is installed.

Using the 'have disk' option to install drivers

Havinga Software Driver

A computer or hardware manufacturer may place the drivers on a CD, diskette, or folder on the hard drive for Windows to find and use during its hardware detection. Below are steps on how to install drivers for a new device and upgrade a device's driver for this setup.

Installing a new device

  1. Open the Windows Device Manager.
  2. In the Device Manager, make sure the device you are attempting to install is not already listed from past install attempts. If the device is found, highlight and remove it from Device Manager to prevent any conflicts during the install.
  1. Once Device Manager looks okay, reboot the computer.
  2. As the computer is rebooting, an Install new hardware wizard should appear if Windows detects the new hardware. Using this wizard, point Windows to the folder containing your drivers on the CD, diskette, USB flash drive, or the folder containing the files you downloaded.

If Windows does not detect any new hardware, open the Control Panel and double-click the Add hardware icon to run the hardware detection wizard. During the steps, you have the option to install custom Windows drivers from a location on disk. Choose to load drivers, then select the folder containing the drivers for your device.

Note

The 'Add hardware' icon is only available in Windows XP and prior versions of Windows.

Once drivers are installed, reboot the computer.

Upgrading drivers for a pre-existing device

  1. Open the Windows Device Manager.
  2. In the Device Manager, locate the device you want to update.
  3. Right-click the device and click Properties.
  4. In the Properties window, click the Driver tab.
  5. Click the Update Driver button.
  6. In the Hardware Update Wizard, point Windows to the location of the updated driver files on your hard drive.

Once drivers are installed, reboot the computer.

Install a driver using a .inf file

Finally, if the above recommendations don't work, the installation instructions for drivers and hardware devices can be contained in the driver .inf file.

Locate the .inf file for your version of Windows. Right-click that file and choose the option for install.

Having A Software Driver Software

Note

Havinga Software Drivers

Make sure you install the correct .inf file and not a .inf file for another device or a different version of Windows.

Once you have right-clicked and installed the driver, reboot the computer.

Having a software driver download

One of the above three recommendations should have installed or updated the drivers successfully onto the computer. If you are still having difficulties getting the device to install, it is possible you are not encountering a hardware issue and not an issue with the drivers. Refer to the troubleshooting steps for your hardware device for additional help and information.

Additional information

Software Driver Download

  • See the driver definition for further information and related links.