This thread may be of some interests to the list member here.
http://libusb.6.n5.nabble.com/USB-device-works-in-linux-but-not-in-OSX-td5711092.html

Just wondering if it makes sense to add a new API
(libusb_reset_ex()) or extend the existing API to support the
re-enumeration (at least for Mac OS X and libusb0.sys).

Summary:

Mac OS X:
Current behavior: using ResetDevice() and it will not cause
re-enumeration

Possible addition: to use DeviceReEnumerate() and it will
cause re-enumeration

Windows:
1. WinUSB: reset not supported
2. libusb0.sys
a) LIBUSB_IOCTL_RESET_DEVICE_EX: supports reset the
upstream hub port and this will not cause re-enumeration.

b) LIBUSB_IOCTL_RESET_DEVICE support forced re-enumeration

Side effect as per Tim:
causing cycle power on the hub port (which causes a
re-enumeration), but that can cause some devices (eg: EZ-USB FX/FX2)
to lose their loaded firmware, which defeats the purpose in the original
discussion (firmware update).

3. libusbk.sys
supporting reset the hub port only and it will not cause re-enumeration.

Linux (usbfs)
Not supporting forced re-enumeration. But if the kernel sees that the
device, config, or serial-number string descriptors have changed
after libusb_reset(), it will automatically re-enumerate the device.


-- 
Xiaofan

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to