Bug 807786

Summary: LIRC daemon with USB input fails on newer kernels
Product: [Fedora] Fedora Reporter: Mike Hughes <marynya>
Component: lircAssignee: Jarod Wilson <jarodwilson>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 16CC: bnocera, jarodwilson
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-29 13:10:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Mike Hughes 2012-03-28 17:38:17 UTC
Description of problem:

LIRC daemon starts but fails as soon as something tries to connect to it (irw or mythfrontend) with "atilibusb" driver. It worked on kernel 2.6.41 and earlier, quit when 2.6.42 was installed on Fedora 15.  Still does not work with 3.3.0 on Fedora 16. Log as follows:

Mar 28 12:27:48 localhost lircd-0.9.0[26337]: accepted new client on /var/run/lirc/lircd
Mar 28 12:27:48 localhost lircd-0.9.0[26337]: couldn't claim USB interface: Device or resource busy
Mar 28 12:27:48 localhost lircd-0.9.0[26337]: Failed to initialize hardware
Mar 28 12:27:48 localhost lircd-0.9.0[26337]: reading in mode LIRC_MODE_LIRCCODE failed
Mar 28 12:27:48 localhost lircd-0.9.0[26337]: caught signal
Mar 28 12:27:48 localhost lirc[26480]: Stopping infrared remote control daemon (lircd): [FAILED]

Device listing (lsusb):

Bus 004 Device 003: ID 0bc7:0008 X10 Wireless Technology, Inc. Wireless Transceiver (ACPI-compliant)

This is a "Firefly" RF remote.


Version-Release number of selected component (if applicable):

lirc-0.9.0-7.fc16 (64-bit)

How reproducible:

Consistent.

Steps to Reproduce:
1. Install lirc package, connect USB remote receiver.
2. Install "/etc/lirc/lircd.conf" file from MythTV site.
3. Edit "/etc/sysconfig/lirc" to specify "atilibusb" driver. 
4. Enable and start "lircd". "Services" shows "running".
5. Execute "irw" command as root. 
  
Actual results:

"irw" returns immediately without output, Services shows lircd "Inactive" 

Expected results:

Should display codes for buttons pressed on remote.

Additional info:

Comment 1 Jarod Wilson 2012-03-28 19:54:07 UTC
99% sure this is NOTABUG, and atilibusb is simply failing to bind to the device because the in-kernel ati_remote driver has already grabbed it. Either use ati_remote, forgoing atilibusb, or blacklist ati_remote, and you should be fine.

Comment 2 Mike Hughes 2012-03-28 21:26:57 UTC
OK, LIRC does not seem to support "ati_remote" at this time but blacklisting it does allow "atilibusb" to work properly.  I will at least update the MythTV wiki. Thanks for the help and sorry for the bother!

Comment 3 Jarod Wilson 2012-03-29 13:10:53 UTC
(In reply to comment #2)
> OK, LIRC does not seem to support "ati_remote" at this time but blacklisting it
> does allow "atilibusb" to work properly.  I will at least update the MythTV
> wiki. Thanks for the help and sorry for the bother!

The ati_remote driver is a native linux input layer driver. You *can* use lirc with it, but the lirc "driver" you use is devinput, not ati_remote.

Comment 4 Mike Hughes 2012-03-29 15:23:58 UTC
Yes, it does work with:

LIRC_DRIVER="devinput"

in the file "/etc/sysconfig/lirc" which is a neater solution.  This probably should be the default in the version of this file supplied with the LIRC package but otherwise, it is a documentation issue and I will do what I can about that.  Thanks again!