Questions tagged [drivers]

THIS TAG IS FOR WRITING DRIVERS. Questions about finding/using drivers can be asked on https://superuser.com Drivers allow higher-level programs to communicate with the specific hardware device and operating system that they were programmed for.

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device. A driver typically communicates with the device through the computer bus or communications subsystem to which the hardware connects. When a calling program invokes a routine in the driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program. Drivers are hardware-dependent and operating-system-specific. They usually provide the interrupt handling required for any necessary asynchronous time-dependent hardware interface.

This tag should only be used for questions related to driver development, as questions about finding or installing drivers are off-topic for StackOverflow. Assistance with identifying, locating, and installing drivers may be obtained at SuperUser, Unix & Linux Exchange or in the case of server-related and enterprise-level hardware, ServerFault.

As Microsoft states, Without drivers, the hardware you connect to your computer—for example, a video card or a webcam—will not work properly.

In most cases, drivers come with Windows or can be obtained through Windows Update; other times, the driver is found on the disc that came with the hardware or device you want to use, or is on the manufacturer's website.

People also often cite drivers as a common cause of operating system crashes. The reason a poorly written driver can crash an operating system is if it overwrites memory that is shared in the operating system's address space. This is less common in micro-kernel operating systems than [monolithic kernel] operating systems, where all OS services run along with the main kernel thread, thus also residing in the same memory area.

646 questions
6
votes
1 answer

How to trigger or simulate keyboard interrupt?

I'm writing a keyboard filter driver for Windows and I need to insert my custom keystrokes data into Windows message queue. I've managed to capture all the keys that are pressed setting OnReadCompletion() callback to IoSetCompletionRoutine() in my…
Nick Borodulin
  • 3,065
  • 4
  • 21
  • 21
6
votes
3 answers

Installing a driver programmatically using INF file c++

Could someone here please let me know how to install 3rd party device drivers programmatically if all the required files i.e. inf file, .sys etc are provided. The minimum operating system this solution SHOULD work on is Windows2000. I tried copying…
newdev1
  • 279
  • 6
  • 15
6
votes
3 answers

Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y

I’m big enthusiast of Manjaro since 2015 but today I got a problem that I couldn’t resolve on my own. After big updates done few days ago (by update manager) I have a problem with compiling Kernel Drivers on kernel 4.15.18-1. After call make I got…
user2807536
  • 81
  • 1
  • 1
  • 4
6
votes
2 answers

What is CFErrorDomainLaunchd error 2?

I can't find CFErrorDomainLaunchd in any of the headers. I used the find command to grep every header file in the 10.11 SDK. I also tried google: site:opensource.apple.com CFErrorDomainLaunchd SMJobBless passes the error back when I try to install…
Mike Crawford
  • 2,232
  • 2
  • 18
  • 28
6
votes
1 answer

Getting SSL error while installing intel driver

While installing a intel Driver by doing sudo make install getting the following error- SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175 SSL error:2006D080:BIO routines:BIO_new_file:no such file:…
arjit
  • 94
  • 1
  • 1
  • 5
6
votes
2 answers

device drivers vs driver stack

What is the difference between a driver (device drivers) and a driver stack? I keep hearing people talking about "driver stacks" but I have never really heard of this before... Thanks!
Russel
  • 3,609
  • 8
  • 33
  • 32
6
votes
1 answer

Is there an advantage to putting x86 driver code in rings 1 and 2 instead of 0?

Drivers for monolithic kernels can be in rings 0, 1, or 2 (with microkernels they will be in ring 3 - user ring). Are there any advantages/disadvantages of putting driver code in ring 0 with the kernel or in the "slightly-less" privileged rings 1…
mmk
  • 585
  • 5
  • 13
6
votes
6 answers

the usb drivers for adb do not work for Motorola mc40

I am running Windows 7 and Eclipse. Emulator runs great! My Motorola MC40 has the Settings-Application->developer-> usb debugging box checked. I use the drivers from https://motorola-global-portal.custhelp.com/app/answers/detail/a_id/88481 The MC40…
user2309563
  • 61
  • 1
  • 3
6
votes
6 answers

Implementing a Linux Character Driver in User-space

I am trying to build a custom joystick/gamepad device for an embedded Linux system. I am looking for a library or system API that will allow me to create a node in /dev/input from userspace code. I would like this because: The custom hardware can…
Kevin Ward
  • 635
  • 5
  • 12
5
votes
2 answers

RNDIS gadget cannot start

I build video cameras with a Linux kernel on a TI Davinci dm365 board. This board supports RNDIS drivers so my camera can be "plug and play" in windows. This is some kind of "Ethernet over USB" network adapter. Windows load the RNDIS driver…
Eric
  • 19,525
  • 19
  • 84
  • 147
5
votes
1 answer

Serial driver limitations on iMX processor

I'm developing on an embedded Linux device that uses an ARM iMX6 processor. The main purpose is to read an incoming serial stream from an external source. Due to the atypical nature of the serial stream, I've run into a few roadblocks with the Linux…
Dan Laks
  • 211
  • 2
  • 9
5
votes
3 answers

Adding .inf drivers using PowerShell, possible?

Are we able to install drivers via their .inf files etc. using a PowerShell cmdlet? When Googling I found, Add-WindowsDriver but I think this one is for an offline Windows image. Does that mean an image that is not currently used on an OS? If not,…
DrixlRey
  • 205
  • 3
  • 4
  • 13
5
votes
1 answer

Accessing the PCI config space with Win32 API

Given the address of a PCI device (i.e. bus, device, function), how can one programatically read, using Win32 API calls in userspace, the config space (e.g. vendor ID, device ID) for that device? On Linux, one openes the /sys/bus/pci/devices//config…
Mircea
  • 1,841
  • 15
  • 18
5
votes
4 answers

OpenAL and Vista: Device is always 'Generic Software'

I'm writing the audio part of a game, and I'm using OpenAL. I want to use some extensions, but the tests always fail: TRACE: AudioManager - Sound device: 'Generic Software' TRACE: AudioManager - Enabling OpenAL extensions... TRACE: AudioManager -…
knight666
  • 1,599
  • 3
  • 22
  • 38
5
votes
1 answer

How to practice writing real Linux Device Drivers?

I am a intermediate level programmer with a decent experience in Linux Kernel Programming. During my internship I was mostly involved in debugging the kernel and driver code. I recently finished studying the Kernel Development book by Robert Love. I…
warpcoder
  • 53
  • 6