[mythtv-users] lirc_serial move to serial_ir nightmare in kernel 4.12

Alec Leamas leamas.alec at gmail.com
Tue Aug 22 19:38:26 UTC 2017



On 22/08/17 21:26, Tom Dexter wrote:
> On Tue, Aug 22, 2017 at 2:48 PM, Alec Leamas <leamas.alec at gmail.com> wrote:
>>
>>
>> On 22/08/17 18:15, Tom Dexter wrote:
>>
>>> It actually proves that everything up to, but excluding, the actual
>>> decoding of the IR data, is working. I'm going to do some tests with
>>> irrecord to see what it's actually getting. I have a feeling that it's
>>> just not decoding properly from some issue with ir-lirc-codec.
>>
>>
>> You have noted that here are two paths, right? One which uses the kernel
>> decoding (ir-lirc-codec etc), an event device and the devinput driver. And
>> one bypassing the kernel decoding, using the /dev/lirc0 device and the
>> default driver? And that the latter part requires that the kernel decoding
>> is disabled i. e., that only the lirc protocol is enabled in the
>> /sys/class/rc/rc0 device?
>>
>>
>> Cheers!
>>
>> --alec
> 
> Wow...I'm a bit confused, but this may be the whole issue. If you're
> saying that the latter...that is the use of /dev/lirc0 and the default
> driver...should NOT be using ir-lirc-codec at all, and should be
> bypassing the kernel decoding, then that's clearly my problem right
> there. However it brings up the other issue I mentioned in the first
> post:
> 
> When I first enabled serial_ir in the kernel (IR_SERIAL, which I
> enabled built in, and not as a module), I didn't get ANY /dev/lirc0
> device at all. The only way I could get it to create /dev/lirc0 was by
> enabling IR_LIRC_CODEC, which seemed odd. If I'm understanding what
> you're saying correctly, then that was clearly a mistake. However I'd
> also need to know why I'd get no /dev/lirc0 with SERIAL_IR enabled
> directly in the kernel.
> 
> OGM...I think I may have just figured it out. I probably shouldn't
> have RC_DECODERS enabled at all should I. Would that prevent
> /dev/lirc0 from getting created without enabling a decoder?


This is basically an internal kernel/driver issue above my paygrade. 
IIRC, most drivers actually create the /dev/lircX device when loaded, 
but only send data to it if the lirc protocol is enabled in 
/sys/class/rc/rc0/protocols.

When so, the other protocols should be disabled - if not for other 
reasons, anything decoded by the kernel is just a pain when using the 
lircd decoding.


Cheers!
--alec


More information about the mythtv-users mailing list