[mythtv-users] lircd unreliable after Ubuntu upgrade 16.04 > 18.04

Zach Cutlip uid000 at gmail.com
Sat Mar 16 02:15:04 UTC 2019


Hi Stephen

Thanks for the additional advice.

I checked the things you suggested.

- My mythfrontend was configured to look for its lircd socket in
/var/run/lirc/lircd, so it was finding that with no problem. I added
your systemd service descriptor though, just in case.
- My lircrc for myth maps the buttons to the remote name as defined in
lircd.conf.d. In my case, I have:

begin remote
  name  Tivo_S2

So my lircrc buttons all are for "remote = Tivo_S2".

I tried changing a few of those to "default" to correlate to
lirc_options.conf as you suggested. Those buttons stopped working
altogether until I changed them back.

Here's a thing I did notice however: If I run irw while interacting
with MythTV, I see that irw sees about 90% of the button presses (not
perfect, but much better), even while mythrontend is only responding
to about 60%. In fact there are many times when myth doesn't respond
at all, but irw clearly saw the button presses. I feel like there's
some issue with mythfrontend. I checked settings in the frontend
configuration and didn't see anything significant.

Does this give any ideas?

Thanks,
Zach

On Thu, Mar 14, 2019 at 7:20 PM Stephen Worthington
<stephen_agent at jsw.gen.nz> wrote:
>
> On Thu, 14 Mar 2019 14:38:00 -0700, you wrote:
>
> >On Wed, Mar 13, 2019 at 7:29 PM Stephen Worthington
> ><stephen_agent at jsw.gen.nz> wrote:
> >>
> >> On Wed, 13 Mar 2019 21:24:18 +0100, you wrote:
> >>
> >> >On 13/03/19 19:05, Allen Edwards wrote:
> >> >>
> >> >>
> >> >>
> >> >> On Wed, Mar 13, 2019 at 10:48 AM Zach Cutlip <uid000 at gmail.com
> >> >> <mailto:uid000 at gmail.com>> wrote:
> >> >>
> >> >>     Hello,
> >> >>
> >> >>     After upgrading my MythTV setup from Ubuntu 16.04 (lirc 0.9.0) to
> >> >>     Ubuntu 18.04 (lirc 0.10.0), and jumping through various hoops to get
> >> >>     lircd working again, I'm finding it to be very unreliable.
> >> >>
> >> >>     Any suggestions, or things to try?
> >> >
> >> >
> >> >Most likely an upgrade problem. The upgrade to 0.9.0 requires manual
> >> >intervention [1]
> >> >
> >> >Cheers!
> >> >--alec
> >> >
> >> >
> >> >[1] https://bugs.launchpad.net/ubuntu/+source/lirc/+bug/1791409
> >>
> >> The lirc package as installed by 18.04 is broken.  There are a number
> >> of problems with it, but the one that is most obvious is that
> >> lirc-setup does not work at all (it can not find required library .so
> >> files).  Your problem sounds like one of the other problems, which is
> >> that it sets up systemd to run lircmd, lirc-uinput and irexec as
> >> daemons, but does not set up valid configuration for those daemons. So
> >> they run in the background and one (I think it is lircd-uinput) steals
> >> keystrokes from the main lirc daemon.  So try running these commands
> >> and see if it fixes your problem:
> >>
> >> sudo systemctl stop lircmd
> >> sudo systemctl stop lirc-uinput
> >> sudo systemctl stop irexec
> >> sudo systemctl disable lircmd
> >> sudo systemctl disable lirc-uinput
> >> sudo systemctl disable irexec
> >>
> >> Alternatively, if you want to fix all the problems I found in 18.04's
> >> lirc package, you can download and run the script I wrote:
> >>
> >> http://www.jsw.gen.nz/mythtv/lirc-ubuntu-18.04-install.sh
> >>
> >> It fixes lirc-setup, the above problems and probably a few more I have
> >> forgotten about.  It needs to be run with sudo or as root.  I am a bit
> >> surprised that your lirc is working at all - the 16.04 to 18.04
> >> upgrade does not normally produce a working lirc setup, so you must
> >> have done a lot of manual configuration.
> >
> >Hi Stephen,
> >
> >You are right; I didn't have a working lirc setup at all after
> >upgrade. I had to troubleshoot quite a bit to get it working again
> >even to the degree that it is.
> >
> >I don't think any of these are running:
> >
> > $ ps -ef | grep -E 'lircmd|lircd-uinput|irexec'
> >knath    12295 11492  0 14:24 pts/1    00:00:00 grep -E
> >lircmd|lircd-uinput|irexec
> >$ ps -ef | grep lirc
> >root     12435     1  0 14:29 ?        00:00:00 /usr/sbin/lircd --nodaemon
> >
> >I stopped & disabled the services just in case though.
> >
> >Is there anything else I can check, or diagnosis I can do?
> >
> >Here's my lirc_options.conf if it helps:
> >
> >[lircd]
> >nodaemon        = False
> ># driver          = devinput
> >driver          = default
> ># device          = auto
> >device          = /dev/lirc0
> >output          = /var/run/lirc/lircd
> >pidfile         = /var/run/lirc/lircd.pid
> >plugindir       = /usr/lib/i386-linux-gnu/lirc/plugins
> >permission      = 666
> >allow-simulate  = No
> >repeat-max      = 600
> >#effective-user =
> >#listen         = [address:]port
> >#connect        = host[:port]
> >#loglevel       = 6
> >#release        = true
> >#release_suffix = _EVUP
> >#logfile        = ...
> >#driver-options = ...
> >
> >[lircmd]
> >uinput          = False
> >nodaemon        = False
> >
> ># [modinit]
> ># code = /usr/sbin/modprobe lirc_serial
> ># code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput
> ># code2 = ...
> >
> >
> ># [lircd-uinput]
> ># add-release-events = False
> ># release-timeout    = 200
> ># release-suffix     = _EVUP
> >
> >And here's the start to my lircd remote definition, which has always
> >worked perfectly until now:
> >
> >begin remote
> >
> >  name  Tivo_S2
> >  bits           32
> >  flags SPACE_ENC|CONST_LENGTH
> >  eps            20
> >  aeps          200
> >
> >  header       9000  4500
> >  one           562  1687
> >  zero          562   562
> >  ptrail        562
> >  repeat       9000  2250
> >  gap          108000
> >  min_repeat      1
> >  toggle_bit      0
> >
> >  frequency    38000
> >
> >      begin codes
> >          TIVO                     0x00000000A10CE00F
> >          TV_POWER                 0x00000000A10C0807
> >          TV_INPUT                 0x00000000A10C2C03
> >          WINDOW                   0x00000000A10C220D
> >          LIVE_TV                  0x00000000A10C8807
> >          INFO                     0x00000000A10CC807
> >          GUIDE                    0x00000000A10C6C03
> >          UP                       0x00000000A10C2807
> >          LEFT                     0x00000000A10CE807
> >          RIGHT                    0x00000000A10CA807
> >          DOWN                     0x00000000A10C6807
>
> That looks OK, but check that your lirc hardware is actually appearing
> as the /dev/lirc0 device.
>
> However, MythTV looks for a /dev/lircd device for the keystroke
> outputs from the lirc daemon.  Do you have that?  I had to link the
> default lirc output device (/var/run/lirc/lircd) to /dev/lircd to make
> it work, as I could not find any way to configure MythTV to use the
> new location for the lirc output device, and changing the setting in
> lirc_options.conf made other programs unable to work with lirc.  If
> you look at my script, you will find that it creates a
> lircd-dev.service file in /etc/systemd/system to do this automatically
> when the lirc daemon is started:
>
> root at mypvr:/etc/systemd/system# cat lircd-dev.service
> [Unit]
> Description=Create the /dev/lircd device (linked to /run/lirc/lircd)
> as required by MythTV.
> After=lircd.service
>
> [Service]
> Type=simple
> ExecStart=/bin/bash -c "ln -s /run/lirc/lircd /dev/lircd"
>
> [Install]
> WantedBy=multi-user.target
>
> Note that /var/run/ is a link to /run, so /run/lirc/lircd is the same
> as /var/run/lirc/lircd in the lirc_options.conf file.
>
> Also, check your MythTV .lircrc files:
>
> root at mypvr:/home/stephen# cat .lircrc
> #Custom lircrc generated via mythbuntu-lirc-generator
> #All application specific lircrc files are within ~/.lirc
> include ~/.lirc/mythtv
> include ~/.lirc/mplayer
> include ~/.lirc/xine
> include ~/.lirc/vlc
> include ~/.lirc/xmame
> include ~/.lirc/xmess
> include ~/.lirc/totem
> include ~/.lirc/elisa
> include ~/.lirc/irexec
>
> root at mypvr:/home/stephen# head -n 24 .lirc/mythtv
> # lircrc for devinput with Hauppauge Nova TD-500 and Hauppauge
> HVR-900R2 remotes (with lirc 0.9.0),
> # and MCE remotes.
>
> # Save it in ~/.lircrc
>
> begin
>     remote = devinput
>     prog = mythtv
>              # Guide key
>     button = KEY_EPG
> #    config = S
>     config = Ctrl+Alt+G
>     repeat = 0
>     delay = 0
> end
>
> begin
>     remote = devinput
>     prog = mythtv
>     button = KEY_EXIT
>     config = Escape
>     repeat = 0
>     delay = 0
> end
>
> To work in your setup, all the entries for MythTV (with prog=mythtv
> lines) will have to have the remote= lines set to match the driver=
> setting in your lirc_options.conf file.  So they should have "remote =
> default", where mine have "remote = devinput".
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-users
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org



-- 
:wq!


More information about the mythtv-users mailing list