Re: Weirdness when trying to send commands to a Samsung TV

Sahbi via LIRC-list <[email protected]> Tue, 5 Nov 2019 22:35:52 +0100
Newsgroups gmane.comp.hardware.lirc
Message-ID <[email protected]>
Using a gap value lower than 80000 only results in "transmission failed" 
or "buffer too small" errors, anything >= 80k and <= 150k unfortunately 
doesn't make a difference either.

I checked both lircd -h and man lircd and I don't see any mention of 
increased verbosity for logging. Also apparently OSMC recently updated 
their distro to use kernel 4.19.55-6 but upgrading to that too doesn't help.

I personally don't like having a GUI on my Linux boxes, so I don't think 
I can use IrScrutinizer at all? I ran mode2 (without -m because I think 
that gives a bit less information) to capture the output of a SEND_ONCE 
for volume down from Pi A:
pulse 4571
space 4543
pulse 646
space 1540
pulse 581
space 1701
pulse 631
space 1646
pulse 589
space 541
pulse 523
space 620
pulse 500
space 620
pulse 505
space 595
pulse 555
space 568
pulse 555
space 1723
pulse 556
space 1672
pulse 545
space 1736
pulse 506
space 623
pulse 551
space 513
pulse 609
space 491
pulse 581
space 621
pulse 501
space 676
pulse 424
space 1743
pulse 559
space 1703
pulse 526
space 564
pulse 581
space 1672
pulse 530
space 646
pulse 501
space 622
pulse 505
space 622
pulse 504
space 706
pulse 445
space 615
pulse 505
space 674
pulse 474
space 1669
pulse 529
space 621
pulse 530
space 1700
pulse 536
space 1724
pulse 542
space 1742
pulse 498
space 1678
pulse 690
timeout 134663

Also, I tried compiling from git just to be sure and ran it with the 
-Dtrace1 option. Even then the TV does not respond, other devices still 
work fine however.
lircd-0.11.0-devel[18769]: Trace1: lircd:  Opening log, level: Trace1
lircd-0.11.0-devel[18769]: Debug: No systemd fd found
lircd-0.11.0-devel[18769]: Warning: Running as root
lircd-0.11.0-devel[18769]: Trace: started server socket
lircd-0.11.0-devel[18769]: Trace1: parsing '/usr/local/etc/lirc/lircd.conf'
lircd-0.11.0-devel[18769]: Trace1: parsing 
'/usr/local/etc/lirc/lircd.conf.d/adge_rm501_hdmiswitch.conf'
lircd-0.11.0-devel[18769]: Trace: parsing remote
lircd-0.11.0-devel[18769]: Trace1: creating first remote
lircd-0.11.0-devel[18769]: Info: Using remote: adge_rm501_hdmiswitch.
lircd-0.11.0-devel[18769]: Trace1: flags value: 1
lircd-0.11.0-devel[18769]: Trace1:     begin raw_codes
lircd-0.11.0-devel[18769]: Trace1:     end raw_codes
lircd-0.11.0-devel[18769]: Trace1: end remote
lircd-0.11.0-devel[18769]: Trace: lengths: 166501 166623 97201 97201
lircd-0.11.0-devel[18769]: Trace1: parsing 
'/usr/local/etc/lirc/lircd.conf.d/dymond_ledstrip.conf'
lircd-0.11.0-devel[18769]: Trace: parsing remote
lircd-0.11.0-devel[18769]: Trace1: creating first remote
lircd-0.11.0-devel[18769]: Info: Using remote: dymond_ledstrip.
lircd-0.11.0-devel[18769]: Trace1: flags value: 16385
lircd-0.11.0-devel[18769]: Trace1:     begin raw_codes
lircd-0.11.0-devel[18769]: Trace1:     end raw_codes
lircd-0.11.0-devel[18769]: Trace1: end remote
lircd-0.11.0-devel[18769]: Trace: lengths: 107391 107391 40653 40728
lircd-0.11.0-devel[18769]: Trace1: parsing 
'/usr/local/etc/lirc/lircd.conf.d/jvc_mxkc68_stereo.conf'
lircd-0.11.0-devel[18769]: Trace: parsing remote
lircd-0.11.0-devel[18769]: Trace1: creating first remote
lircd-0.11.0-devel[18769]: Info: Using remote: jvc_mxkc68_stereo.
lircd-0.11.0-devel[18769]: Trace1: flags value: 20496
lircd-0.11.0-devel[18769]: Trace1:     begin codes
lircd-0.11.0-devel[18769]: Trace1:     end codes
lircd-0.11.0-devel[18769]: Trace1: end remote
lircd-0.11.0-devel[18769]: Trace: lengths: 45899 45899 13875 21701
lircd-0.11.0-devel[18769]: Trace1: parsing 
'/usr/local/etc/lirc/lircd.conf.d/samsung_lt22c300_tv.conf'
lircd-0.11.0-devel[18769]: Trace: parsing remote
lircd-0.11.0-devel[18769]: Trace1: creating first remote
lircd-0.11.0-devel[18769]: Info: Using remote: samsung_lt22c300_tv.
lircd-0.11.0-devel[18769]: Trace1: flags value: 16400
lircd-0.11.0-devel[18769]: Trace1:     begin codes
lircd-0.11.0-devel[18769]: Trace1:     end codes
lircd-0.11.0-devel[18769]: Trace1: end remote
lircd-0.11.0-devel[18769]: Trace: lengths: 108723 108723 47203 47203
lircd-0.11.0-devel[18769]: Trace: lengths: 166501 166623 97201 97201
lircd-0.11.0-devel[18769]: Trace: lengths: 107391 107391 40653 40728
lircd-0.11.0-devel[18769]: Trace: lengths: 45899 45899 13875 21701
lircd-0.11.0-devel[18769]: Trace: lengths: 108723 108723 47203 47203
lircd-0.11.0-devel[18769]: Trace: config file read
lircd-0.11.0-devel[18769]: Notice: lircd(default) ready, using 
/usr/local/var/run/lirc/lircd
lircd-0.11.0-devel[18769]: Trace: registering local client
lircd-0.11.0-devel[18769]: Notice: accepted new client on 
/usr/local/var/run/lirc/lircd
lircd-0.11.0-devel[18769]: Debug: Cannot open protocol file: 
/sys/class/rc/rc0/protocols for read
lircd-0.11.0-devel[18769]: Info: Cannot configure the rc device for 
/dev/lirc0
lircd-0.11.0-devel[18769]: Trace: driver supports sending
lircd-0.11.0-devel[18769]: Trace: received command: "SEND_ONCE 
samsung_lt22c300_tv KEY_VOLUMEDOWN"
lircd-0.11.0-devel[18769]: Debug: Sending once, msg: SEND_ONCE 
samsung_lt22c300_tv KEY_VOLUMEDOWN
, args: samsung_lt22c300_tv KEY_VOLUMEDOWN, once: 1
lircd-0.11.0-devel[18769]: Debug: Sending success
lircd-0.11.0-devel[18769]: Info: removed client

I did notice the warning about configuring the rc device but since the 
other devices work fine I don't think it's all that important?

Also, I may as well post my lirc_options.conf but the contents are 
pretty much the same as on Pi B (except for the /usr/local bits of course):
[lircd]
nodaemon        = False
driver          = default
device          = /dev/lirc0
output          = /usr/local/var/run/lirc/lircd
pidfile         = /usr/local/var/run/lirc/lircd.pid
plugindir       = /usr/local/lib/lirc/plugins
permission      = 666
allow-simulate  = No
repeat-max      = 600

On 05/11/19 17:04, Bengt Martensson wrote:
> The config file looks good. It uses the NECx2 protocol, and it is 
> compatible with for example the file at ControlTower, Samsung TV,
> "Most models". And since you can use it with the RPi B, it must be 
> that the used Lirc version (Alec would add "or kernel") on RPi A that 
> is the culprit. Based on my previous experience, I would consider the 
> gap between the signals as most likely. For this, you can try to 
> change "gap", say from 30000 to 150000 in steps of 10000.
>
> You can also capture the output of RPi A using RPi B using either 
> IrScrutinizer (use /dev/lirc as hardware) or mode2 (NOT lircd), and 
> post the results here.
>
> I am pretty sure that Lirc 0.9.0 also has almost the same 
> debugging/tracing as the current, just that the options are named 
> differently. Use e.g. git on Sourceforge to browse the code, or try 
> man lircd on RPi A.