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
8
votes
2 answers

Device drivers and Windows

I am trying to complete the picture of how the PC and the OS interacts together. And I am at point, where I am little out of guess when it comes to device drivers. Please, don´t write things like its too complicated, or you don´t need to know when…
B.Gen.Jack.O.Neill
  • 8,169
  • 12
  • 51
  • 79
8
votes
3 answers

Is there a way to communicate with USB devices on Android?

I have a really short question: Is it possible to communicate/use USB devices on Android OS? I assume it might be tablet device. Lest say i want to connect some sort of USB card scanner to android tablet. Will it work? Do i need to write drivers by…
Dan Sosedoff
  • 2,869
  • 5
  • 28
  • 34
8
votes
4 answers

Installing drivers from NSIS installer in x64 system

I want to add support for x64 OSes to my NSIS installer. One of the installer's task is drivers installation. I've written a special NSIS plugin for this task. This plugin uses Driver Install Frameworks API (DIFxAPI) to install drivers. The problem…
Alex Che
  • 6,659
  • 4
  • 44
  • 53
8
votes
6 answers

What is a good resource to get started with Windows file system driver development?

What is a good resource to get started with Windows file system driver development for a newbie?
Net Citizen
  • 5,174
  • 8
  • 38
  • 50
8
votes
2 answers

How to send a router advertisement correctly?

I am developing a IPv6 linux device driver without the equipment at hand. So I am now trying to cheat the kernel with a fake router advertisement message. unsigned char c[] = {0x33, 0x33, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 61,…
Yifan Sun
  • 772
  • 1
  • 10
  • 25
7
votes
5 answers

.NET File.Exists doesn't work in Windows\System32\Drivers folder?

The process is elevated and I ensured that the path was correct in VS debugger (I'm using Environment.GetFolderPath(Environment.SpecialFolder.System) not hard coding it in) but File.Exists still returns false. The reason I need this is a workaround…
Davy8
  • 30,868
  • 25
  • 115
  • 173
7
votes
3 answers

Do the equivalent of installing a driver from a folder, programatically, in Windows XP or higher

I need to have a driver installed in my customers' computers. Unfortunately, the only way to do this right now is having Windows show its "Hardware Update Wizard" when the device is plugged in, and then have the user do the following: select "No,…
Jong Bor Lee
  • 3,805
  • 1
  • 24
  • 27
7
votes
1 answer

Device driver to act as a virtual web camera

I'm looking for writing virtual camera drivers. Does anybody has idea? Any book that would be helpful or any link. Adding more details: I have developed a device driver which saves the image to disk and the display uses the device driver to…
mitesh keswani
  • 71
  • 1
  • 1
  • 3
7
votes
2 answers

How to read Import Address Table, in a driver, from a PEPROCESS?

I am coding a driver in order to create an Antivirus. However, I am stuck in reading the import address table from a process. I have a CreateProcessNotify: VOID CreateProcNotify(HANDLE ParentId, HANDLE ProcessId, BOOLEAN Create) { …
David Gomes
  • 650
  • 2
  • 10
  • 34
7
votes
0 answers

The dmaengine in Linux - how to check the number of actually transferred bytes in a single SG transfer?

The dmaengine in Linux significantly simplifies writing of drivers for devices using DMA, especially if they support and use scatter-gather (SG) transfers. However, there is a problem in case if the length of such transfer is not known a priori.…
wzab
  • 788
  • 7
  • 24
7
votes
5 answers

Is there a way to directly query the file system device driver for listing out the files in a directory?

I'm currently using FindFirstFile, FindNextFile API to recursively iterate through directories for searching files based on a given criteria. I noticed that "dir /s" command gives better performance than my program. I'm tried checking out the events…
ivymike
  • 1,511
  • 2
  • 20
  • 27
7
votes
2 answers

Enumerate external drives

In java, you can use File.listRoots() to get all drives in the system. I'm looking to get only the external drives, i.e. USB drives, external hard disks, optical drives, floppy, etc. Is there any way to do it in java? If not, native C++ code would…
Asaf David
  • 3,583
  • 3
  • 29
  • 33
7
votes
2 answers

Ubuntu 13.10 can't satisfy dependency libpackagekit-glib2-14

I've just installed Ubuntu 13.10 on my laptop, not as an upgrade but as a clean install. Everything is working great, except for the fact that I'm now attempting to install the Intel graphics drivers from the official page and have run into a…
Nathan Cox
  • 1,299
  • 13
  • 24
6
votes
3 answers

What is the difference between register_chrdev_region and alloc_chrdev_region to allocate device numbers?

I want to know the difference between these two functions: int register_chrdev_region(dev_t first, unsigned int count, char *name); int alloc_chrdev_region(dev_t *dev, unsigned int firstminor, unsigned int count, char *name);
user1287763
  • 63
  • 1
  • 1
  • 4
6
votes
1 answer

Streaming DMA in PCIE linux kernel driver

I'm working on FPGA driver for Linux kernel. Code seems to work fine on x86, but on x86_64 I've got some problems. I implemented streaming DMA. So it goes like get_user_pages(...); for (...) { sg_set_page(); } pci_map_sg(); But pci_map_sg…
soh
  • 85
  • 1
  • 6
1 2
3
43 44