Setting up a remote with XBMC
#1
Hello,

I've gone through all the information I could find on correctly setting up a remote control for use with XBMC and I must be missing just one small piece to the puzzle. Here's what I've got:

Fedora 13 32-bit installed on a Zotac ITX-F-E
Universal Remote (Vizio brand, using Popcorn Hour IR codes)
USB IR receiver, came with an MCE remote, lirc picks it up fine
Used irrecord to create the /etc/lirc/lircd.conf file (had to use the raw/manual mode)
Command "irw" displays that the remote is firing IR codes and the system is picking them up, like:

[root@localhost ~]# irw
0000000000000001 00 KEY_UP VizioRemote
0000000000000002 00 KEY_DOWN VizioRemote
0000000000000003 00 KEY_LEFT VizioRemote
0000000000000004 00 KEY_RIGHT VizioRemote
0000000000000006 00 KEY_PLAY VizioRemote

So that would seem to mean that the remote is working, the IR receiver is working, lirc is working, and the system is receiving the IR events (or am I wrong?)

I then edited an XML file for XBMC so that it knows how to work with the remote, adding the remote device:

<lircmap>
<remote device="VizioRemote">
<play>KEY_PLAY</play>
<stop>KEY_STOP</stop>
<up>KEY_UP</up>
<down>KEY_DOWN</down>
<select>KEY_ENTER</select>
</remote>
<remote device="mceusb">
......

I tried putting this file in ~/.xbmc/userdata/keymaps/Lircmaps.xml and also in /usr/local/share/xbmc/system/keymaps/Lircmaps.xml but every time I start XBMC and try the remote, I don't get anything, no apparent action for UP or DOWN, etc.

Any help is greatly appreciated.
Reply
#2
Lircmap is only one piece of the puzzle. Lircmap maps IR-buttons to XBMC button events. To make XBMC do anything you also have to map XBMC button events to XBMC actions using the remote.xml.

Check my HOWTO for details.
Reply
#3
Ah, that's for that link. I did not realize there were two files that had to be set up. I had followed several other tutorials and they each gave out different information, which was different again to the link you sent.

I set up everything according to the link you sent, both using the "Standard" remote and the "Universal". No go. Here's what I have:

irw still shows commands are being received, so I know that part is sound
I created ~/.xbmc/userdata/Lircmap.xml with this:

<lircmap>
<remote device="VizioRemote">
<obc1>KEY_PLAY</obc1>
<obc2>KEY_STOP</obc2>
<obc3>KEY_UP</obc3>
<obc4>KEY_DOWN</obc4>
<obc5>KEY_ENTER</obc5>
</remote>
</lircmap>

I then created ~/.xbmc/userdata/keymaps/remote.xml with this:

<keymap>
<global>
<universalremote>
<obc1>Play</obc1>
<obc2>Stop</obc2>
<obc3>Up</obc3>
<obc4>Down</obc4>
<obc5>Select</obc5>
</universalremote>
</global>
</keymap>

I then fire up xbmc on the command line, then try to use the remote to move up or down on the main menu (Videos, Music, etc). Nothing.

Any help is greatly appreciated, I feel like I'm right on the cusp.
Reply
#4
AlchoHelix Wrote:I then fire up xbmc on the command line, then try to use the remote to move up or down on the main menu (Videos, Music, etc). Nothing.

In most cases this a typo in the config files. Try to enable debug mode in System->System; restart XBMC and paste the logfile "~/.xbmc/temp/xbmc.log" on http://pastebin.com
Reply
#5
Ah, have log file will travel. I wish I would have known how to get a log file before, this makes things a lot easier.

I see in the log file that xbmc cannot connect to the LIRC device:

INFO: LIRC Initialize: using: /dev/lircd
INFO: LIRC Initialize: connect failed: No such file or directory

My LIRC device is actually: /dev/lirc0

Now I need to know how to tell xbmc where to find my device. I tried creating a symlink from lircd to lirc0, but then I get permission failures and I'm not quite sure what the permissions need to be on the symlink. Any thoughts?
Reply
#6
I noticed this post: http://forum.xbmc.org/showthread.php?p=414636

I took the same idea and modified my init script for LIRC so that it would have an output switch for /dev/lircd Now my remote is working. But, this is not a good solution, because when LIRC gets updated on the system, there's the possibility that the init script will get wiped out and thus the lircd device. I still need a way to let xbmc know that the device for LIRC should be lirc0

I'm assuming there are lots of people that will have the same problem as I did, so maybe once we find the solution the excellent tutorial link you gave me in the beginning can be updated to help future users.
Reply
#7
AlchoHelix Wrote:INFO: LIRC Initialize: using: /dev/lircd
INFO: LIRC Initialize: connect failed: No such file or directory

My LIRC device is actually: /dev/lirc0

No, it's not. /dev/lirc0 is the hardware device driver (of your infrared receiver) and /dev/lircd is the communication device of the lirc DAEMON. That's where all applications connect to, to read incoming button events. To prevent this confusion some Linux distributions use /var/run/lircd for the daemon device.

If I remember correctly you can also set the lirc daemon device in /etc/lirc/hardware.conf. That shouldn't be wiped by an update.
Reply
#8
Yes, you are totally right, /dev/lirc0 is not the communications device (I later noticed when trying to use irw and /dev/lirc0 not working).

Thanks for you're help, everything is working great now.
Reply

Logout Mark Read Team Forum Stats Members Help
Setting up a remote with XBMC0