Home > News


Versions, Development Platforms, and Installation Sequence of Device Driver


I Definition of Device Driver

II Function of Device Driver

III Versions of of Device Driver

1. Official Version

2. WHQL Certified Version

3. Third-party Version

4. Modified Version

5. Beta Version

IV Development Platform of Device Driver

1. Microsoft Platform

2. Unix Platform

V Installation Sequence of Device Driver

What is Divice Driver?

I Definition of Device Driver

Device driver is a special program that allows computers and devices to communicate with each other. It is equivalent to a hardware interface, and the operating system can only control the operation of the hardware devices through this interface. If the driver of a device is not properly installed, the device won't work properly.

 Hardware Interface Design

Hardware Interface Design

For this reason, the position of the device driver in the system is very important. Generally, after the operating system is set up, the next thing is to install the driver of the hardware device. However, in most cases, hardware devices such as hard disks, displays, CD-ROM, etc. do not need drivers, while graphics cards, sound cards, scanners, cameras, modems, etc. need to install drivers. In addition, different versions of the operating system support different hardware devices. In general, operating system of higher version can support more hardware devices.

CD-ROM Driver

CD-ROM Driver

The device driver is used to tell the operating system the function of the hardware itself, achieving mutual translation between the electronic signals of the hardware device and the high-level programming language of the operating system and software. Device drivers usually account for more than 70% of the kernel source in the operating system, and its updates and maintenance often involve more than 35% of the source code modifications.

When the operating system needs to use a certain hardware, like making the sound card play music, it will first send the corresponding command to the sound card driver. After the sound card driver receives the command, it will immediately translate it into an electronic signal that the sound card can understand, making the sound card play music.

So in a nutshell, the driver provides an interface between the hardware and the operating system and coordinates the relationship between the two. Therefore, people call the driver “the soul of the hardware", “he master of the hardware”, and " the bridge between hardware and system."

A driver is a small piece of code added to the operating system. It contains information about the hardware devices, based on which the computer can communicate with devices. The driver is also a configuration file written by the hardware manufacturer according to the operating system. Different operating systems have hardware drivers, and each hardware manufacturer will keep upgrading the driver in sequence to ensure hardware compatibility and enhance hardware functions. For example, Nvidia will upgrade their graphics drivers 2 to 3 times per month on average.

Nvidia Graphic Driver Installation

 Nvidia Graphic Driver Installation

II Function of Device Driver

The driver is essentially a software code, which is to complete the data transfer between the computer system and the hardware device. It is a medium between the operating system and the hardware, which conveying the functions of hardware device itself to the operation system, and the standard instructions of the operating system to the hardware device, thus achieving a seamless connection between the two sides.

In theory, all hardware devices need to be installed with appropriate drivers to work properly. However, devices such as CPU, memory, mainboard, floppy disk, keyboard, display, etc. do not need drivers. Why? This is mainly because these hardware is necessary for a personal computer, and can be directly supported by the BIOS (Basic Input/Output System) without drivers after the operating system is installed. However, for other hardware, such as network cards, sound cards, graphics cards, etc., drivers must be installed, otherwise the hardware will not work properly.

A  BIOS Guide

A  BIOS Guide

Of course, not all drivers are operating on the actual hardware. Some drivers are only use to assist system operation, such as ashmen and binder, which are not the standard drivers of the Linux system.

III Versions of of Device Driver

Drivers can be divided into official version, Microsoft WHQL certified version, third-party version, modified version, and Beta version.

3.1 Official Version

The official version of the device driver is developed according to the design of the chip manufacturer, which is also known as the driver of public version. Usually, the official version is released through the official website or attaching CD with the hardware products. Stability and good compatibility are the biggest highlights of the official version of the driver, which are also distinguishing features from the modified version and the beta version. Therefore, ordinary users are recommended to use the official version, and players as early adopters who like expressing their individuality could use the modified version and the beta version.

3.2 WHQL Certified Version

WHQL is the abbreviation of Windows Hardware Quality Labs. It is a certification of Microsoft for the drivers of hardware vendors to test the stability and compatibility between the driver and operating system. That is to say, the driver that passed the WHQL certification is basically compatible with the Windows system.

WHQL Testing

 WHQL Testing

3.3 Third-party Version

Driver of third-party version is released by the hardware OEM (original equipment manufacturer) based on official drivers. The third-party driver has stability and good compatibility, and has more complete functions and more powerful overall performance than the official version. Therefore, for brand-name computer users, third-party driver is the first choice. And for assembling computer users, the installation of third-party driver may be complicated, so the official version is still preferred.

3.4 Modified Version

The modified version of the driver is the first appeared on the graphics cards. At that time, game enthusiasts hold a high expectations of the graphics card, but the graphics card drivers released by the manufacturers can not meet their needs, so the modified graphics drivers emerged at the right moment.

3.5 Beta Version

The beta driver is the driver that is in testing phase and has not yet been officially released. Such drivers tend to have poor stability and compatibility with the system. New experience and risks always exist at the same time, so users of the beta version should be prepared for occurrence of malfunctions.

Beta Version.jpg

IV Development Platform of Device Driver

The development of the device driver needs a fairly clear and advanced platform technology in hardware and software, which is very challenging.

4.1 Microsoft Platform

Insequence to greatly reduce the burden on driver developers, Microsoft continues to improve the development architecture and development architecture of the device driver. From the early complex VxD to the Windows Driver Model (WDM) development architecture on Windows XP, now Windows Driver Foundation (WDF) has become a new generation of driver development architecture on Windows platform. This architecture greatly simplifies the development process of the device driver, which includes UserMode Driver Framework and Kernel Mode Driver Framework. Before drivers are developed on the Windows platform, the DDK(Device Drivers Kit) package must be installed to support both WDM and WDF architectures.

 WDF Driver.jpg

4.2 Unix Platform

Linux, a variant of UNIX, inherits the device management method of UNIX, which is to access the device through the file system layer. This method can achieve "device independence" and can be easily extended according to the update of hardware peripherals.

Device Indpendence

Device Indpendence

Devices in Linux can be roughly classified into three categories: character devices, block devices, and network devices.

Character devices do not have buffers. They process data sequentially in bytes, and do not support random access. Common character devices are ordinary printers, serial ports of systems, terminal displays, simple buttons in embedded devices, tablet, etc.

Block devices refer to devices that process data in blocks at the time of input and output. Generally, buffering technique is used to support random access of data. Typical block devices include hard disks an CD-ROM.

The upper layer facing the character device and the block device is the file system layer. The access interfaces of the block devices and the character devices are both a set of file-based system calls for the users, such as read and write.

The upper layer facing the network device is the network protocol layer. There is no corresponding node in the file system. The communication between the kernel and the network drivers uses a set of functions related to packet transfer rather than simple read and write operations.

Each device has a pair of parameters of the major device number and the minor device number as unique identifiers. The major device number indicates the driver for the device. And the minor device number is used to distinguish instances of specific drivers. The major device number can be obtained dynamic allocation or designation.

Device Driver Structure in Linux

 Device Driver Structure in Linux

V Installation Sequence of Device Driver

The general sequence of driver installation is: motherboard chipset → graphics card (VGA) → sound card (Audio) → network card (LAN) → wireless network card (Wireless LAN) → infrared (IR) → touchpad → PCMCIA control→ Flash Media Reader → Modem → Other (such as TV card, CDMA Internet adapter, etc.). Installation out ofsequence is likely to cause some software installation to fail.

5.1 Install the service pack (SP) patch for the operating system.

The driver directly communicate with the operating system and hardware, so we should first solve the compatibility problem of the operating system with the SP patch, so as to ensure the system operation.

Windows7 Service Pack Installation

Windows7 Service Pack Installation

5.2 Install the motherboard driver

The motherboard driver is mainly used to open the built-in functions and features of the motherboard chipset. Inside the motherboard driver, there is usually the IDE driver or patch for motherboard identification and hard disk management, such as INF driver of the Intel chipset and 4in1 patch of VIA.

5.3 Install the directX driver

DirectX is the application programming interface (API) embedded in the Microsoft operating system, which consists of four parts: display part, sound part, input part and network part. The display part is subdivided into Direct Draw for 2D acceleration and Direct 3D for 3D acceleration. And its latest version-- DirectX 9.0C can bring better sound effects, support more input devices for games, enhance the network connection and provide more connection modes.

DirectX Diagnostic Tool in Windows 10

DirectX Diagnostic Tool in Windows 10

5.4 Install board-type drivers 

Install the graphics card, sound card, network card, modem and other board-type drivers inserted on the motherboard.

5.5 The peripheral drivers such as printers, scanners, and readers can be installed

This kind of installation sequence can make the system files match reasonably and work together to give full play to the overall performance of the system.

In addition, devices such as displays, keyboards, and mice also have specialized drivers, especially for those with better brands. Although they can be properly recognized and used by the system without drivers, the installation of drivers can add some extra functions and improve stability and performance of the system.

You May Also Like:

Parameters, Identification and Applications of Zener Diode

Parameters, Classifications and Applications of Light Emitting Diode(LED)

Magnetic Coupling Resonant Wireless Power Transfer(MCR-WPT)--A High-efficiency Power Transmssion System

Features, Developemnt Trends and Disadvantages of Wireless Power Transfer

Ordering & Quality

Photo Mfr. Part # Company Description Package PDF Qty
PMEG3030EP-115 MCF51JM32VLK Company:NXP Remark:IC MCU 32BIT 32KB FLASH 80LQFP Package:80-LQFP
MCF51JM32VLK  Datasheet
In Stock:113
PMEG3030EP-115 MPC852TCVR80A Company:NXP / Freescale Remark:IC MPU MPC8XX 80MHZ 256BGA Package:256-BBGA
MPC852TCVR80A  Datasheet
In Stock:811
PMEG3030EP-115 STM32F103C8T6 Company:STMicroelectronics Remark:IC MCU 32BIT 64KB FLASH 48LQFP Package:LQFP-48
STM32F103C8T6  Datasheet
In Stock:45000
PMEG3030EP-115 MMB02070C2201FB200 Company:VISHAY Remark:RES SMD 2.2K OHM 1% 1W 0207 Package:SMD
MMB02070C2201FB200  Datasheet
In Stock:63360
PMEG3030EP-115 MCF51JE256CLK Company:NXP Remark:IC MCU 32BIT 256KB FLASH 80LQFP Package:80-LQFP
MCF51JE256CLK  Datasheet
In Stock:2091
PMEG3030EP-115 MC68882CFN25A Company:NXP Remark:- Package:PLCC68
MC68882CFN25A  Datasheet
In Stock:115
PMEG3030EP-115 FLC10-200H Company:STMicroelectronics Remark:IC FIRE LIGHTER CIRCUIT I-PAK Package:TO-251-3 Long Leads, IPak, TO-251AB
FLC10-200H  Datasheet
In Stock:5153
PMEG3030EP-115 MC68HC908LK24CFU Company:NXP Remark:IC MCU 8BIT 24KB FLASH 64QFP Package:64-QFP
MC68HC908LK24CFU  Datasheet
In Stock:3071
PMEG3030EP-115 MCIMX31LCVKN5D Company:NXP / Freescale Remark:IC MPU I.MX31 532MHZ 457MAPBGA Package:457-LFBGA
MCIMX31LCVKN5D  Datasheet
In Stock:147
PMEG3030EP-115 SLB 9635 TT1.2 FW3.17 Company:Infineon Technologies Remark:IC SPECIALIZED Package:
SLB 9635 TT1.2 FW3.17  Datasheet
In Stock:10854