Content-type: multipart/related; boundary="Boundary_(ID_zBjeQ05vtgxDWwVibZZVGg)"; type="text/html" --Boundary_(ID_zBjeQ05vtgxDWwVibZZVGg) Content-type: text/html; CHARSET=US-ASCII Content-transfer-encoding: quoted-printable
Nathan Hjelm wrote:
> Since we are ad= ding to the API for 1.0.15 maybe now would be a time to talk about whether= we should add an API call to force reenumeration of the device? Something= like:
> int libusb_device_reenumerate (struct libusb_devi= ce *dev);
> This call would invalidate the libusb_device a= nd any associated handles (same with libusb_reset). Thoughts?
The= re are a lot of players here. The app has certain cached
information, = libusb has certain cached information, the kernel has
certain cached i= nformation, the host controller driver has certain
cached information,= and even the hubs themselves have certain cached
information. The ter= m "re-enumerate" has specific meaning in the USB
world, essentially re= ferring to an unplug/replug that rebuilds the
information from the bot= tom up.
It is not clear that there is any generic way to force th= at operation on
all of the operating systems. It is possible on Window= s to cycle power
on the hub port, which causes a re-enumeration, but t= hat can cause some
devices to lose their loaded firmware, which defeat= s the purpose in this