Arbitrary DOS device name

Zebediah Figura zfigura at codeweavers.com
Tue Feb 15 11:19:26 CST 2022


On 2/15/22 04:33, Daniel Kucera wrote:
> Ok, the file was not in the correct location, I had to copy
> Hantek6000BAMD64.SYS to system32/drivers
> 
> I suppose all this (creating service, copying to system32/drivers)
> should be handled during the inf installation (maybe by dpinst?).

Not exactly.

The way it's supposed to work is, dpinst copies the inf file to 
C:/windows/inf/, and it copies all of the other files to the DriverStore 
directory. From the previous message it seems that's being done correctly.

When Windows detects a new device, it scans the C:/windows/inf/ 
directory for inf files that match, and if it finds one, then it 
"installs" it, which in practice means that only then the driver file 
will be copied to C:/windows/system32/drivers/, and the service registry 
entries created accordingly. At least, that's how it's supposed to work, 
provided I'm remembering all of the details correctly.

> But these functions are never called (no trace output from usbd) and the
> program still cannot find the device.
> 
> Are there any udev settings needed for the device to be "visible" by
> wine?
> Is there some way how to trace a specific library (Hantek6000BAMD64.SYS)
> and find out what is it doing/calling?

We need to have permissions to access it. I would assume you already 
have those, if you're writing a user-space driver, but if not, I use a 
udev rules file with text like the following:

     SUBSYSTEM=="usb", ATTR{idVendor}=="2040", MODE="0666"

(You can further limit it to the product, but I never bothered.)

If it still doesn't work, can you please attach a log with 
WINEDEBUG=+ntoskrnl,+pid,+plugplay,+setupapi,+wineusb ?



More information about the wine-devel mailing list