[libhid-discuss] Polycom Communicator Buttons (usb-audio device with buttons)

Andres Mauricio Mujica Zalamea andres.mujica at seaq.com.co
Fri Oct 24 01:18:23 UTC 2008


Hi everyone!

I've got a Polycom Communicator C100 (
http://www.polycom.com/usa/en/products/voice/desktop_solutions/pc_speakerphones/communicator_c100.html
)

This is a nice USB-AUDIO device that works with Linux, compared to windows
it lacks with audio quality (it supports 22khz audio) but with some tuning
it's functional with Linux. In fact i'm pretty happy with it.

However there's an usability problem.  It's composed by 5 buttons (launch,
mute, vol up, vol down, answer/hangup) and a light circle that turns green
when answer and red when muted or hanged up in windows.

I want to make those functions work in Linux.  I've read a litle bit about
this and i've arrived here as i believe if someone can help me with this
would be you libhid devs!

When i plug the device i've got this at dmesg:

[ 7135.904321] usb 3-1: new full speed USB device using uhci_hcd and
address 5
[ 7136.283095] usb 3-1: configuration #1 chosen from 1 choice
[ 7136.363811] 5:2:1: cannot get freq at ep 0x1
[ 7136.373935] 5:1:1: cannot get freq at ep 0x82
[ 7136.454984] hiddev96hidraw4: USB HID v1.00 Device [Polycom,Inc. Polycom
Communicator] on usb-0000:00:1a.1-1
[ 7137.069655] 5:2:1: cannot get freq at ep 0x1
[ 7137.165770] 5:1:1: cannot get freq at ep 0x82

The hiddev96hidraw4 line seems to create a hiddev0 and a hidraw4 device:


ls -l /dev/usb/hiddev0
crw-rw---- 1 root root 180, 96 2008-10-23 20:09 /dev/usb/hiddev0
andres at vostro:~$ ls -l /dev/hidraw4
crw-rw---- 1 root root 252, 4 2008-10-23 20:09 /dev/hidraw4

If i cat the device i can see garbage and when i press the mute button the
light circle turns red (as in windows)

If i use xev nothing is seen.

This is some info

 lsusb -d 095d:0005
Bus 003 Device 006: ID 095d:0005 Polycom, Inc.


  TRACE: hid_find_usb_device(): enumerating USB devices on bus 003...
  TRACE: hid_find_usb_device(): inspecting USB device 003/006[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: 0x095d.
  TRACE: hid_compare_usb_device(): inspecting product ID...
  TRACE: hid_compare_usb_device(): match on product ID: 0x0005.
  TRACE: hid_compare_usb_device(): no custom matching function supplied.
 NOTICE: hid_find_usb_device(): found a matching USB device 003/006[0].
  TRACE: hid_force_open(): claiming USB device 003/006[0].
 NOTICE: hid_force_open(): successfully claimed USB device 003/006[0].
  TRACE: hid_init_parser(): initialising the HID parser for USB Device
003/006[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 003/006[0].
  TRACE: hid_prepare_hid_descriptor(): initialising the HID descriptor for
USB device 003/006[0]...
  TRACE: hid_prepare_hid_descriptor(): retrieving HID descriptor for USB
device 003/006[0]...
USB error: error sending control message: Broken pipe
WARNING: hid_prepare_hid_descriptor(): failed to get HID descriptor for
USB device 003/006[0]
  TRACE: hid_close(): closing USB device 003/006[0]...
  TRACE: hid_close(): closing handle of USB device 003/006[0]...
 NOTICE: hid_close(): successfully closed USB device 003/006[0].
  TRACE: hid_reset_parser(): resetting the HID parser for USB device
003/006[0]...
  TRACE: hid_close(): freeing memory allocated for HID parser...
  TRACE: hid_close(): resetting HIDInterface...
hid_force_open failed with return code 13.
  ERROR: hid_write_identification(): cannot write identification of
unopened HIDinterface.
hid_write_identification failed with return code 8.
  ERROR: hid_dump_tree(): cannot dump tree of unopened HIDinterface.
hid_dump_tree failed with return code 8.
WARNING: hid_close(): attempt to close unopened USB device .
  TRACE: hid_close(): freeing memory allocated for HID parser...
  TRACE: hid_close(): resetting HIDInterface...
hid_close failed with return code 10.
 NOTICE: hid_cleanup(): successfully deinitialised HID library.



what i want is to make those buttons work,  so i'm asking for help

Thanks a lot!!!



-- 
-- 
Andrés Mauricio Mujica Zalamea




More information about the libhid-discuss mailing list