device-driver

Can a Linux device driver wait for a DMA to terminate in the device_remove() function?

I've written a Linux device driver for a PCI device. This device performs DMA operations. An issue arise when the program crashes when a DMA operation is running. Indeed, when crashing, the device_remove() function is called by the system (as if close() were called). This function does the cleanup on the memory regions used by the PCI d...

Curiosity beyond abstractions: how is bytecode executed? how do device drivers work?

Everything I've seen on *nix has been a set of abstractions off hardware, but I'm curious as to how the hardware works. I've programmed in assembly, but that's still only a set of abstractions. How does a processor understand assembly opcodes (as bytecode)? How do device drivers work (with an explanation at a lower level (of abstracti...

Cheap windows driver signing for 64 bit Windows 7

I need to install the libusb-win32 driver on Windows 7 64 bit machines. This driver is open source so it is not digitally signed so I want to do this my self but I wonder if this can be done WITHOUT paying lot of money. Is it possible to use a certificate which is NOT signed by Verisign or GlobalSign? Maybe self-signed or by using StartS...

Most suitable Unix platform for developing device drivers

I completely newbie in device drivers, so I hope my question is in place, but I need to develop a driver to control some equipment. I was thinking on using Linux as the host OS, but not sure if it is such good idea. I've heard some horror stories about the mess of developing device drivers under Linux. Is there a better alternative under...

Mini-filters callbacks and APCs (Windows)

Hello, in many cases callbacks registered by a mini-filter (pre/post operations) are called at PASSIVE_LEVEL. In case the pre-callback decides that it needs to do some work after the completion of some operation, it will ask the filter-manager to call the post-callback for that operation. The documentation states that if the pre-callba...

Microsoft Driver Verifier

In Verifier Dialog, there is a window to select drivers to verify. The list control has 4 column. 1. Verify? 2. Driver name. 3. Provider 4. Version My driver's provider and version are represented as "unknown". I don't know how can I set these values. Where can I set this value? By SignTool? Or Resource file? Yes, this is not a big ...

How to set system time in a Windows WDM driver?

We are developing a GPS time sychronization hardware device. And we want write a Windows WDM driver for the device. To avoid the user level latency, we'd like set windows( XP/Vista/7) system time in the kernel driver level. Does anyone know how to achive that? Thanks Xu Jun ...

Writing Device Drivers for Microcontrollers, where to define IO Port pins?

I always seem to encounter this dilemma when writing low level code for MCU's. I never know where to declare pin definitions so as to make the code as reusable as possible. In this case Im writing a driver to interface an 8051 to a MCP4922 12bit serial DAC. Im unsure how/where I should declare the pin definitions for The CS(chip sel...

How to Test Windows Device Drivers

Any standarda tools and Techniques that are available for window driver testing? ...

What's the bottom half for a driver that doesn't actually have a corresponding hardware?

This question is inspired from this answer, what does the bottom half do for a driver that doesn't have actual hardware device? ...

How many kinds of drivers are there ?

Like device driver, I don't know whether there are some other drivers ? ...

Writing USB HID device driver with streaming interface for Windows Mobile 6

Hi, see if there's anyone that could give me some useful pointers in this matter. Problem: We have a handheld device running windows mobile 6 that need to communicate with a custom device identifying itself as a USB HID device. We need to exchange information between the device and the handheld in both directions. there's currently a w...

Can someone illustrate what's linux device number's minor number exactly for?

The minor number is used by the kernel to determine exactly which device is being referred to. The above explanation is just two abstract, can someone illustrate? ...

Accessing PCI Device from user space programs

I have a device which would be interface with my processor through pcie. I have written driver for it using the existing pci file operations. Now my problem is how do I access it from user space programs? PCI File operations do not have IOCTL support and hence I cant make an ioctl call unlike other char devices. I cannot use pci_config...

developing an application compatible for multiple devices in blackberry

i made an application for bold 9000 but want to run on bold 9700 .can it ran successfully on that or i had to made changes in my application or made application from scratch for both devices? ...

what happens when you plug in a new USB device?

I have an embedded device with a USB connection. When the user plugs the device into their PC (Windows, OSX), how does the operating system discover what drivers to install? How do I get my drivers to be selected? Can they reside on some central server (run by the OS vendor)? ...

How to implement/debug a sensor driver in ANDROID

Does anyone know of a walk-through or any examples of any code to setup sensors in android. I have the drivers available to me. Also i have implemented the sensors library as instructed in the Android-Reference along the sensors.h template. I am still unable to get any response at the apps level. How do i trace this issue? what might...

core at which function is running

hi, consider a kernel tasklet scheduled and executing the tasklet function. Is there a way to know which core the tasklet is running ? I mean is there a function / variable to know at which core the tasklet is running at. Architecture is arm. Thanks! ...

Query a printer to determine the postscript inputslot tray numbers

I'm trying to figure out a way to programmatically determine a printers inputslot tray to number definitions for use in generating postscript. I have gathered a collection of PPD files and collated information that way but it seems stupid to be limited to only the printers i have the PPD's for - would be better to interrogate the printe...

How to get free minor number for a linux device driver?

I have multiple processes in my linux environment that have to use the same device driver to access a number of similar devices. My problem is that if one process instantaiates a device(by instantiate, I mean mknod ) file, and uses a minor number say 0 and 1 for two devices. So how does the other process while doing the same thing come t...