Я кажусь запутанным между различными абстракциями на USB-стеке. Какая разница между IOCTL_USB_RESET
и USBDEVFS_RESET
срабатывает на USB-устройстве? Будут ли оба вызова, наконец, инициировать те же действия на уровне низкого уровня на интерфейсе, или есть разница?
Я заметил, что USBDEVFS_RESET
иногда описывается как "эквивалент повторной загрузки и повторного обновления устройства", в то время как я сам обнаружил, что запуск IOCTL_USB_RESET
(как это сделал вызов libusb usb_reset()
) вызывает триггер reset в dmesg
, но нет новой "перечисления", которая приведет к обычным многоканальным сообщениям об обнаружении и идентификации USB, которые, как я полагаю.
Поскольку IOCTL_USB_RESET
не представляется возможным решить мои проблемы (застрял USB-устройства) и даже не вызывает повторное вычисление, есть ли вероятность, что USBDEVFS_RESET
будет лучше?