device-driver

Device driver code signing for windows XP 32 bit

半腔热情 提交于 2019-12-06 15:58:06
问题 I have written a device driver for a device but each time I connect the device in windows XP 32 bit, "found new hardware" wizard appears. I am signing the driver using a Comodo code signing certificate and not using the cross certificate chain to link to microsoft root authority. Nor is the driver wql certified. So my question is to disable the found new hardware wizard on windows xp: i) Does my driver needs to be wql certified? ii) signed with microsoft root certificate using cross

.INF files and NCF_HAS_UI: how to write .dll for displaying advanced properties tab of network driver?

孤者浪人 提交于 2019-12-06 13:30:00
I have a NDIS driver, which gets listed both in connection properties's installed items list and in device manager; the question is, how do I write an extension which will be used for managing driver's properties, and how to install it? Of course, a plain GUI program may communicate with the driver, set properties, get version numbers and other statistical info etc, that's what DeviceIoControl exists for; but, does this means that no dedicated interface exists to inform the driver about configuration changes? It would be pleasant if someone can forward this question to eggheadcafe/osr's ntdev

Error in installing windows printer driver

你。 提交于 2019-12-06 11:36:23
I am trying to install a windows printer driver( OEMUNI ) provided as a sample in WDK(Windows Driver Kit). But I keep getting following error from add printer wizard: " Printer driver was not installed. Operation could not be completed (error 0x00000002) ". I have tried running the add printer wizard with admin privileges but I still get the same problem. I am using windows 7, 64-bit version. Can somebody help me here ? Also, what would the error code:0x00000002 signify ? Following is my INF file:- ; OEMDLL.INF ; ; INF file for OEM DLL Customization samples ; ; Copyright 1999-2003 Microsoft

Rescan device tree for hardware changes during Driver installation

人盡茶涼 提交于 2019-12-06 10:22:32
I'm using InstallShield to install my application, a driver and a service. I need to install the plug-N-play driver only if it's hardware ID was found in the device manager. The driver installation is done using DPInst.exe. My problem, is that a user can sometimes manually uninstall the driver (After it was installed or even uninstall the "Unknown driver" under "Other devices" ) and then I can't find the hardware ID in the device tree, although the device is plugged. If I rescan the device tree during installation using CM_Reenumerate_DevNode_Ex (The code equivalent of "Scan for new hardware"

Virtual USB device

倾然丶 夕夏残阳落幕 提交于 2019-12-06 07:01:14
I have been googling for a virtual USB stub. The idea is to make a driver that you can feed with the dataflow that normally comes from the USB controller chip. From windows it should work transparent, so it shows the "Installing New Hardware" bubble and ect., when a virtual device is connected. I know about the USB/IP open source project, is there any other projects libraries? 来源: https://stackoverflow.com/questions/9740429/virtual-usb-device

Proper way to access registers in a PCI configuration space

时间秒杀一切 提交于 2019-12-06 06:22:37
问题 When you need to access registers in the PCI configuration space, do you simply need to used built-in BIOS functions to read/write DWORDs into the configuration space? For example, if I am trying to use an IDE controller that is on B0:D31:F1 do I proceed to read/write the configuration register using that BDF as the parameters to the BIOS functions? So if I wanted to get the vendor id I would read the first DWORD in a given BDF? Or am I just way off base? EDIT: In the PCI BIOS specification,

Producer consumer implementation in a block device driver?

做~自己de王妃 提交于 2019-12-06 03:19:19
I'm trying to implement a producer-consumer like situation in my block level driver (on linux kernel version 2.6.39.1). My block driver's make_request_fn receives a stream of struct bio from a userlevel application. On receiving these BIOs, they are queued up. Next, I create a new struct bio which will hold all the information present in the queued BIOs. This new "merged_bio" will be submitted only if there is a struct request slot available in the lower level driver's request_queue . In the meantime, my block driver will continue to receive BIOs from the userlevel application and will queue

what happens when you plug in a new USB device?

流过昼夜 提交于 2019-12-06 02:25:04
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)? This is for Windows : When a USB device is plugged into the system, the USB bus driver is notified. The bus driver sends a standard USB request (USB_DEVICE_DESCRIPTOR) to the device. With this the device reports its name and type. (bDeviceClass/bDeviceSubClass/bDeviceProtocol). With this information, Windows creates an

using numpy.memmap to map a device file

帅比萌擦擦* 提交于 2019-12-05 18:32:00
Is there a reason that opening a device file (rather than a regular file) using numpy's memmap shouldn't work? self.surface = np.memmap('/dev/fb1', dtype=np.uint16, mode='r+', shape=(320,240)) I'm working with a custom kernel module that adds a framebuffer device, which works fine with python's regular mmap module. But using numpy seems to hang the kernel's mutex on accessing the filesystem or something (I'm really not sure exactly what's happening). My question here is specifically is this something that numpy's memmap can't handle and I should go a different way? I've asked another question

Driver load/unload fails if WinDbg attached with breakpoint

匆匆过客 提交于 2019-12-05 18:31:38
I just started with driver development. For some experiments with loading, unloading and debugging I have written the following simple driver: #include <ntddk.h> void DriverUnload(PDRIVER_OBJECT pDriverObject) { UNREFERENCED_PARAMETER(pDriverObject); DbgPrint("Driver unloading\n"); } NTSTATUS DriverEntry( PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) { UNREFERENCED_PARAMETER(DriverObject); UNREFERENCED_PARAMETER(RegistryPath); DriverObject->DriverUnload = DriverUnload; DbgPrint("Hello, World\n"); return STATUS_SUCCESS; } I compiled the driver for my target system, Windows 7 64bit,