Re: Getting Philips Speechmike to work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jiri Kosina schrieb:
> On Mon, 13 Apr 2009, Alan Stern wrote:
> 
>>> Item(Global): Usage Page, data= [ 0x0c ] 12
>>>                 Consumer
>>> Item(Local ): Usage, data= [ 0x01 ] 1
>>>                 Consumer Control
>>> Item(Main  ): Collection, data= [ 0x01 ] 1
>>>                 Application
>>> Item(Global): Usage Page, data= [ 0x0c ] 12
>>>                 Consumer
>>> Item(Local ): Usage, data= [ 0xe9 ] 233
>>>                 Volume Increment
>>> Item(Global): Usage Page, data= [ 0x0c ] 12
>>>                 Consumer
>>> Item(Local ): Usage, data= [ 0xea ] 234
>>>                 Volume Decrement
>>> Item(Global): Logical Minimum, data= [ 0x00 ] 0
>>> Item(Global): Logical Maximum, data= [ 0x01 ] 1
>>> Item(Global): Report Count, data= [ 0x02 ] 2
>>> Item(Global): Report Size, data= [ 0x01 ] 1
>>> Item(Main  ): Input, data= [ 0x42 ] 66
>>>                 Data Variable Absolute No_Wrap Linear
>>>                 Preferred_State Null_State Non_Volatile Bitfield
>>> Item(Global): Report Count, data= [ 0x01 ] 1
>>> Item(Global): Report Size, data= [ 0x06 ] 6
>>> Item(Main  ): Input, data= [ 0x01 ] 1
>>>                 Constant Array Absolute No_Wrap Linear
>>>                 Preferred_State No_Null_Position Non_Volatile Bitfield
>>> Item(Main  ): End Collection, data=none
>> I'm not an expert at HID, but this seems clear enough.  The report 
>> contains two 1-bit items, representing a Volume Increment and a Volume 
>> Decrement button, plus a 6-bit item which has no meaning and is always 
>> constant (i.e., padding to bring the total size up to 8 bits).
>> That explains why you only see two buttons in the event listing.
>> If you want, you can trace the actual operation of the device by using 
>> usbmon.  Instructions are in the kernel source file 
>> Documentation/usb/usbmon.txt.
> 
> Yes, probably the report descriptor of the device doens't really reflect 
> what the device is actually sedning in its reports, and this causes events 
> to be lost.
> We already have support for such devices in kernel, sometimes just 
> run-time patching of the report descriptor before it enters the HID parser 
> is sufficient.
> 
> You could also try to recompile your kernel with CONFIG_HID_DEBUG (if not 
> already done), modprobe the 'hid' module with 'debug=2' parameter, and 
> show me the output that appears in dmesg when you press the non-working 
> keys.

I did that and uploaded the results at

http://philipp.wagner.name/temp/speechmike-debug/

The messages-button* files are the dmesg output for one of the keys
each. The messages-plug-in.txt is the output when plugging the device in.

Is there anything you can see from that data?

Philipp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux