Hi!
I've made a video4linux driver for the USB Keene FM Transmitter. See:
http://www.amazon.co.uk/Keene-Electronics-USB-FM-Transmitter/dp/B003GCHPDY/ref=sr_1_1?ie=UTF8&qid=1326450476&sr=8-1
The driver code is here:
http://git.linuxtv.org/hverkuil/media_tree.git/shortlog/refs/heads/keene
Unfortunately this device has exactly the same USB ID as the Logitech AudioHub
USB speaker (http://www.logitech.com/en-us/439/3503).
The AudioHub has HID support for volume keys, but the FM transmitter needs
a custom V4L2 driver instead.
I've attached the full lsusb -v output of both devices, but this is the diff of
the two:
$ diff keene.txt audiohub.txt -u
--- keene.txt 2012-01-13 11:10:48.265399953 +0100
+++ audiohub.txt 2012-01-13 11:09:45.185398935 +0100
@@ -1,5 +1,5 @@
-Bus 007 Device 009: ID 046d:0a0e Logitech, Inc.
+Bus 003 Device 004: ID 046d:0a0e Logitech, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
@@ -12,7 +12,7 @@
idProduct 0x0a0e
bcdDevice 1.00
iManufacturer 1 HOLTEK
- iProduct 2 B-LINK USB Audio
+ iProduct 2 AudioHub Speaker
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
@@ -22,9 +22,8 @@
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
- bmAttributes 0xa0
+ bmAttributes 0x80
(Bus Powered)
- Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9@@ -152,7 +151,7 @@
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
- wDescriptorLength 22
+ wDescriptorLength 31
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
As you can see, the differences are very small.
In my git tree I worked around it by adding the USB ID to the ignore list
if the Keene driver is enabled, and ensuring that the Keene driver is
disabled by default.
But is there a better method to do this? At least the iProduct strings are
different, is that something that can be tested in hid-core.c?
Regards,
Hans