Re: trying to "reverse engineer" protocol from USB Ir dongle
"Jon Smirl" <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
On 8/17/07, [email protected] <[email protected]> wrote: > I'm a newbie here, and don't really know if I have the right list. I > apologize if I am screwing up. Try the lirc_mceusb2 driver. There is a specialized mailing list for remote controls. https://lists.sourceforge.net/lists/listinfo/lirc-list > > ---------------------------------------------------------------------------- > I have an infrared remote control and an accompanying USB connected > receiver. It's a small box on the end of a cable, which I suppose is > called a dongle? > > lsusb gives me this: > > Bus 001 Device 005: ID 0609:031d SMK Manufacturing, Inc. > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 1.10 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 16 > idVendor 0x0609 SMK Manufacturing, Inc. > idProduct 0x031d > bcdDevice 0.00 > iManufacturer 1 SMK > iProduct 2 eHome Infrared Transceiver > iSerial 3 SM003J61 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 32 > bNumInterfaces 1 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xa0 > (Bus Powered) > Remote Wakeup > MaxPower 100mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 2 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 255 Vendor Specific Subclass > bInterfaceProtocol 255 Vendor Specific Protocol > ... > > > I haven't been able to find a driver for it. I've seen screen-shots of > Windows systems call it a HID device, but, as far as I can tell, Linux > does not recognize it as such. From what I can gather, the device's > protocol hasn't been disclosed. (from above: Vendor Specific Protocol) > > I hacked up the usb-skeleton driver so that it binds to this device, and > so that I can read from it in user-space. My little user-space program > then prints a hex dump, one byte byte at a time and one line for each > complete read() call. Here's an example of the output: > > (start reading... then I quickly press and release button #1:) > > 84 b6 10 8b 07 > 84 8a 07 8b 10 > 84 8a 10 9c 10 > 84 8a 08 8a 07 > 84 8b 07 8a 08 > 84 8a 07 8a 08 > 84 8a 07 8a 08 84 8a 08 89 08 > 84 93 08 89 08 > 84 8a 08 8a 10 > 84 8a 08 89 08 84 8a 08 8a 08 > 84 92 11 89 08 > 84 8a 08 8a 08 84 89 08 8a 08 > 84 89 08 8a 08 > 84 8a 08 92 7f > 84 7f 7f 7f 7f > 84 7f 7f 7f 7f > 84 7f 7f 7f 7f > 83 7f 7f 5f 9f 01 01 9f 15 00 00 80 > > > I've been looking at the device output for couple days and, while I have > found some (obvious) patterns, I haven't found anything in the output > that I can use to reliably determine which button has been pressed. > > I hope someone out there might have experience figuring out this sort of > thing, because I don't and I could use some help/guidence. > > Thanks, > > - Chris > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > [email protected] > To unsubscribe, use the last form field at: > https://lists.sourceforge.net/lists/listinfo/linux-usb-devel > -- Jon Smirl [email protected] ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel