2009-01-20 19:39:19

by gsmd

[permalink] [raw]
Subject: plz help fixing lirc_igorplugusb kernel module

Hi.
It turns out that lirc_igorplugusb.c is part of the 2.6.28 kernel
(http://lkml.org/lkml/2008/9/9/13) and the bad news is that it's
broken.
--
Jan 20 19:05:33 s lirc_igorplugusb: USB remote driver for LIRC v0.1
Jan 20 19:05:33 s lirc_igorplugusb: Jan M. Hochstein
<[email protected]>
Jan 20 19:05:33 s lirc_dev: lirc_register_plugin: sample_rate: 100
Jan 20 19:05:33 s lirc_igorplugusb[3]: Yuri M. Karelin, (c) 2007
ElMark IR remote control on usb3:3
Jan 20 19:05:33 s usbcore: registered new interface driver lirc_igorplugusb
Jan 20 19:10:00 s lircd-0.8.4[25107]: could not open config file
'/etc/lircd.conf'
Jan 20 19:10:00 s lircd-0.8.4[25107]: No such file or directory
Jan 20 19:10:00 s lircd-0.8.4[25108]: lircd(default) ready
.....
Jan 20 19:11:42 s lircd-0.8.4[25108]: accepted new client on /dev/lircd
Jan 20 19:11:42 s lirc_igorplugusb[3]: Device buffer overrun.
Jan 20 19:11:48 s lirc_igorplugusb[3]: Device buffer overrun.
Jan 20 19:11:49 s lirc_igorplugusb[3]: Device buffer overrun.
--
The problem naturally lies in the last third lines which reflect the
way kernel module reacts to key presses on remote. The very same
device works flawlessly under Win + Girder.
I'd be very thankful if someone could help me fixing the issue (or
rather if I could help fixing this issue).


2009-01-21 11:06:19

by Dick Streefland

[permalink] [raw]
Subject: Re: plz help fixing lirc_igorplugusb kernel module

alex <[email protected]> wrote:
| Jan 20 19:11:42 s lirc_igorplugusb[3]: Device buffer overrun.
| Jan 20 19:11:48 s lirc_igorplugusb[3]: Device buffer overrun.
| Jan 20 19:11:49 s lirc_igorplugusb[3]: Device buffer overrun.
| --
| The problem naturally lies in the last third lines which reflect the
| way kernel module reacts to key presses on remote. The very same
| device works flawlessly under Win + Girder.
| I'd be very thankful if someone could help me fixing the issue (or
| rather if I could help fixing this issue).

This error is caused by an IR code longer than 36 pulse/space periods.
Perhaps the Windows driver simply ignores this condition? Did you try
to remove the code that handles this case and where this message is
issued?

<plug>
You can also try my USBtiny implementation, which also works with this
driver. It limits the number of periods to 35 by wrapping the last 16
periods: http://www.xs4all.nl/~dicks/avr/usbtiny/
</plug>

--
Dick Streefland //// Altium BV
[email protected] (@ @) http://www.altium.com
--------------------------------oOO--(_)--OOo---------------------------

2009-01-22 14:25:55

by gsmd

[permalink] [raw]
Subject: Re: plz help fixing lirc_igorplugusb kernel module



Dick Streefland wrote:
>
> This error is caused by an IR code longer than 36 pulse/space periods.
> Perhaps the Windows driver simply ignores this condition? Did you try
> to remove the code that handles this case and where this message is
> issued?
>
It probably does, yet the code is received (so I can assign any command to
that key).
Here's the section from lirc_igorplugusb.c
(ftp.gnu.org/tmp/linux-libre-fsf2_2.6.28/linux-2.6.28/ubuntu/lirc/lirc_igorplugusb/lirc_igorplugusb.c)
that displays the message:
--
if (ir->buf_in[2] != 0) {
printk(DRIVER_NAME "[%d]: Device buffer overrun.\n",
ir->devnum);
/* start at earliest byte */
i = DEVICE_HEADERLEN + ir->buf_in[2];
/* where are we now? space, gap or pulse? */
}
--
With my limited C knowledge I don't see what would prevent displaying the
key code (when I run irw) after the message. Haven't tried removing it
though.
Also checked with 3 different remote controls, the result is all the same.
--
View this message in context: http://www.nabble.com/plz-help-fixing-lirc_igorplugusb-kernel-module-tp21570131p21605162.html
Sent from the linux-kernel mailing list archive at Nabble.com.

2009-01-22 14:37:11

by Dick Streefland

[permalink] [raw]
Subject: Re: plz help fixing lirc_igorplugusb kernel module

gsmd <[email protected]> wrote:
| Here's the section from lirc_igorplugusb.c
| (ftp.gnu.org/tmp/linux-libre-fsf2_2.6.28/linux-2.6.28/ubuntu/lirc/lirc_igorplugusb/lirc_igorplugusb.c)
| that displays the message:
| --
| if (ir->buf_in[2] != 0) {
| printk(DRIVER_NAME "[%d]: Device buffer overrun.\n",
| ir->devnum);
| /* start at earliest byte */
| i = DEVICE_HEADERLEN + ir->buf_in[2];
| /* where are we now? space, gap or pulse? */
| }
| --
| With my limited C knowledge I don't see what would prevent displaying the
| key code (when I run irw) after the message. Haven't tried removing it
| though.

The variable 'i' is modified, which affects the amount of data that is
returned to LIRC. I suggest removing at least this line, to see if
that helps.

--
Dick Streefland //// Altium BV
[email protected] (@ @) http://www.altium.com
--------------------------------oOO--(_)--OOo---------------------------

2009-01-22 15:43:57

by gsmd

[permalink] [raw]
Subject: Re: plz help fixing lirc_igorplugusb kernel module



Dick Streefland wrote:
>
> I suggest removing at least this line, to see if
> that helps.
>
Well, removing the entire if (ir->buf_in[2] != 0) block leads to nothing
being displayed on key press. Only occasional GET_INFRACODE: error 0
messages.
--
View this message in context: http://www.nabble.com/plz-help-fixing-lirc_igorplugusb-kernel-module-tp21570131p21606877.html
Sent from the linux-kernel mailing list archive at Nabble.com.

2010-02-09 09:25:51

by luckygala

[permalink] [raw]
Subject: Re: plz help fixing lirc_igorplugusb kernel module




gsmd wrote:
>
>
> Dick Streefland wrote:
>>
>> I suggest removing at least this line, to see if
>> that helps.
>>
> Well, removing the entire if (ir->buf_in[2] != 0) block leads to nothing
> being displayed on key press. Only occasional GET_INFRACODE: error 0
> messages.
>

i have the same problem with igorplugusb and the buffer overrun when i push
any buttons of my remote

Can anyone explain to me, in detail, how i can solve the problem?
i need the steps to made the changes that you sugested in this forum
thanks a lot
--
View this message in context: http://old.nabble.com/plz-help-fixing-lirc_igorplugusb-kernel-module-tp21570131p27512493.html
Sent from the linux-kernel mailing list archive at Nabble.com.