2016-12-29 17:00:44

by wim

[permalink] [raw]
Subject: lirc bug in kernel 4.10-rc1

L.S.,

after appearance of kernel-4.10-rc1 two days ago I was pleasantly surprised
to find a question about lirc_serial in 'make oldconfig':

Homebrew Serial Port Receiver (IR_SERIAL) [N/m/?] (NEW) m
Serial Port Transmitter (IR_SERIAL_TRANSMITTER) [Y/n/?] y

I was used to 'lirc_serial: module is from the staging directory, the quality
is unknown, you have been warned.'
This always worked perfectly fine with the last working version of lirc: 0.9.0-rc6.
Would things finally get better now? NO!

In kernel-4.10-rc1 lirc_serial has been removed from staging. It has vanished
completely. If it were only renamed to serial_ir there would be no problem.
I just change the modules parameters
options lirc_serial irq=4 io=0x3f8 type=0 txsense=0 softcarrier=0 debug=1
to
options serial_ir irq=4 io=0x3f8 type=0 txsense=0 softcarrier=0 debug=1
and it should work, isn't it?
(Oh, whell, the kernel stuff has no option 'debug'..)

Serial_ir loads without useful messages.
Lirc_dev does not get loaded with it. Loading it manually or not doesn't
make any difference.
Irsend will not work. 'hardware does not support sending'


There's another bug of which I don't know wether it is a kernel issue or a
lirc issue.
On kernel 4.9 (and below) lirc compiles modules lirc_serial and lirc_dev
which work equally well as the in-kernel modules lirc-serial and lirc_dev.
You may even exchange them independently. The only difference is that the
lirc version knows about the parameter 'debug'.

When I let /usr/src/linux point to 4.10-rc1, then the exact same source of
lirc does not compile the transmitter part and things don't work!
So using the lirc modules is not even an alternative anymore.
Did I miss something?

(For lirc-0.9.0 you'll need a missing patch for the vanished f_dentry stuff
in the kernel source.)

Regards, Wim.