Ich habe ein Problem sauber Anwendung meine Linux herunterzufahren, die libusb
verwendet (der Kernel zurückzufordern nicht die Schnittstelle):`libusb_attach_kernel_driver` nicht
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);
Das Problem ist, dass die der Kernel-Treiber reattaching funktioniert nicht . Eigentlich libusb_kernel_driver_active
nicht zurück 1, aber selbst wenn ich es auskommen und immer libusb_attach_kernel_driver
aufrufen, bekomme ich nie mein /dev/ttyACM0
Gerät zurück. In diesem Fall bekomme ich LIBUSB_ERROR_NOT_FOUND
.
Verwenden Sie bitte libusb_set_debug() für die Ausführlichkeit. –