[Pkg-lirc-maint] Bug#608458: after some time, lircd emits spurious codes

John Pearson john at huiac.com
Fri Dec 31 03:07:01 UTC 2010


Package: lirc
Version: 0.8.3-5
Severity: important


I use lircd and a range of remotes with a homebrew serial IR receiver and a 
number of different remotes on a Mythtv frontend.  I had been using a 
home-built 0.8.7 version under Lenny; but since upgrading to squeeze in the
past few days and migrating to the squeeze version of lirc, we've twice
encountered what appears to be the same issue.

We first see a spurious lirc event (e.g., video skiups back without any user
input), and then things start looking very broken.

Running
  $ irw /dev/lircd

once the problem has started shows that the overall sensitivity appears to be
down (e.g., not all key presses result in events), and when events are
generated they do not correspond to the key that was last pressed.

Significantly, when a key is pressed and an event is generated, the event
corresponds not to the key that was pressed, but to a "previous" keypress,
as if the keypress you make is placed at the end of a queue that is 4-6 
events long, and the one delivered via /dev/lircd is taken from the head of
the queue.

Stopping and restarting lircd appears to fix things, which suggests that the
problem is in lircd and not in (say) the kernel modules, which remain loaded
throughout.  However restarting lircd disrupts the flow of lirc events to 
irexec, which means that restoring full functionality may be somewhat more
involved (in my case restarting gdm as well as lircd is sufficient, as all of
the system's lirc clients run in an automatically logged in X session).

I didn't see this problem with 0.8.7, so it seems likely that it is fixed by 
some change between the two versions; however I can't identify anything
obviously related in the upstream changelog.

Regards,


John Pearson

-- System Information:

Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lirc depends on:
ii  debconf [debconf-2.0]        1.5.36      Debian configuration management sy
ii  libasound2                   1.0.23-2.1  shared library for ALSA applicatio
ii  libc6                        2.11.2-7    Embedded GNU C Library: Shared lib
ii  liblircclient0               0.8.3-5     infra-red remote control support -
ii  libusb-0.1-4                 2:0.1.12-16 userspace USB programming library
ii  lsb-base                     3.2-23.1    Linux Standard Base 3.2 init scrip

lirc recommends no packages.

Versions of packages lirc suggests:
ii  lirc-modules-source           0.8.3-5    infra-red remote control support -
pn  lirc-svga                     <none>     (no description available)
ii  lirc-x                        0.8.3-5    infra-red remote control support -

-- Configuration Files:
/etc/lirc/hardware.conf changed:
LIRCD_ARGS=""
LOAD_MODULES=true
DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_serial"
LIRCD_CONF=""
LIRCMD_CONF=""

/etc/lirc/lircd.conf changed:
begin remote
  name  upr-optus-1060
  bits           13
  flags RC5|CONST_LENGTH
  eps            30
  aeps          100
  one           864   903
  zero          864   903
  plead         912
  gap          113423
  toggle_bit_mask 0x800
      begin codes
      KEY_0                        0x1280
      KEY_1                        0x1281
      KEY_2                        0x1282
      KEY_3                        0x1283
      KEY_4                        0x1284
      KEY_5                        0x1285
      KEY_6                        0x1286
      KEY_7                        0x1287
      KEY_8                        0x1288
      KEY_9                        0x1289
      KEY_VOLUMEUP                 0x1290
      KEY_VOLUMEDOWN               0x1291
      KEY_MUTE                     0x0286
      KEY_REWIND                   0x129C
      KEY_RED                      0x02AB
      KEY_GREEN                    0x02AC
      KEY_YELLOW                   0x02AD
      KEY_BLUE                     0x02AE
      KEY_MENU                     0x02AA
      KEY_GUIDE                    0x028F
      KEY_OK                       0x0297
      KEY_UP              0x0290
      KEY_DOWN            0x0291
      KEY_LEFT            0x0295
      KEY_RIGHT           0x0296
      KEY_CHANNELUP                0x12A0
      KEY_CHANNELDOWN              0x12A1
      KEY_EXIT                     0x12A8
      KEY_REWIND                   0x1A90
      KEY_FORWARD                 0x0293
      KEY_PLAY                     0x0292
      KEY_PAUSE                    0x129D
      KEY_STOP                     0x12AF
      KEY_POWER                    0x128C
      KEY_REPLAY                   0x1A91
      KEY_FORWARD                  0x0A86
      end codes
end remote
begin remote
  name  mce-kbd
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100
  header       9039  4498
  one           563  1690
  zero          563   563
  ptrail        562
  repeat       9015  2254
  pre_data_bits   16
  pre_data       0xFF
  gap          107905
  toggle_bit_mask 0x0
      begin codes
          KEY_0                    0x50AF
          KEY_1                    0xF807
          KEY_2                    0xC03F
          KEY_3                    0x20DF
          KEY_4                    0xA05F
          KEY_5                    0x38C7
          KEY_6                    0x609F
          KEY_7                    0xE01F
          KEY_8                    0x10EF
          KEY_9                    0xB847
          KEY_CHANNELDOWN          0xF20D
          KEY_CHANNELUP            0xD22D
          KEY_VOLUMEDOWN           0x7887
          KEY_VOLUMEUP             0x807F
          KEY_MENU                 0xB04F
          KEY_MUTE                 0x00FF
          KEY_RED                  0x708F
          KEY_YELLOW               0xC837
          KEY_BLUE                 0x8877
          KEY_GREEN                0x9867
          KEY_LEFT                 0xE817
          KEY_UP                   0x6897
          KEY_RIGHT                0x30CF
          KEY_DOWN                 0x48B7
          KEY_OK                   0x18E7
          KEY_POWER                0x40BF
          KEY_POWER2               0x08F7
          KEY_RECORD               0x12ED
          KEY_STOP                 0x02FD
          KEY_PAUSE                0x42BD
          KEY_REWIND               0x58A7
          KEY_REPLAY               0x5AA5
          KEY_PLAY                 0xD827
          KEY_FORWARD              0x22DD
          KEY_NEXT                 0xA25D
          KEY_INFO                 0xA857
          KEY_DIGITS               0xD02F
          KEY_KPASTERISK           0x906F
          KEY_TV                   0x926D
          KEY_AUDIO                0x8A75
          KEY_MSDOS                0x728D
          KEY_GUIDE                0x32CD
          KEY_CLEAR                0xE21D
          KEY_ENTER                0x18E7
          KEY_GUIDE                0x52AD
          KEY_RADIO                0xB24D
          KEY_DVD                  0x0AF5
          KEY_INFO                0x4AB5
          KEY_ANGLE                0xC23D
          KEY_MOVE                 0xEA15
          KEY_EXIT                0x00FF28D7
      end codes
end remote
begin remote
  name  Harmony550KnoppMyth
  bits           13
  flags RC5|CONST_LENGTH
  eps            30
  aeps          100
  one           895   885
  zero          895   885
  plead         910
  gap          116038
  min_repeat      2
  toggle_bit_mask 0x800
      begin codes
      KEY_BLUE                     0x17A9
      KEY_GREEN                    0x17AE
      KEY_RED                      0x178B
      KEY_YELLOW                   0x17B8
      KEY_GO                       0x17BB
      KEY_OK                       0x17A5
      KEY_DIGITS                   0x178E
          JumpMusic                0x1799
          JumpPictures             0x179A
      KEY_RADIO                0x178C
      KEY_TV                   0x179C
          JumpVideos               0x1798
      KEY_POWER                    0x17BD
      KEY_STOP                     0x17B6
      KEY_REPLAY                   0x17A4
      KEY_NEXT                     0x179E
      KEY_PLAY                     0x17B5
      KEY_RECORD                      0x17B7
      KEY_REWIND                      0x17B2
      KEY_FORWARD                 0x17B4
      KEY_PAUSE                    0x17B0
      KEY_GUIDE                    0x179B
      KEY_INFO                     0x178A
      KEY_EXIT                     0x179F
      KEY_MENU                     0x178D
      KEY_VOLUMEUP                 0x1790
      KEY_VOLUMEDOWN               0x1791
      KEY_CHANNELUP                0x17A0
      KEY_CHANNELDOWN              0x17A1
      KEY_CHANNELPREV              0x1792
      KEY_Up              0x1794
      KEY_Down            0x1795
      KEY_LEFT            0x1796
      KEY_RIGHT           0x1797
      KEY_MUTE                     0x178F
      KEY_1                        0x1781
      KEY_2                        0x1782
      KEY_3                        0x1783
      KEY_4                        0x1784
      KEY_5                        0x1785
      KEY_6                        0x1786
      KEY_7                        0x1787
      KEY_8                        0x1788
      KEY_9                        0x1789
      KEY_0                        0x1780
      end codes
end remote
begin remote
  name  RMT-V164A
  bits           11
  flags SPACE_ENC
  eps            25
  aeps          100
  header       2480   503
  one          1278   503
  zero          677   503
  ptrail        677
  gap          23946
  toggle_bit      0
      begin codes
          POWER                    0x000000000000054D
          PLAY                     0x00000000000002CD
          STOP                     0x00000000000000CD
          PAUSE                    0x00000000000004CD
          FF                       0x00000000000001CD
          REW                      0x00000000000006CD
          SEARCH<                  0x00000000000000AD
          SEARCH>                  0x00000000000004AD
          VOL+                     0x0000000000000248
          VOL-                     0x0000000000000648
          PROG+                    0x000000000000004D
          PROG-                    0x000000000000044D
          REC                      0x00000000000005CD
          INPUT_SELECT             0x000000000000079D
          INDEX_SEARCH<            0x000000000000075D
          INDEX_SEARCH>            0x000000000000035D
          FRAME<||                 0x000000000000006D
          FRAME||>                 0x000000000000046D
          |>SLOW-                  0x00000000000003ED
          |>SLOW+                  0x00000000000005ED
          TAPE_SPEED               0x00000000000000DD
          TRACKING_A/M             0x000000000000072D
          TRACKING_N/S<            0x000000000000051D
          TRACKING_N/S>            0x000000000000011D
          EJECT                    0x000000000000034D
          TIMER_CLEAR              0x000000000000063D
          TV/VIDEO                 0x0000000000000528
          MENU                     0x000000000000059D
          COUNTER_RESET            0x000000000000031D
          AUDIO_MONITOR            0x000000000000074D
          EXECUTE                  0x000000000000045D
          CURSOR<                  0x000000000000023D
          CURSOR>                  0x000000000000043D
          CURSOR^                  0x000000000000021D
          CURSORv                  0x000000000000061D
      KEY_1                        0x000000000000000D
      KEY_2                        0x000000000000040D
      KEY_3                        0x000000000000020D
      KEY_4                        0x000000000000060D
      KEY_5                        0x000000000000010D
      KEY_6                        0x000000000000050D
      KEY_7                        0x000000000000030D
      KEY_8                        0x000000000000070D
      KEY_9                        0x000000000000008D
      KEY_0                        0x000000000000048D
          -/--                     0x000000000000028D
          SKIP                     0x00000000000005DD
          AUDIO_DUB                0x00000000000000BD
          DISPLAY                  0x00000000000002DD
          TV_POWER                 0x0000000000000548
          TV_TV/VIDEO              0x0000000000000528
          TV_DISLAY                0x00000000000002E8
          TV_MENU                  0x000000000000059D
          TV_1                     0x0000000000000008
          TV_2                     0x0000000000000408
          TV_3                     0x0000000000000208
          TV_4                     0x0000000000000608
          TV_5                     0x0000000000000108
          TV_6                     0x0000000000000508
          TV_7                     0x0000000000000308
          TV_8                     0x0000000000000708
          TV_9                     0x0000000000000088
          TV_0                     0x0000000000000488
          TV_-.--                  0x00000000000005C8
          TV_VOL+                  0x0000000000000248
          TV_VOL-                  0x0000000000000648
          TV_PROG+                 0x0000000000000048
          TV_PROG-                 0x0000000000000448
      end codes
end remote
begin remote
  name  rm-dc41_cd
  bits           12
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100
  header       2401   602
  one          1186   613
  zero          584   613
  gap          44948
  min_repeat      2
      begin codes
          CONTINUE                 0xB91
          SHUFFLE                  0xAD1
          PROGRAM                  0xF91
          ONE                      0x011
          TWO                      0x811
          THREE                    0x411
          FOUR                     0xC11
          FIVE                     0x211
          SIX                      0xA11
          SEVEN                    0x611
          EIGHT                    0xE11
          NINE                     0x111
          TEN                      0x051
          GT_TEN                   0xE51
          CLEAR                    0xF11
          DISC1                    0x031
          DISC2                    0x831
          DISC3                    0x431
          DISC4                    0xC31
          DISC5                    0x231
          DISC_SKIP                0x7D1
          PLAY                     0x4D1
          PAUSE                    0x9D1
          STOP                     0x1D1
          AMS_BACK                 0x0D1
          AMS_FWD                  0x8D1
          REW                      0xCD1
          FFWD                     0x2D1
          PLUS                     0x491
          MINUS                    0xC91
          POWER                    0xf41
      end codes
end remote
begin remote
  name  harmony
  bits           13
  flags RC5|CONST_LENGTH
  eps            30
  aeps          100
  one           878   903
  zero          878   903
  plead         899
  gap          116047
  min_repeat      2
  toggle_bit_mask 0x800
      begin codes
      KEY_0                        0x1780
      KEY_1                        0x1F81
      KEY_2                        0x1782
      KEY_3                        0x1F83
      KEY_4                        0x1784
      KEY_5                        0x1F85
      KEY_6                        0x1786
      KEY_7                        0x1F87
      KEY_8                        0x1788
      KEY_9                        0x1F89
          hash                     0x178E
          red                      0x178B
          green                    0x17AE
          yellow                   0x17B8
          blue                     0x17A9
          vol+                     0x1790
          vol-                     0x1791
          ch+                      0x17A0
          ch-                      0x17A1
          ok                       0x17A5
          left                     0x1796
          right                    0x1797
          up                       0x1794
          down                     0x1795
          mute                     0x1795
          prev                     0x1792
          exit                     0x179F
          menu                     0x178D
          info                     0x178A
          guide                    0x179B
          rec                      0x17B7
          rew                      0x17B2
          fwd                      0x17B4
          pause                    0x17B0
          stop                     0x17B6
          replay                   0x17A4
          skip                     0x179E
          play                     0x17B5
      end codes
end remote
begin remote
  name  sharp-tv
  bits           15
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100
  one           251  1849
  zero          251   788
  ptrail        235
  gap          67740
  toggle_bit_mask 0x0
  toggle_mask    0x3FF
      begin codes
          KEY_POWER                0x41A2
      end codes
end remote

/etc/lirc/lircmd.conf changed:
PROTOCOL IntelliMouse
ACCELERATOR 2 30 5
ACTIVATE * RESERVED
MOVE_N  * 2
MOVE_NE * 3
MOVE_E  * 6
MOVE_SE * 9
MOVE_S  * 8
MOVE_SW * 7
MOVE_W  * 4
MOVE_NW * 1
MOVE_IN * CH+
MOVE_OUT * CH-
BUTTON1_TOGGLE * 5
BUTTON1_TOGGLE * RADIO
BUTTON2_TOGGLE * VOL+
BUTTON3_TOGGLE * SOURCE
BUTTON1_CLICK * TV
BUTTON1_CLICK * VOL-
BUTTON3_CLICK * MUTE

/etc/modutils/lirc changed:


-- debconf information:
  lirc/take_care_of_old_config:
  lirc/install_devices: true
  lirc/reconfigure: false
  lirc/lircmd_conf:
  lirc/remove_var-log-lircd: true
  lirc/driver:
  lirc/should-use-IntelliMouse:
  lirc/cflags:
  lirc/irq:
  lirc/lircd_conf:
  lirc/port:
  lirc/device:
  lirc/timer:
  lirc/modules:





More information about the Pkg-lirc-maint mailing list