Alexander Morozov ha scritto:
git clone git://source.winehq.org/git/wine.git ~/wine-git git-am 0001... git-am 0002...
You should run tools/make_makefiles before configuring.
Thanks. I redid it from scratch, and imported the relevant keys directly from windows. Now this is what I get after launching the program: fixme:ntoskrnl:KeInitializeSpinLock stub: 0x129824 wine: Call from 0x7ee2e8b0 to unimplemented function usbd.sys.USBD_GetUSBDIVersion, aborting wine: Unimplemented function usbd.sys.USBD_GetUSBDIVersion called at address 0x7ee2e8b0 (thread 0022), starting debugger... Unhandled exception: unimplemented function usbd.sys.USBD_GetUSBDIVersion called in 32-bit code (0x7ee2e923) Then a lot of debug info follows, register dumps and so on. After that, the program continues normally. Don't know if it would be worth posting, please let me know.
On Thursday 19 February 2009 16:55:20 emiliano esposito wrote:
Unhandled exception: unimplemented function usbd.sys.USBD_GetUSBDIVersion called in 32-bit code (0x7ee2e923)
You can try attached patch
From b7fad82130608126244ba2aee3f91b3337229fb3 Mon Sep 17 00:00:00 2001 From: Alexander Morozov <amorozov(a)etersoft.ru> Date: Fri, 20 Feb 2009 12:14:33 +0300 Subject: [PATCH 3/3] usbd.sys: Implement USBD_GetUSBDIVersion.
--- dlls/usbd.sys/usbd.c | 7 +++++++ dlls/usbd.sys/usbd.sys.spec | 2 +- include/ddk/usb.h | 6 ++++++ 3 files changed, 14 insertions(+), 1 deletions(-) diff --git a/dlls/usbd.sys/usbd.c b/dlls/usbd.sys/usbd.c index 8c2a8f9..c7c8fab 100644 --- a/dlls/usbd.sys/usbd.c +++ b/dlls/usbd.sys/usbd.c @@ -132,6 +132,13 @@ PURB WINAPI USBD_CreateConfigurationRequest( return urb; } +void WINAPI USBD_GetUSBDIVersion( PUSBD_VERSION_INFORMATION VersionInformation ) +{ + TRACE( "%p\n", VersionInformation ); + VersionInformation->USBDI_Version = 0x300; + VersionInformation->Supported_USB_Version = 0x100; +} + NTSTATUS WINAPI DriverEntry( DRIVER_OBJECT *driver, UNICODE_STRING *path ) { return STATUS_SUCCESS; diff --git a/dlls/usbd.sys/usbd.sys.spec b/dlls/usbd.sys/usbd.sys.spec index 5d0377c..a18bbf8 100644 --- a/dlls/usbd.sys/usbd.sys.spec +++ b/dlls/usbd.sys/usbd.sys.spec @@ -19,7 +19,7 @@ @ stub USBD_GetInterfaceLength @ stub USBD_GetPdoRegistryParameter @ stub USBD_GetSuspendPowerState -@ stub USBD_GetUSBDIVersion +@ stdcall USBD_GetUSBDIVersion(ptr) @ stub USBD_InitializeDevice @ stub USBD_MakePdoName @ stub USBD_ParseConfigurationDescriptor diff --git a/include/ddk/usb.h b/include/ddk/usb.h index b8f5f3f..a5db726 100644 --- a/include/ddk/usb.h +++ b/include/ddk/usb.h @@ -82,6 +82,12 @@ typedef PVOID USBD_PIPE_HANDLE; typedef PVOID USBD_CONFIGURATION_HANDLE; typedef PVOID USBD_INTERFACE_HANDLE; +typedef struct _USBD_VERSION_INFORMATION { + ULONG USBDI_Version; + ULONG Supported_USB_Version; +} USBD_VERSION_INFORMATION; +typedef struct _USBD_VERSION_INFORMATION *PUSBD_VERSION_INFORMATION; + typedef enum _USBD_PIPE_TYPE { UsbdPipeTypeControl, UsbdPipeTypeIsochronous, -- 1.6.1.3.GIT
Alexander Morozov ha scritto:
On Thursday 19 February 2009 16:55:20 emiliano esposito wrote:
Unhandled exception: unimplemented function usbd.sys.USBD_GetUSBDIVersion called in 32-bit code (0x7ee2e923)
You can try attached patch
Thank you very much. I forgot to say I'm using udev.rules with a line like this: # MARX CryptoBox Datentechnik GmbH ATTRS{idVendor}=="0d7a", ATTRS{idProduct}=="0001", MODE="0666", OWNER="root", GROUP="root" Now I get these errors: E: shm.c: shm_open() failed: Permission denied E: shm.c: shm_open() failed: Permission denied E: shm.c: shm_open() failed: Permission denied fixme:ntoskrnl:KeInitializeSpinLock stub: 0x12d1fc err:usbhub:__wine_usbhub_internal_ioctl error sending control message: Value too big for defined data type wine: Call from 0x7ee2e8b0 to unimplemented function usbd.sys.USBD_ParseConfigurationDescriptor, aborting wine: Unimplemented function usbd.sys.USBD_ParseConfigurationDescriptor called at address 0x7ee2e8b0 (thread 0022), starting debugger... Unhandled exception: unimplemented function usbd.sys.USBD_ParseConfigurationDescriptor called in 32-bit code (0x7ee2e923). Register dump:
2009/2/22 Emiliano Esposito <emiespo(a)tiscali.it>:
Thank you very much. I forgot to say I'm using udev.rules with a line like this:
# MARX CryptoBox Datentechnik GmbH ATTRS{idVendor}=="0d7a", ATTRS{idProduct}=="0001", MODE="0666", OWNER="root", GROUP="root"
It's up to you of course, but it would probably be more secure to use MODE="660" and some appropriate GROUP that you can then put your user in. Doesn't matter so much if you're the only user on the system.
participants (4)
-
Alexander Morozov -
Ben Klein -
Emiliano Esposito -
emiliano esposito