Hi
I'm trying to use USB devices for Data acquisition on wine. The recording software is proprietary, but runs on wine. (It IgorPro with some binary called FPulse, and MultiClamp Commander 700B). The problem occurs only when trying to connect to the recording device through USB.
I've already found the page [1] and trying to build wine with the recommended patch. Unfortunately, the current patches [2] do not apply cleanly to the most recent version of wine-git. Therefore, I'm asking what the recommended approach is ?
Is there a more recent set up patches ? The once from [2] have been updated last in Jun 2012 ? Or would you recommend using the sources of wine from that date ?
Kind regards, Alois
[1] http://wiki.winehq.org/USB [2] ftp://ftp.etersoft.ru/pub/people/amorozov/usb/current/
"Alois" == Alois Schlögl alois.schloegl@gmail.com writes:
Alois> Hi I'm trying to use USB devices for Data acquisition on Alois> wine. The recording software is proprietary, but runs on Alois> wine. (It IgorPro with some binary called FPulse, and MultiClamp Alois> Commander 700B). The problem occurs only when trying to connect Alois> to the recording device through USB.
How is the device accessed? Is it offering a serial device (comX)? Is it perhaps using the FTDI device and the ftd2xx driver? Or is it using an own kernel mode driver?
Only when using an own kernel mode driver, [1] is needed.
If it is a serial device, add the device to the wine configuration. If it is using the ftd2xx driver, I can send you a patch to add a wine dll that translates the windows ftd2xx calls to linux ftd2xx calls.
Perhaps run a "WINEDEBUG=+relay log" to see how the device is accessed.
Alois> I've already found the page [1] and trying to build wine with the Alois> recommended patch. Unfortunately, the current patches [2] do not Alois> apply cleanly to the most recent version of wine-git. Therefore, Alois> I'm asking what the recommended approach is ?
Alois> Is there a more recent set up patches ? The once from [2] have Alois> been updated last in Jun 2012 ? Or would you recommend using the Alois> sources of wine from that date ?
Probably using a equal old wine would be best if you need [1].
Bye
On 2014-03-17 13:43, Uwe Bonnes wrote:
"Alois" == Alois Schlögl alois.schloegl@gmail.com writes:
Alois> Hi I'm trying to use USB devices for Data acquisition on Alois> wine. The recording software is proprietary, but runs on Alois> wine. (It IgorPro with some binary called FPulse, and MultiClamp Alois> Commander 700B). The problem occurs only when trying to connect Alois> to the recording device through USB.
How is the device accessed? Is it offering a serial device (comX)? Is it perhaps using the FTDI device and the ftd2xx driver? Or is it using an own kernel mode driver?
In one case, HKLM\System\CurrentControlSet\Services<driver name> points to system32\Driver\hidusb.sys;
in the other case, no driver name is specified. It most likely uses a vendor specific interface - and its not an interface for a serial protocol.
Only when using an own kernel mode driver, [1] is needed.
I'm afraid there is no way around it.
If it is a serial device, add the device to the wine configuration. If it is using the ftd2xx driver, I can send you a patch to add a wine dll that translates the windows ftd2xx calls to linux ftd2xx calls.
Yes, I'd be interested in that one, too.
Perhaps run a "WINEDEBUG=+relay log" to see how the device is accessed.
Alois> I've already found the page [1] and trying to build wine with the Alois> recommended patch. Unfortunately, the current patches [2] do not Alois> apply cleanly to the most recent version of wine-git. Therefore, Alois> I'm asking what the recommended approach is ? Alois> Is there a more recent set up patches ? The once from [2] have Alois> been updated last in Jun 2012 ? Or would you recommend using the Alois> sources of wine from that date ?
Probably using a equal old wine would be best if you need [1].
Bye
Cheers, Alois
"Alois" == Alois Schlögl alois.schloegl@gmail.com writes:
...
Alois> Yes, I'd be interested in that one, too.
https://github.com/UweBonnes/wine, branch ftd2xx.
"Alois" == Alois Schlögl alois.schloegl@gmail.com writes:
Alois> In one case, HKLM\System\CurrentControlSet\Services<driver name> Alois> points to system32\Driver\hidusb.sys;
Can you show the exports of hidusb.sys? Maybe it is also a good candidate for a replacement dll.
Bye
On 2014-03-17 17:22, Uwe Bonnes wrote:
"Alois" == Alois Schlögl alois.schloegl@gmail.com writes:
Alois> In one case, HKLM\System\CurrentControlSet\Services\<driver name> Alois> points to system32\Driver\hidusb.sys;
Can you show the exports of hidusb.sys? Maybe it is also a good candidate for a replacement dll.
Bye
I'm not sure how to export that information. nm does not work because its a sys file. pefile gives quite some information but no export section. grep Hint pefile_output lists this:
ntoskrnl.exe.ExFreePool Hint[77] ntoskrnl.exe.ExAllocatePoolWithTag Hint[65] ntoskrnl.exe.KeSetEvent Hint[598] ntoskrnl.exe.IofCallDriver Hint[482] ntoskrnl.exe.KeWaitForSingleObject Hint[621] ntoskrnl.exe.MmMapLockedPages Hint[687] ntoskrnl.exe.InterlockedDecrement Hint[278] ntoskrnl.exe.IoBuildDeviceIoControlRequest Hint[302] ntoskrnl.exe.InterlockedIncrement Hint[281] ntoskrnl.exe.KeResetEvent Hint[588] ntoskrnl.exe.InterlockedExchange Hint[279] ntoskrnl.exe.IoInvalidateDeviceState Hint[385] ntoskrnl.exe.IoQueueWorkItem Hint[401] ntoskrnl.exe.InterlockedCompareExchange Hint[277] ntoskrnl.exe.IoAllocateWorkItem Hint[294] ntoskrnl.exe.IoCancelIrp Hint[307] ntoskrnl.exe.KeTickCount Hint[614] ntoskrnl.exe.KeBugCheckEx Hint[502] ntoskrnl.exe.PoCallDriver Hint[822] ntoskrnl.exe.KeInitializeSpinLock Hint[542] ntoskrnl.exe.KeInitializeEvent Hint[536] ntoskrnl.exe.IoFreeWorkItem Hint[355] ntoskrnl.exe.IofCompleteRequest Hint[483] HIDCLASS.SYS.HidRegisterMinidriver Hint[3] USBD.SYS.USBD_ParseConfigurationDescriptorEx Hint[22] USBD.SYS.USBD_CreateConfigurationRequestEx Hint[6]
-- Alois
"Alois" == Alois Schlögl alois.schloegl@gmail.com writes:
Alois> On 2014-03-17 17:22, Uwe Bonnes wrote: >>>>>>> "Alois" == Alois Schlögl alois.schloegl@gmail.com writes: >> Alois> In one case, HKLM\System\CurrentControlSet\Services<driver name> Alois> points to system32\Driver\hidusb.sys; >> >> Can you show the exports of hidusb.sys? Maybe it is also a good >> candidate for a replacement dll. >> >> Bye >>
Alois> I'm not sure how to export that information. nm does not work Alois> because its a sys file. pefile gives quite some information but Alois> no export section. grep Hint pefile_output lists this:
... Alois> ntoskrnl.exe.IofCompleteRequest Hint[483] Alois> HIDCLASS.SYS.HidRegisterMinidriver Hint[3] Alois> USBD.SYS.USBD_ParseConfigurationDescriptorEx Hint[22] ...
It looks like hidusb.sys only exports some way to register another (mini) driver. Probably this minidriver creates some device. How does the application talk to that device. Probably another dll is involved or access happens with Read|WriteFile() to that device. But I am only guessing, I have no experience with HID.
Bye
Hi,
For some kinds of HID device which is also CCID compliant, it might be worth to check scard4wine (winscard.dll.so) as well: http://sourceforge.net/projects/scard4wine/ http://pcsclite.alioth.debian.org/ccid.html#CCID_compliant
Good luck :p