Problem with CyberKnex Programmer program and direct LPT1 port
access
Terry Barnaby
terry1 at beam.ltd.uk
Fri Apr 8 10:03:39 CDT 2005
Rob Shearman wrote:
> Terry Barnaby wrote:
>
>> Hi,
>>
>> I am trying to get the K'nex CyberKnex Programmer Windows program
>> working under wine on Fedora 3. It appears to be generally working but
>> this program needs direct access to the LPT1 parallel port to drive an
>> external "flash key" programmer.
>>
>> I have tried setting the "Windows" parameter to "winxp" and setting
>> "export WINEDEBUG=+io,+int,+vxd;". This still does not
>> work I get the error messages:
>>
>> fixme:setupapi:SetupDiClassGuidsFromNameExA
>> trace:vxd:DeviceIoControl
>> (0xffffffff,222074,0x7e8e00b4,4,(nil),0,0x72c9f57c,(nil))
>>
>>
>> I understand, from reading mailing lists and looking at the program,
>> that the
>> program is using a DLL which has the capability of loading an embedded
>> VXD
>> driver to access the LPT1 port.
>>
>> Some questions:
>> 1. Should this VXD driver loaded when the window system is set to
>> "winxp" ?
>
>
>
> No. NT doesn't support VXDs, just like we don't (although we fake a few).
>
>> 2. Is there any way I can get this program to communicate with the
>> LPT1 port ?
>
>
>
> Possibly. I'd look at working at which IOCTL and see if you can handle
> it either by translating it into a Linux ioctl (preferable) or by faking
> the information returned to satisfy the program. It doesn't look as
> though the setupapi call is important as the program seems to carry on
> without it.
>
> Rob
Hi Rob,
Thanks for the feedback.
I am new to wine development, could you give me a little extra pointers ?
1. What should the "setupapi" call do, should it load a standard NT driver, how
would the program expect to access the LPT1 port under NT ?
2. I assume the vxd:DeviceIoControl(0xffffffff,222074,0x7e8e00b4,4,(nil),0,0x72c9f57c,(nil))
is an effective Windows IOCTL ?
3. Is the first parameter to vxd:DeviceIoControl() a device handle, -1 indicating some
device opening routine actually failed ?
4. Are you stating that I can change the wine code that handles the vxd:DeviceIoControl()
to "do the right thing" ?
Cheers
Terry
3.
More information about the wine-devel
mailing list