LabQuest Mini does not work with Wined LoggerPro
Opened this issue · 0 comments
tuomasjjrasanen commented
The problem seems to boil down to the following warning:
warn:plugplay:load_function_driver No driver registered for device 00F60158.
The warning is issued when the device is about to get "started":
/* Load the function driver for a newly created PDO, if one is present, and
* send IRPs to start the device. */
static void start_device( DEVICE_OBJECT *device, HDEVINFO set, SP_DEVINFO_DATA *sp_device )
{
load_function_driver( device, set, sp_device );
if (device->DriverObject)
send_pnp_irp( device, IRP_MN_START_DEVICE );
}
So the root cause is that the device specific driver, which is brought in by the LoggerPro installer, does not get installed and used correctly.
When looking at code paths, it becomes apparent that there are more the one underlying cause for this:
- Wine's INF-reader does not handle %strtoken% keys correctly (Fixed by setupapi: use INF parser to read class GUID and class name)
- After fixing registry entries manually, loading the driver advanced a bit, the device registry entry seemed get created correctly but the driver still did not get loaded
- Service property does not get created for the device registry entry. It's value should be
wineusb
. So, the device requireswineusb
Service, because it is USB device;load_function_driver()
requriesSPDRP_SERVICE
property, otherwise it fails. - The driver did not get loaded correctly, even after fixing the registry manually and added the missing Service property.
In Wine, the driver registry looks like this:
In Windows, the driver looks like this:
The device numeration looks like this:
The first MR got merged to master: setupapi: use INF parser to read class GUID and class name