Porting an USB software from linux (libusb)
Jim Bryant
kc5vdj.freebsd at gmail.com
Tue Aug 31 20:46:52 UTC 2010
ah, i'm under -stable.
Alexander Leidinger wrote:
> Quoting Jim Bryant <kc5vdj.freebsd at gmail.com> (from Mon, 30 Aug 2010
> 19:22:49 -0500):
>
>> easy fix. just drop the _np
>>
>> the functions are there under legacy naming.
>
> Not in my revision of FreeBSD-current. I commented it out like HPS
> suggested (the right way, with the correct macros to enable
> automatically when those functions are merged from P4 to SVN) and the
> linker doesn't complain anymore.
>
> Bye,
> Alexander.
>
>> 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.
>>>
>>
>>
>
>
>
More information about the freebsd-usb
mailing list