libhid is not run on 8-current and 7.2-RELEASE

MIHIRA Sanpei Yoshiro sanpei at sanpei.org
Fri Jun 5 22:55:41 UTC 2009


Hi.

  I have USB Radio(*1).

  There is a application for channel selector, amfm.c which is 
for linux and use libhid. 
  I compile it with ports/devel/libhid. But it was some errors
in 8-current and 7.2-RELEASE.

  How can I fix this problem?

* amfm.c(amfm.c was based on shard USB Radio) 
http://mixallow.blogdns.net/amfm/amfm.c

*1 USB Radio (writtin in Japanese)
http://www.thanko.jp/usbamfmradio/

compile options for amfm.c
cc -o amfm -I/usr/local/include -L/usr/local/lib -lhid amfm.c

*****
on 8-current

 NOTICE: hid_init(): libhid 0.2.16.0.0 is being initialized.
  TRACE: hid_init(): initialising USB subsystem...
  TRACE: hid_init(): scanning for USB busses...
  TRACE: hid_init(): scanning for USB devices...
 NOTICE: hid_init(): successfully initialised HID library.
  TRACE: hid_new_HIDInterface(): creating a new HIDInterface instance...
  TRACE: hid_force_open(): forcefully opening a device interface according to matching criteria...
  TRACE: hid_get_usb_handle(): acquiring handle for a USB device...
  TRACE: hid_find_usb_device(): enumerating USB busses...
  TRACE: hid_find_usb_device(): enumerating USB devices on bus /dev/usb...
  TRACE: hid_find_usb_device(): inspecting USB device /dev/usb//dev/ugen0.3[0]...
  TRACE: hid_compare_usb_device(): comparing match specifications to USB device...
  TRACE: hid_compare_usb_device(): inspecting vendor ID...
  TRACE: hid_compare_usb_device(): no match on vendor ID.
  TRACE: hid_compare_usb_device(): inspecting product ID...
  TRACE: hid_compare_usb_device(): no match on product ID.
  TRACE: hid_compare_usb_device(): no custom matching function supplied.
 NOTICE: hid_find_usb_device(): vendor 0x0000 of USB device /dev/usb//dev/ugen0.3[0] does not match 0x03b4.
  TRACE: hid_find_usb_device(): inspecting USB device /dev/usb//dev/ugen0.2[0]...
  TRACE: hid_compare_usb_device(): comparing match specifications to USB device...
  TRACE: hid_compare_usb_device(): inspecting vendor ID...
  TRACE: hid_compare_usb_device(): match on vendor ID: 0x03b4.
  TRACE: hid_compare_usb_device(): inspecting product ID...
  TRACE: hid_compare_usb_device(): match on product ID: 0x3113.
  TRACE: hid_compare_usb_device(): no custom matching function supplied.
 NOTICE: hid_find_usb_device(): found a matching USB device /dev/usb//dev/ugen0.2[0].
  TRACE: hid_force_open(): claiming USB device /dev/usb//dev/ugen0.2[0].
WARNING: hid_os_force_claim(): code not tested on the BSD platform!
  TRACE: hid_os_force_claim(): claiming USB device /dev/usb//dev/ugen0.2[0]...
WARNING: hid_os_force_claim(): failed to claim USB device /dev/usb//dev/ugen0.2[0]...
WARNING: hid_force_open(): failed to claim USB device /dev/usb//dev/ugen0.2[0].
  TRACE: hid_close(): closing USB device /dev/usb//dev/ugen0.2[0]...
  TRACE: hid_close(): closing handle of USB device /dev/usb//dev/ugen0.2[0]...
 NOTICE: hid_close(): successfully closed USB device /dev/usb//dev/ugen0.2[0].
  TRACE: hid_close(): freeing memory allocated for HID parser...
  TRACE: hid_close(): resetting HIDInterface...
hid_force_open failed with return code 11
-----------------------------------------------------------
on 7.2-RELEASE
cherry# ./amfm -f81.3
2
 NOTICE: hid_init(): libhid 0.2.16.0.0 is being initialized.
  TRACE: hid_init(): initialising USB subsystem...
  TRACE: hid_init(): scanning for USB busses...
  TRACE: hid_init(): scanning for USB devices...
 NOTICE: hid_init(): successfully initialised HID library.
3
  TRACE: hid_new_HIDInterface(): creating a new HIDInterface instance...
4
  TRACE: hid_force_open(): forcefully opening a device interface according to matching criteria...
  TRACE: hid_get_usb_handle(): acquiring handle for a USB device...
  TRACE: hid_find_usb_device(): enumerating USB busses...
  TRACE: hid_find_usb_device(): enumerating USB devices on bus /dev/usb0...
  TRACE: hid_find_usb_device(): enumerating USB devices on bus /dev/usb1...
  TRACE: hid_find_usb_device(): inspecting USB device /dev/usb1//dev/ugen0[0]...
  TRACE: hid_compare_usb_device(): comparing match specifications to USB device...
  TRACE: hid_compare_usb_device(): inspecting vendor ID...
  TRACE: hid_compare_usb_device(): match on vendor ID: 0x03b4.
  TRACE: hid_compare_usb_device(): inspecting product ID...
  TRACE: hid_compare_usb_device(): match on product ID: 0x3113.
  TRACE: hid_compare_usb_device(): no custom matching function supplied.
 NOTICE: hid_find_usb_device(): found a matching USB device /dev/usb1//dev/ugen0[0].
  TRACE: hid_force_open(): claiming USB device /dev/usb1//dev/ugen0[0].
WARNING: hid_os_force_claim(): code not tested on the BSD platform!
  TRACE: hid_os_force_claim(): claiming USB device /dev/usb1//dev/ugen0[0]...
 NOTICE: hid_force_open(): successfully claimed USB device /dev/usb1//dev/ugen0[0].
  TRACE: hid_init_parser(): initialising the HID parser for USB Device /dev/usb1//dev/ugen0[0]...
  TRACE: hid_init_parser(): allocating space for HIDData structure...
  TRACE: hid_init_parser(): successfully allocated memory for HIDData strcture.
  TRACE: hid_init_parser(): allocating space for HIDParser structure...
  TRACE: hid_init_parser(): successfully allocated memory for HIDParser strcture.
 NOTICE: hid_init_parser(): successfully initialised the HID parser for USB Device /dev/usb1//dev/ugen0[0].
  TRACE: hid_prepare_hid_descriptor(): initialising the HID descriptor for USB device /dev/usb1//dev/ugen0[0]...
  TRACE: hid_prepare_hid_descriptor(): retrieving HID descriptor for USB device /dev/usb1//dev/ugen0[0]...
 NOTICE: hid_prepare_hid_descriptor(): successfully initialised HID descriptor for USB device /dev/usb1//dev/ugen0[0] (48 bytes).
  TRACE: hid_prepare_report_descriptor(): initialising the report descriptor for USB device /dev/usb1//dev/ugen0[0]...
  TRACE: hid_prepare_report_descriptor(): retrieving report descriptor for USB device /dev/usb1//dev/ugen0[0]...
 NOTICE: hid_prepare_report_descriptor(): successfully initialised report descriptor for USB device /dev/usb1//dev/ugen0[0].
  TRACE: hid_prepare_parser(): setting up the HID parser for USB device /dev/usb1//dev/ugen0[0]...
  TRACE: hid_reset_parser(): resetting the HID parser for USB device /dev/usb1//dev/ugen0[0]...
  TRACE: hid_prepare_parser(): dumping the raw report descriptor
  TRACE: hid_prepare_parser(): 0x000: 0x06 0xa0 0xff 0x09 0x01 0xa1 0x01 0x09
  TRACE: hid_prepare_parser(): 0x008: 0x02 0xa1 0x00 0x06 0xa1 0xff 0x09 0x03
  TRACE: hid_prepare_parser(): 0x010: 0x15 0x80 0x25 0x7f 0x35 0x00 0x45 0xff
  TRACE: hid_prepare_parser(): 0x018: 0x75 0x08 0x95 0x08 0x81 0x02 0x09 0x04
  TRACE: hid_prepare_parser(): 0x020: 0x15 0x80 0x25 0x7f 0x35 0x00 0x45 0xff
  TRACE: hid_prepare_parser(): 0x028: 0x75 0x08 0x95 0x08 0x91 0x02 0xc0 0xc0
  TRACE: hid_prepare_parser(): parsing the HID tree of USB device /dev/usb1//dev/ugen0[0]...
 NOTICE: hid_prepare_parser(): successfully set up the HID parser for USB device /dev/usb1//dev/ugen0[0].
 NOTICE: hid_force_open(): successfully opened USB device /dev/usb1//dev/ugen0[0].
5
  TRACE: hid_interrupt_write(): writing interrupt report to device /dev/usb1//dev/ugen0[0] ...
    never return from above method.

Cheers

---
MIHIRA, Sanpei Yoshiro
Tokyo, Japan.


More information about the freebsd-usb mailing list