OpenELEC / OpenELEC.tv

OpenELEC - The living room PC for everyone
http://openelec.tv
1.61k stars 883 forks source link

MCE KBD Runscript event broken >3.0.3 (ION_x64) #2445

Closed xvlun closed 11 years ago

xvlun commented 11 years ago

I am using a Logitech Harmony 600 Remote which I configured to send a "g" as a mce keyboard device on press of the "blue" button. This triggers the execution of RunScript(script.xbmc.subtitles), which i configured using the keyboard.xml file.

Unfortunately this only works up until version 3.0.3 and has been broken from 3.0.4 until now. in version 3.0.4 and above keypresses using mce kbd also do not wake up xbmc from a "dimmed" state and also irw shows no sign of a key being pressed,

sraue commented 11 years ago

would be nice to know what you have for a IR receiver and if it works with the original remote

xvlun commented 11 years ago

Sorry maybe this was misleading. The harmony continues to work with openelec working as a mce remote (this is also true for the original remote). The problem arises when I configure a single button to send a mce kbd command (in this case the letter "g" to trigger execution of a xbmc runscript event), this has been working up until 3.0.3. But has been broken since 3.0.4 (no change in configuration, hardware, anything except for the openelec upgrade).

Something changed regarding the supported protocols. Although I have no clue what this means:

openelec 3.0.3: cat /sys/class/rc/rc0/protocols rc-5 nec [rc-6] jvc sony sanyo [mce_kbd]

openelec devel-20130703073015-r14756: cat /sys/class/rc/rc0/protocols rc-5 nec [rc-6] jvc sony sanyo mce_kbd lirc

The device is labeled as OVU412000/00

lsusb -v output:

Bus 003 Device 002: ID 0471:060c Philips (or NXP) Consumer Infrared Transceiver (HP) Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0471 Philips (or NXP) idProduct 0x060c Consumer Infrared Transceiver (HP) bcdDevice 1.01 iManufacturer 1
iProduct 2 BB+ Dongle(e.d) iSerial 3 JCID 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 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 255 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Device Status: 0x0000 (Bus Powered)

xvlun commented 11 years ago

Ok, I found the solution: the issue was more than trivial and did not have anything to do with IR stuff. To enable the mce_kbd protocol I was invoking the command "/bin/echo +mce_kbd > /sys/class/rc/rc0/protocols" in .config/autostart.sh at boot.

/bin/echo seems to habe been dropped in 3.0.4+. Changing the command to "echo +mce_kbd > /sys/class/rc/rc0/protocols" causes everything to work again.