Porting an USB software from linux (libusb)

Alexander Leidinger Alexander at Leidinger.net
Mon Aug 30 15:58:38 UTC 2010


Hi,

I try to port a linux userland USB program and I get the following  
error message when trying to link to libusb (current as of r210105):
---snip---
cc -lusb -lm -o fowsr  fowsr.o
fowsr.o(.text+0x1546): In function `CUSB_Open':
: undefined reference to `usb_get_driver_np'
fowsr.o(.text+0x1710): In function `CUSB_Open':
: undefined reference to `usb_detach_kernel_driver_np'
gmake: *** [fowsr] Fehler 1
---snip---

Do I need those functions on FreeBSD (the device may show up as a HID  
device, I hadn't a chance to attach it to a FreeBSD box yet), or can I  
just remove them (I could make sure the HID driver is not loaded in  
the kernel)?

Here is the related source:
---snip---
         devh = usb_open(dev);
         assert(devh);

         signal(SIGTERM, release_usb_device);

         ret = usb_get_driver_np(devh, 0, buf, sizeof(buf));
         printf("usb_get_driver_np returned %d\n", ret);
         if (ret == 0) {
                 printf("interface 0 already claimed by driver  
\\'%s\\', attempting to detach it\n", buf);
                 ret = usb_detach_kernel_driver_np(devh, 0);
                 printf("usb_detach_kernel_driver_np returned %d\n", ret);
         }
         ret = usb_claim_interface(devh, 0);
         if (ret != 0) {
                 printf("claim failed with error %d\n", ret);
                         exit(1);
         }

         ret = usb_set_altinterface(devh, 0);
---snip---

Bye,
Alexander.

-- 
Famous last words:

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the freebsd-usb mailing list