On Mon, Jan 10, 2011 at 9:19 PM, Xiaofan Chen <xiaof...@gmail.com> wrote:
> On Mon, Jan 10, 2011 at 8:41 PM, Xiaofan Chen <xiaof...@gmail.com> wrote:
>
>> It seems my Cygwin Ctypes does not have WinDLL.
>> I am not so sure if this is the problem. Last time I
>> rebuilt libusb-1.0 using cdecl, now it only supports
>> stdcall under Windows.
>>
>
> It is indeed true under Cygwin.
>

Once I changed libusb.h to use cdecl calling convention, then
it seems to work. Right now I am having problems with
Cygwin libusb-1.0 (invalid handle) so I can not test it fully
but the dll loading will work.

mc...@mcuee-pc-win7 /cygdrive/d/work/libusb1/win/cygwin/libusb-pbatard/examples
$ python
Python 2.6.5 (r265:79063, Jun 12 2010, 17:07:01)
[GCC 4.3.4 20090804 (release) 1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes import CDLL, WinDLL
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name WinDLL
>>> c=CDLL('cygusb-1.0.dll')
>>> c.libusb_init(None)
libusb:debug [libusb_init] created default context
libusb:debug [libusb_init]
libusb:debug [init_polling] Will use CancelIoEx for I/O cancellation
libusb:debug [htab_create] libusb:debug [windows_clock_gettime_threaded] using 1
021 entries hash tablehires timer available (Frequency: 2539062 Hz)

libusb:debug [usbi_add_pollfd] add fd 3 events 1
0
>>> import usb.core
>>> import usb.util
>>> dev = usb.core.find(idVendor=0x0925, idProduct=0x7001)
libusb:debug [libusb_init] reusing default context
libusb:debug [libusb_get_device_list]
libusb:debug [windows_get_device_list] allocating new device for session [61]
libusb:debug [windows_get_device_list] allocating new device for session [1B1]
libusb:debug [get_api_type] driver(s): USBHUB
libusb:debug [get_api_type] matched driver name against HUB API
libusb:debug [windows_get_device_list] allocating new device for session [25E]
libusb:debug [get_api_type] driver(s): USBHUB
libusb:debug [get_api_type] matched driver name against HUB API
libusb:debug [windows_get_device_list] allocating new device for session [B5]
libusb:debug [windows_get_device_list] found existing device for session [25E]
libusb:debug [init_device] (bus: 2, addr: 255, depth: 0, port: 0): '\\.\USB#ROOT
_HUB#4&278C294E&0'
libusb:debug [windows_get_device_list] found existing device for session [B5]
libusb:debug [init_device] (bus: 1, addr: 255, depth: 0, port: 0): '\\.\USB#ROOT
_HUB20#4&7056C45&0'
libusb:debug [windows_get_device_list] allocating new device for session [2A1]
libusb:debug [init_device] found 1 configurations (active conf: 1)
libusb:debug [cache_config_descriptors] cached config descriptor 0 (bConfigurati
onValue=1, 55 bytes)
libusb:debug [init_device] (bus: 1, addr: 1, depth: 1, port: 5): '\\.\USB#VID_04
03&PID_CFF8#53T9XDR4'
libusb:debug [windows_get_device_list] allocating new device for session [23D]
libusb:debug [init_device] found 1 configurations (active conf: 1)
libusb:debug [cache_config_descriptors] cached config descriptor 0 (bConfigurati
onValue=1, 34 bytes)
libusb:debug [init_device] (bus: 2, addr: 5, depth: 1, port: 8): '\\.\USB#VID_04
5E&PID_00E1#5&207B166D&0&8'
libusb:debug [windows_get_device_list] allocating new device for session [24F]
libusb:debug [init_device] found 1 configurations (active conf: 1)
libusb:debug [cache_config_descriptors] cached config descriptor 0 (bConfigurati
onValue=1, 34 bytes)
libusb:debug [init_device] (bus: 2, addr: 2, depth: 1, port: 4): '\\.\USB#VID_04
6D&PID_C054#5&207B166D&0&4'
libusb:debug [windows_get_device_list] allocating new device for session [117]
libusb:debug [init_device] found 1 configurations (active conf: 1)
libusb:debug [cache_config_descriptors] cached config descriptor 0 (bConfigurati
onValue=1, 32 bytes)
libusb:debug [init_device] (bus: 2, addr: 1, depth: 1, port: 1): '\\.\USB#VID_05
8F&PID_9360#2004888'
libusb:debug [windows_get_device_list] allocating new device for session [1D0]
libusb:debug [init_device] found 1 configurations (active conf: 1)
libusb:debug [cache_config_descriptors] cached config descriptor 0 (bConfigurati
onValue=1, 41 bytes)
libusb:debug [init_device] (bus: 2, addr: 4, depth: 1, port: 7): '\\.\USB#VID_09
25&PID_7001#5&207B166D&0&7'
libusb:debug [windows_get_device_list] allocating new device for session [B7]
libusb:debug [init_device] found 1 configurations (active conf: 1)
libusb:debug [cache_config_descriptors] cached config descriptor 0 (bConfigurati
onValue=1, 32 bytes)
libusb:debug [init_device] (bus: 2, addr: 3, depth: 1, port: 6): '\\.\USB#VID_FF
FF&PID_0005#DEADC0DE'
libusb:debug [get_api_type] driver(s): USBCCGP
libusb:debug [get_api_type] matched driver name against Composite API
libusb:debug [windows_get_device_list] found existing device for session [2A1]
libusb:debug [get_api_type] driver(s): HIDUSB
libusb:debug [get_api_type] lower filter driver(s): DC3D
libusb:debug [get_api_type] matched driver name against HID API
libusb:debug [windows_get_device_list] found existing device for session [23D]
libusb:debug [get_api_type] driver(s): HIDUSB
libusb:debug [get_api_type] matched driver name against HID API
libusb:debug [windows_get_device_list] found existing device for session [24F]
libusb:debug [get_api_type] driver(s): USBSTOR
libusb:debug [windows_get_device_list] found existing device for session [117]
libusb:debug [get_api_type] driver(s): HIDUSB
libusb:debug [get_api_type] upper filter driver(s): LIBUSB0
libusb:debug [get_api_type] matched driver name against HID API
libusb:debug [windows_get_device_list] found existing device for session [1D0]
libusb:debug [get_api_type] driver(s): LIBUSB0
libusb:debug [windows_get_device_list] found existing device for session [B7]
libusb:debug [windows_get_device_list] unlisted ancestor for '\\.\HID#COMPROHIDD
EVICE&COL01#1&2D595CA7&0&0000' (non USB HID, newly connected, etc.) - ignoring
libusb:debug [windows_get_device_list] unlisted ancestor for '\\.\HID#COMPROHIDD
EVICE&COL02#1&2D595CA7&0&0001' (non USB HID, newly connected, etc.) - ignoring
libusb:debug [windows_get_device_list] unlisted ancestor for '\\.\HID#COMPROHIDD
EVICE&COL03#1&2D595CA7&0&0002' (non USB HID, newly connected, etc.) - ignoring
libusb:debug [windows_get_device_list] unlisted ancestor for '\\.\HID#COMPROHIDD
EVICE&COL04#1&2D595CA7&0&0003' (non USB HID, newly connected, etc.) - ignoring
libusb:debug [windows_get_device_list] unlisted ancestor for '\\.\HID#COMPROHIDD
EVICE&COL05#1&2D595CA7&0&0004' (non USB HID, newly connected, etc.) - ignoring
libusb:debug [windows_get_device_list] setting HID interface for [23D]:
libusb:debug [set_hid_interface] interface[0] = \\.\HID#VID_045E&PID_00E1&COL01#
6&E999C51&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
libusb:debug [windows_get_device_list] setting HID interface for [23D]:
libusb:debug [set_hid_interface] interface[1] = \\.\HID#VID_045E&PID_00E1&COL02#
6&E999C51&0&0001#{4D1E55B2-F16F-11CF-88CB-001111000030}
libusb:debug [windows_get_device_list] setting HID interface for [24F]:
libusb:debug [set_hid_interface] interface[0] = \\.\HID#VID_046D&PID_C054#6&A6CC
B04&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
libusb:debug [windows_get_device_list] setting HID interface for [1D0]:
libusb:debug [set_hid_interface] interface[0] = \\.\HID#VID_0925&PID_7001#6&22E6
8DE4&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
libusb:debug [libusb_unref_device] destroy device 1.0
libusb:debug [libusb_unref_device] destroy device 2.0
libusb:debug [libusb_get_device_descriptor]
libusb:debug [libusb_get_device_descriptor]
libusb:debug [libusb_get_device_descriptor]
libusb:debug [libusb_get_device_descriptor]
libusb:debug [libusb_get_device_descriptor]
libusb:debug [libusb_get_device_descriptor]
libusb:debug [libusb_get_device_descriptor]
libusb:debug [libusb_unref_device] destroy device 2.255
libusb:debug [libusb_unref_device] destroy device 1.255
libusb:debug [libusb_unref_device] destroy device 1.1
libusb:debug [libusb_unref_device] destroy device 2.5
libusb:debug [libusb_unref_device] destroy device 2.2
libusb:debug [libusb_unref_device] destroy device 2.1
libusb:debug [libusb_unref_device] destroy device 2.3
>>> dev
<usb.core.Device object at 0x7fe152cc>



-- 
Xiaofan

------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web.   Learn how to 
best implement a security strategy that keeps consumers' information secure 
and instills the confidence they need to proceed with transactions.
http://p.sf.net/sfu/oracle-sfdevnl 
_______________________________________________
pyusb-users mailing list
pyusb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyusb-users

Reply via email to