[mythtv-users] mythfrontend not seeing lircd; irw works

Marc drayson at net1plus.com
Thu Oct 11 13:29:42 UTC 2007


I've got LIRC installed and working perfectly with irw.

I run mythfrontend (compiled with LIRC support) as "mythtv" and my files
are installed into /home/mythtv/.mythtv/lirc.  Here's all my details:

I have my lirc as ~/.mythtv/lircrc and links to it from various other
names and places (just to make sure!)

lrwxrwxrwx 1 mythtv 14 2007-09-22 11:53 /home/mythtv/lircrc ->
.mythtv/lircrc
lrwxrwxrwx 1 mythtv 15 2007-09-22 11:54 /home/mythtv/.lircrc ->
.mythtv/.lircrc
lrwxrwxrwx 1 mythtv 6 2007-09-22 11:53 /home/mythtv/.mythtv/.lircrc ->
lircrc
-rw-r--r-- 1 mythtv 2.6K 2007-09-29 16:07 /home/mythtv/.mythtv/lircrc


:cat /home/mythtv/.mythtv/lircrc
begin
    prog = mythtv
    button = Go
    config = M
end

begin
    prog = mythtv
    button = Power
    config = Esc
end

# TV
# Videos
# Music
# Pictures
# Guide
# Radio

begin
    prog = mythtv
    button = Up
    repeat = 3
    config = Up
end

begin
    prog = mythtv
    button = Left
    repeat = 3
    config = Left
end

begin
    prog = mythtv
    button = Right
    repeat = 3
    config = Right
end

begin
    prog = mythtv
    button = Down
    repeat = 3
    config = Down
end

<rest removed for brevity>

:lircd -v
lircd 0.8.3-CVS


:mythfrontend --version
Library API version     : 0.20.20070821-1
Source code version     : exported
SVN Branch              : tags/release-0-20-2
Options compiled in:
linux release using_v4l using_oss using_alsa using_arts using_ivtv
using_dbox2 using_hdhr using_ip_rec using_freebox using_live using_lirc
using_joystick_menu using_x11 using_xv using_xrandr using_frontend
using_backend using_bindings_perl


irw works perfectly.

:irw
0000000000001794 00 Up Hauppauge_350
0000000000001794 01 Up Hauppauge_350
0000000000001796 00 Left Hauppauge_350
0000000000001796 01 Left Hauppauge_350
0000000000001795 00 Down Hauppauge_350
0000000000001795 01 Down Hauppauge_350
0000000000001797 00 Right Hauppauge_350


Here's the last of my lircd log file (I'm using the -D7 option) from the
run above:

:cat /var/log/lircd
...
Sep 29 17:13:33 mythbe1 lircd: trying "Hauppauge_350" remote
Sep 29 17:13:33 mythbe1 lircd: pending pulse: 0
Sep 29 17:13:33 mythbe1 lircd: pending space: 0
Sep 29 17:13:33 mythbe1 lircd: <s734815
Sep 29 17:13:33 mythbe1 lircd: sync
Sep 29 17:13:33 mythbe1 lircd: pending pulse: 1097
Sep 29 17:13:33 mythbe1 lircd: expecting space: 811
Sep 29 17:13:33 mythbe1 lircd: <p981
Sep 29 17:13:33 mythbe1 lircd: pending pulse: 0
Sep 29 17:13:33 mythbe1 lircd: <s804
Sep 29 17:13:33 mythbe1 lircd: pending pulse: 969
Sep 29 17:13:33 mythbe1 lircd: 1
...
...
Sep 29 17:13:33 mythbe1 lircd: code: 1797
Sep 29 17:13:33 mythbe1 lircd: <p924
Sep 29 17:13:33 mythbe1 lircd: pending pulse: 0
Sep 29 17:13:33 mythbe1 lircd: sum: 23940
Sep 29 17:13:33 mythbe1 lircd: timeout: 63466
Sep 29 17:13:33 mythbe1 lircd: found: Right
Sep 29 17:13:33 mythbe1 lircd: writing to client 0
Sep 29 17:13:58 mythbe1 lircd: removed client

When I start mythfrontend, I expected to see "adding client" msgs and
when I shut the frontend down I expected to see "removed client"
messages (along with the keypress data), but I see nothing in my lircd
logs that indicates it recognized mythfrontend was started or stopped.


Here's my mythfrontend output:

:mythfrontend
Xlib:  extension "XInputExtension" missing on display ":1.0".
Failed to get list of devices
2007-09-29 17:16:43.412 Using runtime prefix = /usr/local
2007-09-29 17:16:43.415 DPMS is not supported.
2007-09-29 17:16:43.421 New DB connection, total: 1
2007-09-29 17:16:43.424 Connected to database 'mythconverg' at host: mythbe1
2007-09-29 17:16:43.425 Total desktop dim: 1152x864, with 1 screen[s].
2007-09-29 17:16:43.425 Using screen 0, 1152x864 at 0,0
2007-09-29 17:16:43.429 Current Schema Version: 1160
2007-09-29 17:16:43.430 mythfrontend version: 0.20.20070821-1 www.mythtv.org
2007-09-29 17:16:43.430 Enabled verbose msgs:  important general
DisplaResX: Unable to XRRgetScreenInfo
DisplaResX: Unable to XRRgetScreenInfo
2007-09-29 17:16:43.544 Total desktop dim: 1152x864, with 1 screen[s].
2007-09-29 17:16:43.545 Using screen 0, 1152x864 at 0,0
2007-09-29 17:16:43.545 Switching to square mode (Retro)
2007-09-29 17:16:43.550 Using the Qt painter
2007-09-29 17:16:43.676 Joystick disabled.
2007-09-29 17:16:44.121 Loading from:
/usr/local/share/mythtv/themes/default/base.xml
2007-09-29 17:16:44.264 Registering Internal as a media playback plugin.
2007-09-29 17:16:44.269 Starting media monitor.
2007-09-29 17:16:46.578 Connecting to backend server: 192.168.0.20:6543
(try 1 of 5)
2007-09-29 17:16:46.579 Using protocol version 31


And I am running as "mythtv"...

:id
uid=500(mythtv) gid=500(mythtv) groups=4(adm),500(mythtv)


It appears mythfrontend was compiled with LIRC support as I requested:

:which mythfrontend
/usr/local/bin/mythfrontend


:ldd /usr/local/bin/mythfrontend
        linux-gate.so.1 =>  (0x00110000)
        libmythtv-0.20.2.so.0 => /usr/local/lib/libmythtv-0.20.2.so.0
(0x0024a000)
        libmythavformat-0.20.2.so.0 =>
/usr/local/lib/libmythavformat-0.20.2.so.0 (0x00111000)
        libmythavutil-0.20.2.so.0 =>
/usr/local/lib/libmythavutil-0.20.2.so.0 (0x00193000)
        libmythavcodec-0.20.2.so.0 =>
/usr/local/lib/libmythavcodec-0.20.2.so.0 (0x00d44000)
        libmythfreemheg-0.20.2.so.0 =>
/usr/local/lib/libmythfreemheg-0.20.2.so.0 (0x00199000)
        libmythupnp-0.20.2.so.0 =>
/usr/local/lib/libmythupnp-0.20.2.so.0 (0x03672000)
        libmythlivemedia-0.20.2.so.0 =>
/usr/local/lib/libmythlivemedia-0.20.2.so.0 (0x059de000)
        libmyth-0.20.2.so.0 => /usr/local/lib/libmyth-0.20.2.so.0
(0x011a6000)
        libmythui-0.20.2.so.0 => /usr/local/lib/libmythui-0.20.2.so.0
(0x05744000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x04c13000)
        libmp3lame.so.0 => /usr/local/lib/libmp3lame.so.0 (0x05594000)
        libasound.so.2 => /lib/libasound.so.2 (0x06459000)
        libartsc.so.0 => /usr/lib/libartsc.so.0 (0x00217000)
        libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0x0021d000)
        libdl.so.2 => /lib/libdl.so.2 (0x00220000)
        libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x00225000)
        librt.so.1 => /lib/librt.so.1 (0x05d99000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x056a2000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x0022a000)
        libXv.so.1 => /usr/lib/libXv.so.1 (0x04bce000)
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x05d5c000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x04d87000)
        libqt-mt.so.3 => /usr/lib/qt-3.3/lib/libqt-mt.so.3 (0x02000000)
        libGLU.so.1 => /usr/lib/libGLU.so.1 (0x05354000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0x01477000)
        libXmu.so.6 => /usr/lib/libXmu.so.6 (0x06141000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x04c01000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x01518000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x04d24000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x05bfa000)
        libm.so.6 => /lib/libm.so.6 (0x04e56000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x04b06000)
        libc.so.6 => /lib/libc.so.6 (0x0161a000)
        liblirc_client.so.0 =>
/usr/local/lib/liblirc_client.so.0(0x04be0000)
        /lib/ld-linux.so.2 (0x0022d000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x04d7c000)
        libmng.so.1 => /usr/lib/libmng.so.1 (0x045a2000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x043ec000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x04d3e000)
        libz.so.1 => /lib/libz.so.1 (0x04392000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x04da3000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x04d97000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0x04deb000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x04ce9000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x04cc2000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x04ccd000)
        libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x037b9000)
        libnvidia-tls.so.1 => /usr/lib/tls/libnvidia-tls.so.1 0x0432c000)
        libXt.so.6 => /usr/lib/libXt.so.6 (0x0618c000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x04332000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x04344000)
        liblcms.so.1 => /usr/lib/liblcms.so.1 (0x04dae000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x04d90000)
        libexpat.so.0 => /lib/libexpat.so.0 (0x04c9f000)

:ls -al /usr/local/lib/liblirc_client.so.0
lrwxrwxrwx 1 root 23 2007-09-29 13:55 /usr/local/lib/liblirc_client.so.0
-> liblirc_client.so.0.2.0*

:ls -al /usr/local/lib/liblirc_client.so.0.2.0
-rwxr-xr-x 1 root 48K 2007-09-29 13:55
/usr/local/lib/liblirc_client.so.0.2.0*

So - any clue why lircd isn't seeing mythfrontend and vice versa?

Thanks,
Jay



_______________________________________________

Lirc is not seeing myth cause it never will and never has..
Myth is not seeing the lirc events on your systems because of how your conf
files are setup.

First we have your lircrc file
begin
    prog = mythtv
    button = Up
    repeat = 3
    config = Up
end

What this means is that myth is looking for 3 consecutive "Up" commands from
lirc before it will do anything.
If we look at your irw output 
0000000000001794 00 Up Hauppauge_350
0000000000001794 01 Up Hauppauge_350

What lirc is sending is 2 "Up Hauppauge_350" commands.
So, not only is lirc not sending enough consecutive commands the command
that is being sent is wrong.

You can fix this several ways. The simplest is to look at your
/etc/lircd.conf file and find your commands
Example here is mine
          UP                       0x00000000A10C2807
          LEFT                     0x00000000A10CE807
          RIGHT                    0x00000000A10CA807
          DOWN                     0x00000000A10C6807

Next open lircrc and correct the commands
begin
        prog = mythtv
        button = UP
        repeat = 4
        config = Up
end

begin
        prog = mythtv
        button = LEFT
        repeat = 4
        config = Left
end

begin
        prog = mythtv
        button = RIGHT
        repeat = 4
        config = Right
end

begin
        prog = mythtv
        button = DOWN
        repeat = 4
        config = Down
end

Adjust the button to match what the command is in the lircd.conf file.
Adjust the repeat line to match the number of repeats you see in irw when
you press the button on your remote once.

_______________________________________________

OK, Disregard my drivel about the "Up Hauppauge_350"
However.. your IRW output shows only 2 repeats so you have to modify your
lircrc to have repeat = 2




More information about the mythtv-users mailing list