[vdr] lirc problems with VDR 1.3 under kernel 2.6.

Carsten Koch Carsten.Koch at icem.com
Mon Mar 7 00:37:39 CET 2005


Klaus Schmidinger wrote:
> Carsten Koch wrote:
> 
>> Dirk wrote:
>> ...
>>
>>>> is anybody else experiencing sluggish response to remote control 
>>>> commands?
>>>> It started when I updated to kernel 2.6 and VDR 1.3.
>>>
>>>
>>>
>>>
>>> Yes, same for me.
>>> But I am observing that remote control key presses are never lost.
>>> Sometimes I press several keys in sequence and nothing happens. After 
>>> some
>>> seconds, the keys are "executed" very quickly.
>>
>>
>>
>> Yes, you are right.
>> Of course, for a toggle key like "Menu" it is sometimes hard to say,
>> but I agree - it looks like they are never lost, just delayed sometimes
>> an the executed all at once.
>>
>>
>>> I think, there must be some instance inside VDR which "caches" the 
>>> remote
>>> key strokes in some kind of queue.
>>
>>
>>
>> It may be the lirc demon which is buffering them and vdr may just
>> not get around to reading the lirc queue all the time.
>>
>> @Klaus, is that possible?
>> Any suggestion where I should start looking?
> 
> 
> VDR buffers up to 16 keystrokes in cRemote::keys[].

OK, here is an update: I added this

--- vdr-1.3.17/lirc.c	2003-10-18 13:34:02.000000000 +0200
+++ /home/cko/vdr-1.3.17/lirc.c	2005-03-06 14:06:06.333149544 +0100
@@ -56,13 +56,16 @@
    char LastKeyName[LIRC_KEY_BUF] = "";
    bool repeat = false;
    int timeout = -1;
+int lirc_serial = 0;

    for (; f >= 0;) {

        LOCK_THREAD;

        bool ready = cFile::FileReady(f, timeout);
+buf[0] = 0;
        int ret = ready ? safe_read(f, buf, sizeof(buf)) : -1;
+dsyslog("%u:'%s'", lirc_serial++, buf);

        if (ready && ret <= 0 ) {
           esyslog("ERROR: lircd connection lost");

--- vdr-1.3.17/remote.c	2004-10-31 15:05:12.000000000 +0100
+++ /home/cko/vdr-1.3.17/remote.c	2005-03-06 14:39:02.316353120 +0100
@@ -125,6 +125,7 @@

  bool cRemote::Put(const char *Code, bool Repeat, bool Release)
  {
+dsyslog("put '%s' %u %u", Code, Repeat, Release);
    if (learning && this != learning)
       return false;
    eKeys Key = Keys.Get(Name(), Code);


to lirc.c / remote.c and waited for the problem to occur.

A few minutes ago it did. I pressed Menu to bring up the main menu and
Down a few times to get to "recordings". The main menu came up but the
cursor did not move down. I pressed down many times for almost a minute.
No effect.
I waited a few seconds and the cursor skipped down all the way to the
last main menu entry.
My log shows that vdr has received my commands when I pressed them,
not all at once like it would seem from their effect on the screen.
This also exctly matches Dirk's description:

Mar  7 00:18:28 vdr vdr[6816]: 533:'00000000000060c6 00 Menu NokiaVCN620   '
Mar  7 00:18:28 vdr vdr[6816]: put 'Menu' 0 0
Mar  7 00:18:28 vdr vdr[6816]: 534:'00000000000060c6 00 Menu NokiaVCN620   '
Mar  7 00:18:29 vdr vdr[6816]: 535:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:29 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:29 vdr vdr[6812]: changing pids of channel 47 from 1110+1110:1120=deu:130 to 1110+1110:1120:130
Mar  7 00:18:30 vdr vdr[6816]: 536:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:30 vdr vdr[6816]: 537:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:30 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:30 vdr vdr[6816]: 538:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:31 vdr vdr[6812]: channel 1 (3sat) event 23:45 'Die Dämonischen' status 4
Mar  7 00:18:31 vdr vdr[6816]: 539:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:31 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:31 vdr vdr[6816]: 540:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:32 vdr vdr[6816]: 541:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:32 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:32 vdr vdr[6816]: 542:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:34 vdr vdr[6816]: 543:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:34 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:35 vdr vdr[6816]: 544:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:36 vdr vdr[6816]: 545:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:36 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:36 vdr vdr[6816]: 546:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:37 vdr vdr[6816]: 547:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:37 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:38 vdr vdr[6816]: 548:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:39 vdr vdr[6816]: 549:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:39 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:39 vdr vdr[6816]: 550:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:40 vdr vdr[6816]: 551:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:40 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:40 vdr vdr[6816]: 552:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:40 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:41 vdr vdr[6816]: 553:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:41 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:42 vdr vdr[6816]: 554:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:42 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:42 vdr vdr[6816]: 555:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:42 vdr vdr[6816]: 556:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:42 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:42 vdr vdr[6816]: 557:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:43 vdr vdr[6816]: 558:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:43 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:43 vdr vdr[6816]: 559:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:43 vdr vdr[6816]: 560:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:43 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:44 vdr vdr[6816]: 561:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:44 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:44 vdr vdr[6816]: 562:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:45 vdr vdr[6816]: 563:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:45 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:45 vdr vdr[6816]: 564:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:45 vdr vdr[6816]: 565:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:45 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:46 vdr vdr[6816]: 566:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:46 vdr vdr[6816]: 567:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:46 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:46 vdr vdr[6816]: 568:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:47 vdr vdr[6816]: 569:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:47 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:47 vdr vdr[6816]: 570:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:47 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:47 vdr vdr[6816]: 571:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:48 vdr vdr[6816]: 572:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:48 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:49 vdr vdr[6816]: 573:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:49 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:49 vdr vdr[6816]: 574:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:51 vdr vdr[6816]: 575:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:51 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:52 vdr vdr[6816]: 576:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:52 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:52 vdr vdr[6816]: 577:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:53 vdr vdr[6816]: 578:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:53 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:53 vdr vdr[6816]: 579:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:53 vdr vdr[6816]: 580:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:53 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:54 vdr vdr[6816]: 581:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:54 vdr vdr[6816]: 582:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:54 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:54 vdr vdr[6816]: 583:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:55 vdr vdr[6816]: 584:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:55 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:55 vdr vdr[6816]: 585:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:56 vdr vdr[6816]: 586:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:56 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:57 vdr vdr[6816]: 587:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:57 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:58 vdr vdr[6816]: 588:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:58 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:58 vdr vdr[6816]: 589:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:59 vdr vdr[6816]: 590:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:18:59 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:18:59 vdr vdr[6816]: 591:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:00 vdr vdr[6816]: 592:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:00 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:00 vdr vdr[6816]: 593:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:00 vdr vdr[6816]: 594:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:00 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:01 vdr vdr[6816]: 595:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:01 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:01 vdr vdr[6816]: 596:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:03 vdr vdr[6816]: 597:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:03 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:03 vdr vdr[6816]: 598:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:03 vdr vdr[6816]: 599:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:03 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:04 vdr vdr[6816]: 600:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:04 vdr vdr[6816]: 601:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:04 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:05 vdr vdr[6816]: 602:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:05 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:05 vdr vdr[6816]: 603:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:06 vdr vdr[6816]: 604:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:06 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:06 vdr vdr[6816]: 605:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:07 vdr vdr[6816]: 606:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:07 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:07 vdr vdr[6816]: 607:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:08 vdr vdr[6816]: 608:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:08 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:08 vdr vdr[6816]: 609:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:08 vdr vdr[6816]: 610:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:08 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:08 vdr vdr[6816]: 611:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:09 vdr vdr[6816]: 612:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:09 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:09 vdr vdr[6816]: 613:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:10 vdr vdr[6816]: 614:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:10 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:10 vdr vdr[6816]: 615:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:11 vdr vdr[6816]: 616:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:11 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:11 vdr vdr[6816]: 617:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:11 vdr vdr[6816]: 618:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:11 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:13 vdr vdr[6816]: 619:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:13 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:13 vdr vdr[6816]: 620:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:13 vdr vdr[6816]: 621:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:13 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:14 vdr vdr[6816]: 622:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:14 vdr vdr[6816]: 623:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:14 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:14 vdr vdr[6816]: 624:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:15 vdr vdr[6816]: 625:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:15 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:16 vdr vdr[6816]: 626:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:16 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:16 vdr vdr[6816]: 627:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:17 vdr vdr[6816]: 628:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:17 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:17 vdr vdr[6816]: 629:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:18 vdr vdr[6816]: 630:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:18 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:18 vdr vdr[6816]: 631:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:19 vdr vdr[6816]: 632:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:19 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:19 vdr vdr[6816]: 633:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:20 vdr vdr[6816]: 634:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:20 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:20 vdr vdr[6816]: 635:'0000000000006392 00 Down NokiaVCN620   '
Mar  7 00:19:20 vdr vdr[6816]: put 'Down' 0 0
Mar  7 00:19:23 vdr vdr[6815]: channel 25 (Phoenix) event 00:15 'VOR ORT' status 4

So I guess the problem is not in lircd and not in vdr's lirc.c.
Any ideas what I should try next?

Carsten.






More information about the vdr mailing list