Robin H. Johnson
2007-03-19 08:39:59 UTC
Hi,
USB drivers in general are something a little new to me, but I picked up a USB
phone handset a little while ago, and while the USB-Audio portion of it works
great, none of the buttons actually do anything, and the LED doesn't light up
yet.
Here's the manuf's page on the phone: http://www.ipevo.com/v2/prod/p111444.htm
libhid appears to need hackery as it only looks at the EP1IN endpoint, while
this device uses EP3IN for the keypad, even fixing that to do a lookup of the
correct input and interface number it still doesn't like the unit, so I figured
probably better to post here and see if somebody had better pointers to being
able to use the data. A userspace app would probably be the most use, but I'll
settle for actually managing to receive the data!
Using Pete's binary usbmon, I can see that each of the 25 buttons has a unique
code, and pressing said button repeatedly cycles a second byte through values
0-3 (looping).
usb 2-1: new full speed USB device using ohci_hcd and address 2
usb 2-1: configuration #1 chosen from 1 choice
input: ÿ Free-1 USB Phone as /class/input/input4
input: USB HID v1.00 Device [ÿ Free-1 USB Phone] on usb-0001:01:0b.1-1
The iManufacturer is set to 0xFF.
Here is the interface and endpoint for the controls. I find it odd that the HID
Report Descriptor is not present. I suspect it will contain the LED control as
well.
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 50
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0007 1x 7 bytes
bInterval 10
USB drivers in general are something a little new to me, but I picked up a USB
phone handset a little while ago, and while the USB-Audio portion of it works
great, none of the buttons actually do anything, and the LED doesn't light up
yet.
Here's the manuf's page on the phone: http://www.ipevo.com/v2/prod/p111444.htm
libhid appears to need hackery as it only looks at the EP1IN endpoint, while
this device uses EP3IN for the keypad, even fixing that to do a lookup of the
correct input and interface number it still doesn't like the unit, so I figured
probably better to post here and see if somebody had better pointers to being
able to use the data. A userspace app would probably be the most use, but I'll
settle for actually managing to receive the data!
Using Pete's binary usbmon, I can see that each of the 25 buttons has a unique
code, and pressing said button repeatedly cycles a second byte through values
0-3 (looping).
usb 2-1: new full speed USB device using ohci_hcd and address 2
usb 2-1: configuration #1 chosen from 1 choice
input: ÿ Free-1 USB Phone as /class/input/input4
input: USB HID v1.00 Device [ÿ Free-1 USB Phone] on usb-0001:01:0b.1-1
The iManufacturer is set to 0xFF.
Here is the interface and endpoint for the controls. I find it odd that the HID
Report Descriptor is not present. I suspect it will contain the LED control as
well.
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 50
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0007 1x 7 bytes
bInterval 10
--
Robin Hugh Johnson
Gentoo Linux Developer & Council Member
E-Mail : ***@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
Robin Hugh Johnson
Gentoo Linux Developer & Council Member
E-Mail : ***@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85