[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#994050: linux-image-5.10.0-8-amd64: Hauppauge WinTV-HVR1110 DVB-T/Hybrid bug 125 ms polling on ir-kbd-i2c.ko bad DEFAULT_POLLING_INTERVAL



Control: tags -1 + moreinfo upstream

Hi

On Fri, Sep 10, 2021 at 07:18:07PM +0200, Joaquín Alberto Calderón wrote:
> Package: src:linux
> Version: 5.10.46-4
> Severity: important
> Tags: patch
> X-Debbugs-Cc: kini_calderon@hotmail.com
> 
> Although I have a very old pci (not express) Hauppauge WinTV-HVR1110
> DVB-T/Hybrid TV card with a remote control, I am still using it because has
> fully support and functionallity and it's hardware capable of play DVB-T HD
> streams.
> 
> It has a very strange behaviour:
> 
> -One is it has a slow response when I push a key, has a delay, and sometimes
> even no key response, nothing happens, as if never push a key.
> -Other is when you hold a key, it start to begin the repeat key (characters
> like numerical) appears in the test app (kwrite) then, has a pause, stops to
> write characters, and begin the sequence again, writes some sequence, then
> stops... and so on. Even I noticed the repeat speed is a bit slow, compared to
> a keyboard key hold on.
> 
> So... I began to investigates the causes and after two weeks of research,
> searchs on the web, I found the module affected and a solution.
> 
> The module affected is ir-kbd-i2c.ko, this remote (rc5 protocol) uses this
> module as uinput (devinput) device, in resume as like an attatched keyboard.
> Resulting investigation in get noticed that this remote with rc5 protocol has
> 8hz of time frame when receiving the air gap code (rc5 procotol timing).
> 
> Investigating the sources files in the kernel sources for try and fall, re-
> compiling the modules, get me to get noticed that the polling ir remote
> interval is 100ms which is 5hz, forcing this value to 125ms, re-compiling the
> module causes the remote to work normally as expecte, the response is like a
> real keyboard and the repeat sequence not only as speedy as a normal keyboard,
> but also hasn't got a pause in repetition. In resume, the problem is solved.
> 
> Here is the patch:
> 
> --- ir-kbd-i2c.original.c       2021-09-08 23:45:23.723210301 +0200
> +++ ir-kbd-i2c.hauppauge.patched.c      2021-09-10 03:55:28.003529072 +0200
> @@ -742,7 +742,7 @@
>                 return -ENOMEM;
> 
>         ir->c = client;
> -       ir->polling_interval = DEFAULT_POLLING_INTERVAL;
> +       ir->polling_interval = 125;
>         i2c_set_clientdata(client, ir);
> 
>         switch(addr) {
> 
> I am a experienced user, but not an experienced developer, also in
> editing/submitting bugs, I don't know if this is the right way to solve this,
> If the rest of brand remotes are affected for my solution, but for me, solved
> my problem in this particular case.
> 
> I don't know where the value DEFAULT_POLLING_INTERVAL is get stablished or a
> way when detect a Hauppauge WinTV-HVR1110 DVB-T/Hybrid TV card to stablish
> 125ms instead of 100ms. As I said, I'm not an expert but experienced user.
> 
> I don't know if this is the right package to post this bug. Thanks.

Thanks for the report!

This is IMHO not something which should handled with an entry point in
downstream in Debian, but rather going to report it upstream directly.
Can you do that?

Details on reporting: https://www.kernel.org/doc/html/latest/admin-guide/bug-hunting.html

Best guess for reporting the issue you are seeing:

$ ./scripts/get_maintainer.pl ./drivers/media/i2c/ir-kbd-i2c.c
Mauro Carvalho Chehab <mchehab@kernel.org> (maintainer:MEDIA INPUT INFRASTRUCTURE (V4L/DVB),commit_signer:1/1=100%)
Sean Young <sean@mess.org> (commit_signer:1/1=100%)
Christophe JAILLET <christophe.jaillet@wanadoo.fr> (commit_signer:1/1=100%,authored:1/1=100%,added_lines:2/2=100%,removed_lines:2/2=100%)
linux-media@vger.kernel.org (open list:MEDIA INPUT INFRASTRUCTURE (V4L/DVB))
linux-kernel@vger.kernel.org (open list)

Feel free to keep this bugreport downstream into the loop.

Regards,
Salvatore


Reply to: