From c86f0c578a3975edaaceba2a7ca80a288977b763 Mon Sep 17 00:00:00 2001 From: Klas Lindfors Date: Thu, 16 Aug 2012 14:14:23 +0200 Subject: [PATCH] do usb_set_configuration(h, 1) before we use the YubiKey Needed for some configurations, at least virtualbox. fixes #14. --- ykcore/ykcore_libusb-1.0.c | 4 ++++ ykcore/ykcore_libusb.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/ykcore/ykcore_libusb-1.0.c b/ykcore/ykcore_libusb-1.0.c index 138e85c..d1d7105 100644 --- a/ykcore/ykcore_libusb-1.0.c +++ b/ykcore/ykcore_libusb-1.0.c @@ -172,6 +172,10 @@ void *_ykusb_open_device(int vendor_id, int product_id) if (ykl_errno != 0) goto done; ykl_errno = libusb_detach_kernel_driver(h, 0); + if (ykl_errno != 0) + goto done; + /* This is needed for yubikey-personalization to work inside virtualbox virtualization. */ + ykl_errno = libusb_set_configuration(h, 1); goto done; } } diff --git a/ykcore/ykcore_libusb.c b/ykcore/ykcore_libusb.c index fb8f17e..deb70e4 100644 --- a/ykcore/ykcore_libusb.c +++ b/ykcore/ykcore_libusb.c @@ -163,6 +163,9 @@ void *_ykusb_open_device(int vendor_id, int product_id) if (h != NULL) usb_detach_kernel_driver_np(h, 0); #endif + /* This is needed for yubikey-personalization to work inside virtualbox virtualization. */ + if (h != NULL) + usb_set_configuration(h, 1); goto done; } } -- 2.39.5