LIRC killed or sees new usbdevice after suspend

Bug #387443 reported by mascer on 2009-06-15
This bug affects 3 people
Affects Status Importance Assigned to Milestone
One Hundred Papercuts
lirc (Ubuntu)

Bug Description

Lirc or related components (no clue, 'm just a user), will not work after coming back from suspend mode, thus leaving me no (simple) option than to reboot the pc. I noticed after the suspend another lirc-device was made onder /dev/ besides the original one.

Please give more detail. Which version of ubuntu? Which device(s)? Steps to reproduce, with expected/actual behavior.

mascer (masc-cyberelf) wrote :

Ubuntu Desktop 9.04, 2.6.28-11-generic
While booting, dev lirc0 is created, infrared remote control works fine with for instance XBMC, suspend pc, boot up, remote control doesn't work. Besides lirc0 a lirc1 is created, need reboot to fix.
Standard reboot: remote control always works.
cat /var/log/syslog | grep lirc
kernel: [ 110.001225] lirc_dev: IR Remote Control driver registered, major 61
kernel: [ 110.006241] lirc_mceusb2: Philips eHome USB IR Transceiver and Microsoft MCE 2005 Remote Control driver for LIRC $Revision: 1.44 $
kernel: [ 110.006244] lirc_mceusb2: Daniel Melander <email address hidden>, Martin Blatter <email address hidden>
kernel: [ 110.270203] lirc_dev: lirc_register_plugin: sample_rate: 0
kernel: [ 110.274202] lirc_mceusb2[3]: BB+ Dongle(e.d) on usb5:3
kernel: [ 110.274248] usbcore: registered new interface driver lirc_mceusb2
sudo lsusb -v

Bus 005 Device 002: ID 0471:060c Philips
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x0471 Philips
  idProduct 0x060c
  bcdDevice 1.01
  iManufacturer 1
  iProduct 2 BB+ Dongle(e.d)
  iSerial 3 JIBA
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 32
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower 100mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 2
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 255 Vendor Specific Subclass
      bInterfaceProtocol 255 Vendor Specific Protocol
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x01 EP 1 OUT
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0010 1x 16 bytes
        bInterval 1
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x82 EP 2 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0010 1x 16 bytes
        bInterval 1
Device Status: 0x0000
  (Bus Powered)

Martin Albisetti (beuno) wrote :

Thank you for bringing this bug to our attention. Unfortunately a paper cut should be a small usability issue that affects many people and is quick and easy to fix. I'm afraid this bug can't be addressed as part of this project.
A paper cut is a minor usability annoyance that an average user would encounter on his/her first day of using a new installation of Ubuntu 9.10.

Changed in hundredpapercuts:
status: New → Invalid
Jarno Suni (jarnos) wrote :

Workaround is to run "/etc/init.d/lirc stop" in conjunction with suspend and "/etc/init.d/lirc start" in conjunction with resume.

See also

Ryan Steele (rgsteele) wrote :

This was resolved in 0.8.6 which is the version shipped with Karmic. A fix is discussed at

which can be viewed here:

The issue has been reported in a number of threads on Ubuntu Forums:

Might this be a candidate for an SRU?

Changed in lirc (Ubuntu):
status: New → Confirmed
Shock (mmiron) wrote :

This happens to me in Lucid while using a Streamzap PC Remote.

Jarno Suni (jarnos) wrote :

If you use irxevent or irexec, their respective daemons are killed in conjunction with stopping lirc. To automatically re-run these I could only run
DISPLAY=:0.0 su user -c "irxevent --daemon && irexec --daemon"
where "user" is your user name, in resume|thaw case after starting lirc daemon. I suppose it might not work well, if the user is not logged in or a different used the daemons.

Jarno Suni (jarnos) wrote :

Bug is still present in ubuntu 11.04.

Note that the recommended way to stop and start lirc in ubuntu nowdays is "sudo service lirc stop" and "sudo service lirc start", respectively.

The presented workaround is not ideal for irxevent and irexec daemons, since it may be that the user "user" is not at DISPLAY :0.0 (if it is not the first logged in user), user doing the suspend-resume might not be user "user", and it might be impossible to read the config from "user"'s home directory due to encryption. But in one user system it is ok.

Jarod Wilson (jarod-wilsonet) wrote :

For the love of all that is good, do NOT use that atrocious xbmc wiki script, that's Doing It Wrong on multiple levels, particularly for the very latest lirc bits.

Jarod Wilson (jarod-wilsonet) wrote :

For the record, suspend and resume with both the mceusb and streamzap drivers in 2.6.38 and up works just fine her, without stopping/starting lircd. Pretty sure cases where they aren't working are either old kernels and/or IR device drivers, or buggy usb chipset support.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers