[mythtv-users] Quick Install Debug (Was: mythtv LIRC remote infared help)

newbury newbury at mandamus.org
Tue Sep 5 22:31:00 UTC 2006

On Tue, 05 Sep 2006 15:57:56 -0500
Matt <mattiehg at gmail.com> wrote:

> R. G. Newbury wrote:
> >>does anyone know how to get LIRC to work in fedora 5, using IR port
> >>on pvr 150

> >
> If I'm not mistaken irw and (presumably) irrecord need the lirc daemon
> mode2 does not require lircd

I don't have lirc running on the laptop, but I have just re-installed
and set up mythtv on my machine at home. I'm fairly sure that irw and
irrecord do not use the lircd daemon. They take utput directly from the
lirc kernel module. 

Here's my (hard-earned) quick install debug sequence for Fedora (since
the lirc documentation is disgustingly obscure). This is for the
usual 'uses-a-kernel-module' situation:

1.	Check that you have the kernel SOURCES installed properly.
Run make menuconfig or make xconfig to test. (This is mentioned almost,
in passing, in the documentation)
2.	Run ./configure, make and make install on the lirc package
(Or use ./setup.sh and make and make install).
3.	Check that your kernel module (lirc_imon, for example) is in
lib/modules/`uname -r`/extra  (or /misc..can't rememnber offhand)
4	Check that 'alias char_major 61 lirc_imon' is the FIRST line
in modprobe.conf
5.	Check that you have added the correct lirc script
to /etc/init.d
6.	Do 'chkconfig --level 2345 lirc off'
7.	In case you have been playing around, or a prior version
has been installed, do 'service lirc stop'. The daemon
messes up the testing so kill it for now.
8.	Add file 10-lirc.rules to /etc/udev/rules.d/  This has the
line (going from memory!..KERNEL="lirc0" SYMLINK="lirc" GROUP="mythtv"
MODE="666"... It may be something like (error-alert!)
KERNEL ="lirc[0-9]" plus the other stuff instead. This command is
important as it makes the symlink, and sets the ownership and mode of
the socket.
9.	Re-boot. Then do 'lsmod | grep lirc'. You should see two
lines, lirc_imon and lirc_dev. If these do not exist, then modprobe is
not putting them into the kernel properly. Add line 'modprobe
lirc_imon' to /etc/rc.local' If you have to do this its also best to
add a further line 'service lirc restart' as well. If you cannot get
the module installed, then nothing else will work. If you get things
'working' but find that you have an error like 'Lircd is stopped but
subsys is locked' on running 'service lirc status', then you probably
have a module error, which crashes the daemon process, and leaves its
lock file hanging around. Run 'service lirc restart' to clean things up.
(You need to be root, or use sudo).
10.	If you had to add the modprobe to rc.local, try rebooting
again, and check for the modules with lsmod.
11.	Once you have the modules, check for /dev/lirc
and /dev/lirc0. If these do not exist, fix your udev rules file.
You must have the modules loaded and the /dev sockets in existence
before the daemon can do any work! The daemon takes input from
the /dev/lirc socket and passes it to programs using the /dev/lircd
(or /dev/lircmd) socket. The socket must be readable/writeable by
users. If you get 'permission denied' then you need to chmod the socket
and try again, as well as figure out why your udev rule does not work.
Note that modprobe -r lirc_imon followed by modprobe lirc_imon should
retrigger the udev subsystem.
12.	Use 'mode2 to see if the hardware can read your remote.
13.	Install the correct lircd.conf in /etc.
14.	Use irw to check if the system reports the correct
keypresses: match them against your lircrc file. Install the 
lircrc file in ~/.lircrc AND ~/.mythtv/lircrc (This latter will change
with the .20 version of Mythtv and only the first copy spot will be
required. The first is the default for xine,mplayer etc.
You may want to save a copy as /etc/lircrc.
15.	If you don't have a lircrc file, use irrecord to make one.

16.	NOW, do 'chkconfig --level 2345 lirc on' and 'service lirc
17.	Check for /dev/lircd socket.
18.	Start mythbackend and mythfrontend and test your remote.

Most reports of problems which I see relate to attempts to get the
daemon working, when the kernel module and/or the udev subsystem are
not set up correctly. Unfortunately, the result is an emphasis on
attempting to correct the wrong thing!



More information about the mythtv-users mailing list