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
4
votes
1 answer

What happens when a lot of processes open the same special file?

For example , I have two processes A and B that try to open a special file (/dev/example) . The driver has an open method that initializes a structure (struct c) and passes it to filp->private_data . When afterwards process B opens the same…
mark4rd
  • 255
  • 5
  • 12
4
votes
1 answer

how to communicate with devices via a USB-to-RS232 wire in Linux?

i have a project about communicate with particular devices via a RS-232 wire recently. since my computer has no serial port, i use a USB-to-RS232 wire to be the intermediate between devices and my computer. but i am new in Linux drivers, so it's…
Jason Hu
  • 6,239
  • 1
  • 20
  • 41
4
votes
2 answers

USB Driver Development on a Mac using Python

I would like to write a driver to talk to my Suunto t3 watch in Python on a Mac. My day job is doing basic web work in C# so my familiarity with Python and developing on a Mac is limited. Can you suggest how one would start doing driver development…
NetRunner
  • 149
  • 1
  • 8
4
votes
1 answer

How to get USB Resistive touchscreen to work on Android.

I know most of you may have seen that there are a lot of Android based PC on a stick going around. The are very small, but of course, have no input device. They use Android 4.0 and up. The two that I am using are the MK802 (Android 4.0) and the…
Omyda ZX1
  • 41
  • 1
  • 3
4
votes
3 answers

Low level keyboard hook

I just bought a new keyboard, and I'm interested in tracking exactly how many keypresses/strokes I make during the entire life of the keyboard. (I would want to just record keyUp, as I don't care about repeats) I've been googling around for the best…
Kal_Torak
  • 2,532
  • 1
  • 21
  • 40
4
votes
3 answers

Can anyone explain what is Windows HAL and what is it used for?

Cheers... I understand that it stands for Hardware Abstraction Layer but what exactly does it do ? Is it designed for high level languages like VB to communicate with the hardware ? What about the IN/OUT instructions do these instructions call into…
user1096770
3
votes
2 answers

Samsung Galaxy bluetooth drivers

I have written an application for Android. the main part being that it communicates via bluetooth. I have four devices: 1. Samsung Galaxy S2 2. Samsung Galaxy Gio 3. Netsurfer touch (A REALLY low end locally [South Africa] produced android…
Quintin Balsdon
  • 5,484
  • 10
  • 54
  • 95
3
votes
1 answer

How to distinguish USB and (S)ATA device in the kernel scsi_device structure?

According to the kernel structure struct scsi_device used by SCSI drivers (kernel 2.6.23): http://lxr.linux.no/linux+v2.6.23/include/scsi/scsi_device.h#L49 Is there a reliable method to differentiate if the device is an USB device or a ATA device ?
Arnaud G
  • 139
  • 1
  • 1
  • 4
3
votes
1 answer

Adding database drivers to use WEKA classes

I tried to run the following command on the command-line: G:\Weka-3-6>java weka.core.converters.CSVLoader data.csv > data.arff This is the error message: ---Registering Weka Editors--- Trying to add database driver (JDBC): RmiJdbc.RJDriver - Error,…
leba-lev
  • 2,788
  • 10
  • 33
  • 43
3
votes
1 answer

virtual joystick driver (VJoyD) and Direct Input

I have couple of questions: What is exactly VJoyD used for? Based on my reading win WDK (Windows Driver Kit) it provides joystick services in Windows (http://msdn.microsoft.com/en-us/library/ff542258(v=vs.85).aspx). If that is the case, can I use…
ActiveX
  • 1,064
  • 1
  • 17
  • 37
3
votes
2 answers

Device drivers and Interrupt service routines

A very basic question. I have learnt that device drivers and interrupt service routines are some program or codes only. whenever required they are made to execute. Execution means CPU is executing some instructions out of its instruction set ISA.…
KawaiKx
  • 9,558
  • 19
  • 72
  • 111
3
votes
1 answer

Linux Drivers and device.h

I've got some Linux drivers for some canbus hardware direct from the manufacturer, but they're out of date (for my kernel at least), leaving me to fend for myself. After jumping through some hoops I'm down to a single error in compilation, but it's…
iegod
  • 192
  • 4
  • 12
3
votes
5 answers

Sybase Drivers for Delphi 2010

We are migrating from Delphi 6 to Delphi 2010,earlier we were using BDE engine to connect to Sybase Database from Delphi 6. We found out that Delphi 2010 does not support BDE. We are trying with dbexpress but we are not able to catch the…
SSE
  • 445
  • 2
  • 10
  • 29
3
votes
1 answer

Read address from MSI Capability Structure

Is it possible to find the location of the MSI Capability Structure associated with a particular interrupt? Specifically, I need to know the PCI address that when written to, triggers that interrupt. MSI interrupts can easily be initialize with the…
Cain Rose
  • 43
  • 7
3
votes
1 answer

Windows driver programming or Linux driver programming?

I want to learn driver programming. But I don't know anything about it, except a driver is something that acts as an interface between the operating system and the outer world. What is easier to learn, Windows driver or Linux driver programming?…
himanshu
  • 417
  • 5
  • 18