-
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".
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: