lirc is making a loop when is loaded, and it doesn't work
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lirc (Ubuntu) |
Fix Released
|
Undecided
|
Mario Limonciello |
Bug Description
Binary package hint: lirc
Well, I've installed lirc, and I've configured it with dpkg. This happens when the configuration is for the it_87 module (which is the module for my hardware), but not with other modules:
rrr@m-laptop:~# /etc/init.d/lirc start
* Loading LIRC modules [ OK ]
timeout waiting for devices to be ready
* Unable to load LIRC kernel modules. Verify your
* selected kernel modules in /etc/lirc/
rrr@m-laptop:~# /etc/init.d/lirc restart
* Stopping remote control daemon(s): LIRC [fail]
* Loading LIRC modules [ OK ]
timeout waiting for devices to be ready
* Unable to load LIRC kernel modules. Verify your
* selected kernel modules in /etc/lirc/
My /etc/lirc/
# /etc/lirc/
#
#Chosen Remote Control
REMOTE="ITE IT8712/IT8705 CIR port"
REMOTE_
REMOTE_DRIVER=""
REMOTE_
REMOTE_
REMOTE_
#Chosen IR Transmitter
TRANSMITTER=
TRANSMITTER_
TRANSMITTER_
TRANSMITTER_
TRANSMITTER_
TRANSMITTER_
#Enable lircd
START_LIRCD="true"
#Don't start lircmd even if there seems to be a good config file
#START_
#Try to load appropriate kernel modules
LOAD_MODULES="true"
# Default configuration files for your hardware if any
LIRCMD_CONF=""
#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERA
START_LIRCMD=""
syslog:
Sep 13 10:04:20 m-laptop kernel: [ 1952.802644] lirc_dev: IR Remote Control driver registered, at major 61
Sep 13 10:04:20 m-laptop kernel: [ 1952.844076] lirc_dev: lirc_register_
Sep 13 10:04:20 m-laptop kernel: [ 1952.929928] lirc_dev: lirc_register_
Sep 13 10:04:20 m-laptop kernel: [ 1953.095369] lirc_dev: lirc_register_
Sep 13 10:04:20 m-laptop kernel: [ 1953.231510] lirc_dev: lirc_register_
Sep 13 10:04:20 m-laptop kernel: [ 1953.376776] lirc_dev: lirc_register_
Sep 13 10:04:20 m-laptop kernel: [ 1953.514307] lirc_dev: lirc_register_
.......
Sep 13 10:14:04 m-laptop kernel: [ 2447.872698] lirc_dev: lirc_register_
So from what it looks like here, this is a very ugly race condition rearing it's head. lirc-it87 gets loaded, and creates /dev/lirc0. Well udev sees this happen and offers to restart lirc. lirc-it87 bails out because it can't find the device. udev sees this again and says hey!, lets restart lirc. Endless cycle. I think the interim solution is going to have to be, don't allow anything to be modprobed when we are called by udev. Just assume the USB devices were handled by hotplugging.