|
Re: more lirc_mceusb
From: Dan Conti <dconti@ac...> - 2004-12-10 06:04
|
|
Hi, I haven't been monitoring this list for a bit, so i apologize for people who have had this problem and been confused. I have gotten a couple of off-list inquiries which i looked at for a bit. What is going on here is, unfortunately, MS and phillips have elected to change the remotes used for MCE 2005. It looks like this is just a change on the internals though, and the external housing and usb transceiver are the same. The result is that the protocol for the remotes is completely different; this is why the mceusb_setup lines are printing out bad result codes. The user experience isn't that good on this because, well, the driver isn't designed to have the wrong product and vendor id's thrown in there. If people who are having lirc_mceusb problems could verify that the remote you purchased looks exactly like this: http://www.pcalchemy.com/images/philips/philips-mce-remote.jpg That would be helpful. Naturally the bad news is that people looking to purchase these remotes may have no way of telling whether they are getting the older, microsoft version (which the driver supports) or the newer, phillips version (which it does not). For lirc, the solution will be to analyze the data the new usb transceiver expects and provides on the bus; it is possible that this is very similar, but not identical to the previous transceiver. If someone is interested in doing this, you are welcome to contact me regarding the original driver. It is also possible the protocol is completely different, and may warrant writing a new driver. For users who have this remote, the solution is to either a) wait for lirc to be updated to support the transceiver, or b) investigate building a homebrew receiver. Thanks, -Dan Wayne Vosberg wrote: > I hope someone is still working on this driver and will be able to point me in > the right direction. I have a generic Phlips USB MCE remote: > > # lsusb -vvs 1:6 > > Bus 001 Device 006: ID 0471:0815 Philips > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 1.10 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 16 > idVendor 0x0471 Philips > idProduct 0x0815 > bcdDevice 0.00 > iManufacturer 1 Philips > iProduct 2 eHome Infrared Transceiver > iSerial 3 PH0018VA > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 32 > bNumInterfaces 1 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xa0 > 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 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x01 EP 1 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type none > Usage Type Data > wMaxPacketSize 0x0010 bytes 16 once > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type none > Usage Type Data > wMaxPacketSize 0x0010 bytes 16 once > bInterval 0 > Language IDs: (length=4) > 0409 English(US) > > I modified the source to include my Vendor/Product IDs: > /* > #define USB_MCEUSB_VENDOR_ID 0x045e > #define USB_MCEUSB_PRODUCT_ID 0x006d > */ > #define USB_MCEUSB_VENDOR_ID 0x0471 > #define USB_MCEUSB_PRODUCT_ID 0x0815 > > and everything compiles, starts and seems to run fine, except that > neither irw nor irrecord ever see a button push. > > Here is the debug output from lirc_mceusb startup: > > lirc_dev: IR Remote Control driver registered, at major 61 > /root/lirc-0.7.0/drivers/lirc_mceusb/lirc_mceusb.c: we found a bulk out endpoint > /root/lirc-0.7.0/drivers/lirc_mceusb/lirc_mceusb.c: we found a bulk in endpoint > lirc_dev: lirc_register_plugin:sample_rate: 80 > /root/lirc-0.7.0/drivers/lirc_mceusb/lirc_mceusb.c: mceusb_setup - res > = 2 status = 0x1 0x0 > /root/lirc-0.7.0/drivers/lirc_mceusb/lirc_mceusb.c: mceusb_setup - res > = -32, devnum = 6 > /root/lirc-0.7.0/drivers/lirc_mceusb/lirc_mceusb.c: mceusb_setup - > data[0] = 0, data[1] = 0 > /root/lirc-0.7.0/drivers/lirc_mceusb/lirc_mceusb.c: mceusb_setup - res = -32 > usbcore: registered new driver lirc_mceusb > > I suspect that -32 return from: > > res = usb_control_msg( udev, usb_rcvctrlpipe(udev, 0), > 5, USB_TYPE_VENDOR, 0, 0, > data, 2, HZ * 3 ); > > is incorrect. Any idea on where to go from here? > > TIA > Wayne Vosberg > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > |
| Thread | Author | Date | |
|---|---|---|---|
| more lirc_mceusb | Wayne Vosberg <wayne.vosberg@gm...> |
|
|
|
|
|
|
|
|
|
|
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use