I seem tangled between different abstractions on the USB stack.. what is the difference betweeen IOCTL_USB_RESET and USBDEVFS_RESET fired against an USB device? Will both calls finally trigger the same low level actions on the interface, or is there a difference?
I noticed that USBDEVFS_RESET is sometimes described with 'equivalent of replugging and reenumerating the device', while I found by myself that firing IOCTL_USB_RESET (as done by libusb's usb_reset() call) does trigger a reset message in dmesg but no new 'enumeration', which would lead to the usual multi-line USB detection and identification messages I guess.
As IOCTL_USB_RESET is not feasable to solve my problems (stuck up usb devices), and even does not trigger reenumeration, is there any chance USBDEVFS_RESET would do better?