У меня есть проблема выключая чисто мое приложение, которое использует Linux libusb
(ядро не вернуть интерфейс):`не libusb_attach_kernel_driver` работает
int rc;
rc = libusb_reset_device(handle_);
if (rc < 0) {
cerr << "Error resetting the device: " << libusb_error_name(rc);
}
for (int ifnum = 0; ifnum < 2; ifnum++) {
rc = libusb_release_interface(handle_, ifnum);
if (rc < 0) {
cerr << "Error releasing interface: " << libusb_error_name(rc);
}
if (libusb_kernel_driver_active(handle_, ifnum)) {
cerr << "Reattaching CDC ACM kernel driver.";
rc = libusb_attach_kernel_driver(handle_, ifnum);
if (rc < 0) {
cerr << "Error reattaching CDC ACM kernel driver: " << libusb_error_name(rc);
}
}
}
libusb_close(handle_);
libusb_exit(NULL);
Проблема заключается в том, что реплантации драйвер ядра не работает , Фактически libusb_kernel_driver_active
не возвращает 1, но даже если я прокомментирую его и всегда звоню libusb_attach_kernel_driver
, я никогда не верну свое устройство /dev/ttyACM0
. В этом случае я получаю LIBUSB_ERROR_NOT_FOUND
.
, пожалуйста, используйте libusb_set_debug() для многословия. –