if (!handle)
return NULL;
+#ifndef __APPLE__
+ /* detach kernel driver first */
+ ret = usb_detach_kernel_driver_np(handle, iface);
+ /* don't complain if no driver attached */
+ if (ret<0 && ret != -61 && verbose)
+ fprintf(stderr, "detach kernel driver failed: (%d) %s!\n", ret, usb_strerror());
+#endif
ret = usb_claim_interface(handle, iface);
if (ret<0) {
if (verbose)