-
Notifications
You must be signed in to change notification settings - Fork 1
Driver testing
- Install Visual Studio.
- Install Windows Driver Kit (WDK).
- Download or build the drivers, so that you have
MouseMirror
.sys/inf,TailLight
.sys/inf andVirtualMouse
.sys/inf available.
Drivers should be tested on a separate computer, since malfunctioning drivers might crash the system. Driver debugging furthermore require running the debugger on a separate computer, since breaking execution will freeze the tested computer.
The MouseMirror
driver will install itself on top of the existing "Microsoft Pro Intellimouse ..." device with HWID HID\VID_045E&PID_082A&MI_00&Col01
(can be modified to fit other mouse models). The TailLight
driver will install itself on top of the existing "HID-compliant vendor-defined device" device with HWID HID\VID_045E&PID_082A&MI_01&Col05
.
Device tree before installing the drivers:
Device tree after installing the drivers:
Steps to enable driver loading:
- Disable Secure Boot in UEFI/BIOS.
- Enable test-signed drivers:
bcdedit /set testsigning on
- Enable kernel debugging:
bcdedit /debug on
- Debugging alternatives:
- Either: Configuration of KDNET network kernel debugging with a network cable if you have a supported NIC.
- Or: Configuration of kernel-mode debugging over a USB 3.0 cable with a USB 3 A/A crossover cable:
bcdedit /dbgsettings usb targetname:KernelUSBConn
- From the host computer, connect with the WinDbg over USB to the
KernelUSBConn
target.
- Or: Local kernel debugging with WinDbg
- Use lkd>
!dbgprint
command to print the debug buffer content.
- Use lkd>
- Restart the target computer.
- Reconnect to the target computer using WinDbg.
- Break execution and send the following command to enable display of debug messages: kd>
ed nt!Kd_DEFAULT_Mask 0xff
Driver verifier is an in-built Widows feature that monitors kernel-mode drivers to detect illegal function calls or actions that might corrupt the system. It can be enabled with the following commands:
- Run
verifier.exe
from an admin command-prompt. - Select "Create standard settings".
- Select "Select driver names from a list".
- Select
MouseMirror.sys
and/ortaillight.sys
and click "Finish". - Reboot to make the changes take effect.
- Run
INSTALL_*.bat
from an admin command-prompt to install the driver with associated certificate.
- Run
UNINSTALL_*.bat
from an admin command-prompt. - It's also possible to uninstall the driver manually from "Device Manager".
Installed drivers can be viewed with msinfo32.exe
:
Start MouseMove.exe
and use the keyboard arrow keys to request the virtual mouse device to generate mouse cursor move events.
Example output when running the WMI test scripts:
>powershell -file MouseMirror.ps1
IntelliMouse device:
InstanceName: HID\VID_045E&PID_082A&MI_00&Col01\7&bb7cab7&0&0000_0
Active: True
Flipping: LeftRight=False, UpDown=False
Enabling flipping of mouse movement...
Storing changes...
>powershell -file TailLight.ps1
IntelliMouse device:
InstanceName: HID\VID_045E&PID_082A&MI_01&Col05\7&181f730b&0&0004_0
Active: True
Color: 0
Changing color to ff0000
Storing changes...
From the Microsoft Mouse & Keyboard Center, try to change the tail-light to white
:
Observe that the tail-light instead becomes red
and the following error is added to the Windows Event "System" log: