Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Aug 2010 19:22:49 -0500
From:      Jim Bryant <kc5vdj.freebsd@gmail.com>
To:        Alexander Leidinger <Alexander@Leidinger.net>
Cc:        usb@FreeBSD.org
Subject:   Re: Porting an USB software from linux (libusb)
Message-ID:  <4C7C4B59.3090207@gmail.com>
In-Reply-To: <20100830174232.56765zlyg2rhuhgc@webmail.leidinger.net>
References:  <20100830174232.56765zlyg2rhuhgc@webmail.leidinger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
easy fix.  just drop the _np

the functions are there under legacy naming.

Alexander Leidinger wrote:
> 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.
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C7C4B59.3090207>