[LIVE] MCE remote problems
#1
Hardware: Zotac ION n330, 4GB RAM, Live running on USB stick
XBMC: PRE-9.10 R22204

I bought a generic MCE remote (this one) and am having a great deal of difficulty getting it running.

Basically most of the keys don't seem to do what they're supposed to do.

It's compounded by my not being able to get IRW running - the remote is controlling some XBMC functions, so something's working.

So instead, I've been trying to read the key presses out of the xbmc.log file, which has given me what I hope is the vital clue to the problem - I just don't know where the solution lies.

For example, pressing STOP, PLAY, FFW, RWD and several other keys all result in the following:

Code:
23:03:26 T:3040823184 M:2988560384   DEBUG: OnKey: 65440 pressed, action is 0

Other keys (ones that actually do something) do respond with different output:

Code:
23:05:06 T:3040823184 M:2988183552   DEBUG: OnKey: 61479 pressed, action is 2
23:05:07 T:3040823184 M:2988183552   DEBUG: OnKey: 61480 pressed, action is 4
23:05:09 T:3040823184 M:2988183552   DEBUG: OnKey: 61477 pressed, action is 1
23:05:12 T:3040823184 M:2988310528   DEBUG: OnKey: 61478 pressed, action is 3

The above was the result of RIGHT, BOTTOM, LEFT, TOP

I've been through most of the posts and tutorials on the forums here, but I'm now a little lost as to whether my remaining problems are related to my lircmap.xml/keymap.xml or my lirc.conf file.

[UPDATE]
I killed lirc:
#sudo /etc/init.d/lirc stop

Which resulted in the following message:

Quote: * Stopping remote control daemon(s): LIRC
...done.

Yet the remote continued to control XBMC as it did before.

What on earth is going on?
Reply
#2
Maybe this remote is detected by Linux as a keyboard/mouse. If so I guess lirc is not needed.
Reply
#3
Yeah, looks like it's a keyboard. I think finding out how to map the OnKey to do actions is what you should do. I'm not sure what the OnKey is though.
Reply
#4
there's a bunch of people all experiencing this and it's going to get worse.

I guess we've got to figure a way to get xbmc working with HID based remotes (i'm sure it already does, it's just all the current advice points to lirc), as the new kernel used in Jaunty seems to treat almost all devices this way. Maybe it's not a bad thing, just different.
Reply
#5
BTW: I have read that it is possible to hook up HID device to lirc.
(done in hardware.conf add the event in question and some other parameteres)

I am not sure that is the way to go though.
Reply
#6
Smile 
vikjon0 Wrote:BTW: I have read that it is possible to hook up HID device to lirc.
(done in hardware.conf add the event in question and some other parameteres)

I am not sure that is the way to go though.

indeed, that's my issue too - lirc is tried and tested (so i hear anyway), but these new working out of the box HID devices may turn out to be even easier to use once someone who knows what they're talking about makes a HOW_TO

Nerd
Reply
#7
Anastrophe Wrote:indeed, that's my issue too - lirc is tried and tested (so i hear anyway), but these new working out of the box HID devices may turn out to be even easier to use once someone who knows what they're talking about makes a HOW_TO

Nerd

what does dmesg say about the device? what's it being detected as?
Reply
#8
cat /proc/bus/input/devices

<snip>

I: Bus=0003 Vendor=06b4 Product=1c70 Version=0110
N: Name="HID 06b4:1c70"
P: Phys=usb0000:
00:1d.02/
input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/22/
22:
1.0/input/input10
U: Uniq=
H: Handlers=kbd mouse2 event9
B: EV=10001f
B: KEY=837fff 2c3027 bf004444 0 fffff ffffffff 10c04 a27c007 ffa67bfa d941dfff febeffdf ffefffff ffffffff fffffffe
B: REL=343
B: ABS=1 30000
B: MSC=10

and

sudo mount t
usbfs none /proc/bus/usb
cat /proc/bus/usb/devices
T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=06b4 ProdID=1c70 Rev= 2.00
C:* #Ifs= 1 Cfg#= 1 Atr=60 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
E: Ad=01(O) Atr=03(Int.) MxPS= 8 Ivl=10ms

hope that helps
Reply
#9
oh, not on the box now but I think this was the dmesg output that I logged:

[699592.452068] usb 22:
new low speed USB device using uhci_hcd and address 3
[699592.715112] usb 22:
string descriptor 0 read error: 61
[699592.760110] usb 22:
string descriptor 0 read error: 61
[699592.805112] usb 22:
string descriptor 0 read error: 61
[699592.845347] usb 22:
configuration #1 chosen from 1 choice
[699592.894108] usb 22:
string descriptor 0 read error: 61
[699592.969112] usb 22:
string descriptor 0 read error: 61
[699593.011172] input: HID 06b4:1c70 as /devices/pci0000:00/0000:00:1d.0/usb2/22/
22:
1.0/input/input10
[699593.026807] genericusb
0003:06B4:1C70.0002: input,hidraw0: USB HID v1.10 Keyboard [HID 06b4:1c70] on usb0000:
00:1d.02/
input0
[699593.088041] usb 22:
string descriptor 0 read error:
Reply
#10
johoja Wrote:what does dmesg say about the device? what's it being detected as?

I've never used dmesg before - the results are a little lengthy, but I think this is what you're looking for:

Code:
[    6.545392] input: HOLTEK     PC receiver  as /devices/pci0000:00/0000:00:06.0/usb4/4-5/4-5:1.0/input/input3
[    6.548199] generic-usb 0003:1241:E000.0001: input,hidraw0: USB HID v1.10 Keyboard [HOLTEK     PC receiver ] on usb-0000:00:06.0-5/input0
[    6.577934] input: HOLTEK     PC receiver  as /devices/pci0000:00/0000:00:06.0/usb4/4-5/4-5:1.1/input/input4
[    6.586137] generic-usb 0003:1241:E000.0002: input,hiddev96,hidraw1: USB HID v1.10 Mouse [HOLTEK     PC receiver ] on usb-0000:00:06.0-5/input1

Here's the full output of USB devices:

http://pastebin.com/m3e22219

One thing I don't get is that it seems to indicate the presence of an mceusb remote - or is it just indicating the presence of drivers for the remote?

[EDIT]

Similar to Anastrophe, I get the below output when running cat /proc/bus/input/devices


Code:
I: Bus=0003 Vendor=1241 Product=e000 Version=0110
N: Name="HOLTEK     PC receiver "
P: Phys=usb-0000:00:06.0-5/input0
S: Sysfs=/devices/pci0000:00/0000:00:06.0/usb4/4-5/4-5:1.0/input/input3
U: Uniq=
H: Handlers=kbd event3
B: EV=120013
B: KEY=10000 7 ff800000 7ff febeffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=1241 Product=e000 Version=0110
N: Name="HOLTEK     PC receiver "
P: Phys=usb-0000:00:06.0-5/input1
S: Sysfs=/devices/pci0000:00/0000:00:06.0/usb4/4-5/4-5:1.1/input/input4
U: Uniq=
H: Handlers=kbd mouse1 event4
B: EV=1f
B: KEY=837fff 2c3027 bf004444 0 0 1f001f c04 a27c000 267bfa d941dfed 9e0000 0 0 0
B: REL=143
B: ABS=7f01 0
B: MSC=10

So it seems to be registering as both a keyboard AND a mouse.
Reply
#11
OK, found what appears to be a solution, but I'd like some advice before applying it and completely borking my install:

From Space Station Lambda:

Quote:Nowadays USB HID remotes that act like a keyboard and mouse in one device seem to be popular.

At least I unknowingly got me one and then had problems getting it to run with LIRC.

Fortunately Chris Grove figured out how to make this work, after three weeks of fiddling.

Here’s the recipe.

These remotes register themselves as two HID devices, a keyboard and a mouse. Some keys it sends as keyboard, some as mouse. So first you need to find out which devices it will use:

cat /proc/bus/input/devices
Try to identify the devices and note down the event node name on the line where it says “Handlers”:

[...]
N: Name="HID 05a4:9881"
[...]
H: Handlers=kbd event7
[...]
N: Name="HID 05a4:9881"
[...]
H: Handlers=kbd mouse2 event8
[...]
So mine is at /dev/input/event7 and /dev/input/event8.

Now we need to run an lircd instance for both of them using the dev/input devices and link them. Here’s a script that does this:

Code:
#!/bin/sh

sudo lircd -Hdev/input -d/dev/input/event7 -o/dev/lircd1 \
  --pidfile=/var/run/lircd1.pid --listen

sudo lircd -Hdev/input -d/dev/input/event8 -o/dev/lircd \
  --pidfile=/var/run/lircd.pid --connect=localhost:8765

Done! Everything should work now.

My concern is that I don't really understand what these commands do - or how to fix them if they go wrong.

Additionally, I don't fully understand the whole /dev/ thing - lircd seems to currently be set to lircd0 so would I use this instead?
Reply
#12
Seems someone else has also attempted the above fix:

http://www.xbmc.org/forum/showthread.php...map&page=2

They got it to work, but I've had no such luck:
  • IRW is still blank
  • XBMC no longer responds to ANY commands from the remote

I did of course use the correct event numbers as per my previous post.

So it looks like there's two paths:

  1. Try and get LIRC to work with HID remotes (as per linked thread above)
  2. Try to directly map the remote as a HID device and ignore LIRC altogether

Considering that the rest of the world has great difficulty getting 'real' MCE remotes cheaply (my craptastic HID cost me $30, real MCE remotes start at around $50) it seems like there's a real need for a solution.
Reply
#13
I've given up on this approach, I've had no luck at all getting it to work.

I wound up buying a Hauppage 335, which worked out of the box with only a couple of minor issues I'm confident of solving.
Reply

Logout Mark Read Team Forum Stats Members Help
[LIVE] MCE remote problems0