Good News!

I contacted with upstream media mantainers and they aprobe the patch but 
suggested to be in specific hauppagge case unde ir-kbd-i2c.c.

So... here is the new patch.

--- ir-kbd-i2c.original.c 2021-09-08 23:45:23.723210301 +0200
+++ ir-kbd-i2c.hauppauge.proposed.c 2021-09-14 23:32:28.186614977 +0200
@@ -792,6 +792,7 @@
  RC_PROTO_BIT_RC6_6A_32;
  ir_codes    = RC_MAP_HAUPPAUGE;
  probe_tx = true;
+        ir->polling_interval = 125;
  break;
  }

As you can read in history, I just tested again, everything still working.

________________________________
From: Joaquín Alberto Calderón Pozo <kini_calde...@hotmail.com>
Sent: Wednesday, September 15, 2021 15:08
To: Mis Emails <kini.calde...@gmail.com>
Subject: Fw: 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



________________________________
From: Joaquín Alberto Calderón Pozo <kini_calde...@hotmail.com>
Sent: Wednesday, September 15, 2021 15:07
To: Sean Young <s...@mess.org>
Cc: mche...@kernel.org <mche...@kernel.org>; christophe.jail...@wanadoo.fr 
<christophe.jail...@wanadoo.fr>; linux-me...@vger.kernel.org 
<linux-me...@vger.kernel.org>; linux-ker...@vger.kernel.org 
<linux-ker...@vger.kernel.org>; sta...@vger.kernel.org <sta...@vger.kernel.org>
Subject: Re: 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

As I mention before I am an experienced user with some programing 
experiencience, but no experience in reporting any bugs, less in reporting 
kernel's patch.

I only want my "old" system fully working (as expected), and sharing the 
solution with the community, and if it is possible to correct the bug in future 
versions.

Thanks for helping me reporting this bug. I will answer on your responses.

This change looks right to me, but it needs some changes:

 - The change needs to be made Hauppauge/Zilog specific by adding a line
   under the "case 0x71:" line below which sets the polling interval to 125.

Done and tested under the case 0x71, the behavior under this is still working. 
I attached the new patch,and here is the code:

--- ir-kbd-i2c.original.c 2021-09-08 23:45:23.723210301 +0200
+++ ir-kbd-i2c.hauppauge.proposed.c 2021-09-14 23:32:28.186614977 +0200
@@ -792,6 +792,7 @@
  RC_PROTO_BIT_RC6_6A_32;
  ir_codes    = RC_MAP_HAUPPAUGE;
  probe_tx = true;
+        ir->polling_interval = 125;
  break;
  }

  - The patch should be against current media kernel, not 5.10

I am using Debian 11.0, which makes linux-image-5.10.0-8-amd64 the "stable" 
current kernel. This is why am reporting in this version number. Debian 11, 
consider kernel 5.14 experimental, and I am not using it. I am in stable branch.

  - Follow 
https://www.kernel.org/doc/html/latest/process/submitting-patches.html

I just read this, it is very confusing and elaborate, and I don't clearly how 
to o who to send it.
Can you help me? I already thought sent it to the appropriate mantainers. Isn't 
it?

 - Add "Cc: sta...@vger.kernel.org" and the patch will trickle down into  5.10.

Done.
________________________________
From: Sean Young <s...@mess.org>
Sent: Monday, September 13, 2021 09:26
To: Joaquín Alberto Calderón Pozo <kini_calde...@hotmail.com>
Cc: mche...@kernel.org <mche...@kernel.org>; christophe.jail...@wanadoo.fr 
<christophe.jail...@wanadoo.fr>; linux-me...@vger.kernel.org 
<linux-me...@vger.kernel.org>; linux-ker...@vger.kernel.org 
<linux-ker...@vger.kernel.org>
Subject: Re: 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

On Sun, Sep 12, 2021 at 10:15:31PM +0000, Joaquín Alberto Calderón Pozo wrote:
> Mantainers of the ir-kbd-i2c, althought I sent it to the debian bug report 
> team, I consider to sent you also this patch (if it's the right way) to solve 
> this bug.
>
> Thanks
>
> Package: src:linux
> X-Debbugs-Cc: kini_calde...@hotmail.com
> Version: 5.10.46-4
> Severity: important
> Tags: patch
>
> 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.

This change looks right to me, but it needs some changes:

 - The change needs to be made Hauppauge/Zilog specific by adding a line
   under the "case 0x71:" line below which sets the polling interval to 125.
 - The patch should be against current media kernel, not 5.10
 - Follow https://www.kernel.org/doc/html/latest/process/submitting-patches.html
 - Add "Cc: sta...@vger.kernel.org" and the patch will trickle down into
   5.10.

Thanks

Sean

>
> I don't know if this is the right package to post this bug. Thanks.
>

> --- 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) {

--- ir-kbd-i2c.original.c	2021-09-08 23:45:23.723210301 +0200
+++ ir-kbd-i2c.hauppauge.proposed.c	2021-09-14 23:32:28.186614977 +0200
@@ -792,6 +792,7 @@
 							RC_PROTO_BIT_RC6_6A_32;
 		ir_codes    = RC_MAP_HAUPPAUGE;
 		probe_tx = true;
+        ir->polling_interval = 125;
 		break;
 	}
 

Reply via email to