Bug 667157 - 2.6.35.10 version of kernel killed functionality of remote controller (kernel module dvb_usb_dib0700)
Summary: 2.6.35.10 version of kernel killed functionality of remote controller (kernel...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 14
Hardware: x86_64
OS: Linux
low
high
Target Milestone: ---
Assignee: Jarod Wilson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-04 16:54 UTC by Tommi R.
Modified: 2011-02-11 02:48 UTC (History)
8 users (show)

Fixed In Version: kernel-2.6.35.11-83.fc14
Clone Of:
Environment:
Last Closed: 2011-02-11 02:48:16 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
output of modinfo dvb_usb_dib0700 when IR is not working (4.70 KB, text/plain)
2011-01-04 17:00 UTC, Tommi R.
no flags Details
output of modinfo dvb_usb_dib0700 when IR works fine (4.79 KB, text/plain)
2011-01-04 17:03 UTC, Tommi R.
no flags Details
evtest output of device when remote controller does not work (2.6.35.10.* kernel) (3.10 KB, text/plain)
2011-01-04 17:05 UTC, Tommi R.
no flags Details
evtest output of device when remote controller works fine (2.6.35.9.* kernel) (3.70 KB, text/plain)
2011-01-04 17:09 UTC, Tommi R.
no flags Details
modprobe dvb_usb_dib0700 debug=9 output with 2.6.35.10 kernel (1.26 KB, text/plain)
2011-01-11 00:07 UTC, Tommi R.
no flags Details
modprobe dvb_usb_dib0700 debug=9 output with 2.6.35.9 kernel (1.10 KB, text/plain)
2011-01-11 00:10 UTC, Tommi R.
no flags Details
Dmesg with dvb_usb_dib0700 debug on IR remote keypress (81.46 KB, text/plain)
2011-01-11 20:27 UTC, Michael Cree
no flags Details

Description Tommi R. 2011-01-04 16:54:21 UTC
Description of problem:
After updating kernel 2.6.35.10-74.fc14.x86_64 remote controller of Hauppage Nova-T 500 (using kernel module dvb_usb_dib0700) does not work anymore. For example lirc+irw does not show anything from key presses. Same problems is also available with earlier 2.6.35.10-72.fc14.x86_64 version.

Everything works fine with kernel version 2.6.35.9-64.fc14.x86_64
and irw shows then nicely correct key presses.


Version-Release number of selected component (if applicable):
2.6.35.10-74.fc14.x86_64 (and 2.6.35.10-72.fc14.x86_64)


How reproducible:
Always

Steps to Reproduce:
1. Boot to new version of kernel
  
Actual results:
Remote controller does not work


Expected results:
Remote controller should work as in kernel version 2.6.35.9.*

Additional info:

from dmesg:
[   12.049292] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:0c.2/us
b1/1-1/rc/rc0/input8
[   12.049393] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:0c.2/usb1
/1-1/rc/rc0

From dmesg with 2.6.35.9.* kernel when remote controller works:
[   11.635838] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:0c.2/us
b1/1-1/input/input8

------------

From /proc/bus/input/devices:

I: Bus=0003 Vendor=2040 Product=9950 Version=0100
N: Name="IR-receiver inside an USB DVB receiver"
P: Phys=usb-0000:00:0c.2-1/ir0
S: Sysfs=/devices/pci0000:00/0000:00:0c.2/usb1/1-1/rc/rc0/input8
U: Uniq=
H: Handlers=kbd event8 
B: EV=100013
B: KEY=14afc336 284284d00000000 0 480058000 219040000801 9e96c000000000 90020000000ffc
B: MSC=10

From /proc/bus/input/devices with kernel 2.6.35.9.* when remote controller works fine:

I: Bus=0003 Vendor=2040 Product=9950 Version=0100
N: Name="IR-receiver inside an USB DVB receiver"
P: Phys=usb-0000:00:0c.2-1/ir0
S: Sysfs=/devices/pci0000:00/0000:00:0c.2/usb1/1-1/input/input8
U: Uniq=
H: Handlers=kbd event8 
B: EV=3
B: KEY=14afc336 294284f00000000 0 480158000 219040000801 9e96c000000000 90024010004ffc

Comment 1 Tommi R. 2011-01-04 17:00:12 UTC
Created attachment 471707 [details]
output of modinfo dvb_usb_dib0700 when IR is not working

Note that there are no dvb_usb_dib0700_ir_proto parameter which is available with working kernel version (2.6.35.9.*)

Comment 2 Tommi R. 2011-01-04 17:03:09 UTC
Created attachment 471708 [details]
output of modinfo dvb_usb_dib0700 when IR works fine

Note dvb_usb_dib0700_ir_proto parameter with earlier kernel (2.6.35.9.*) when IR is working fine

Comment 3 Tommi R. 2011-01-04 17:05:58 UTC
Created attachment 471712 [details]
evtest output of device when remote controller does not work (2.6.35.10.* kernel)

Comment 4 Tommi R. 2011-01-04 17:09:52 UTC
Created attachment 471714 [details]
evtest output of device when remote controller works fine (2.6.35.9.* kernel)

Comment 5 Tommi R. 2011-01-04 17:15:21 UTC
If needed I can generate  more debugging information of this.
I'm not sure if there is something to do with this and bug #665870

Comment 6 Jarod Wilson 2011-01-10 20:11:54 UTC
Hm, your evtest output suggests you've got a remote that speaks NEC Extended protocol, and neither of the rc-dib0700-* keymaps in the current kernel source are NEC Extended. Mauro, any idea what's missing here? I don't know the dib0700 code at all myself.

Comment 7 Jarod Wilson 2011-01-10 20:16:31 UTC
Bah. Not quite sure how I managed to change the component or cc dwmw2. Fixing.

Comment 8 Mauro Carvalho Chehab 2011-01-10 20:28:30 UTC
Could you please modprobe dib0700 driver with debug=9 parameter, and attach the output to the BZ?

Comment 9 Jarod Wilson 2011-01-10 20:41:19 UTC
(In reply to comment #5)
> If needed I can generate  more debugging information of this.
> I'm not sure if there is something to do with this and bug #665870

Just for the record, pretty sure its a completely unrelated issue over in that bug.

Comment 10 Tommi R. 2011-01-11 00:07:21 UTC
Created attachment 472710 [details]
modprobe dvb_usb_dib0700 debug=9 output with 2.6.35.10 kernel

dmesg output after modprobe dvb_usb_dib0700 debug=9
This is under 2.6.35.10-74 kernel when remote controller does not work

Comment 11 Tommi R. 2011-01-11 00:10:13 UTC
Created attachment 472711 [details]
modprobe dvb_usb_dib0700 debug=9 output with 2.6.35.9 kernel

dmesg output after command: modprobe dvb_usb_dib0700 debug=9
This is under 2.6.35.9-64 kernel when remote controller works.

Comment 12 Mauro Carvalho Chehab 2011-01-11 00:31:22 UTC
Tommi,

I'm not seeing any IR keypress on your logs. Did you press any key? They were catched by evtest but they didn't produce any logs? with the debug enabled? That's weird...

Comment 13 Tommi R. 2011-01-11 01:18:09 UTC
Yes, I double checked it now. There are no text generated by key presses. Both kernels are similar with it. I do not know if I do something wrong. Like debug=9 has no effect at all.

Comment 14 Michael Cree 2011-01-11 09:23:30 UTC
I'm seeing same problem with a Nova T 500 on a Debian (testing/squeeze) system.  Remote works with the Debian supplied 2.6.32 kernel, but not with 2.6.35.x and 2.6.36.x kernels (and I think I tried a 2.6.37-rc kernel too).

Tommi R:  To get debugging messages from the dvb_usb drivers the kernel must be compiled with the CONFIG_DVB_USB_DEBUG option.

I haven't posted debug output as my card is currently recording and I don't want to break it to reload the module with debug option.  Will attempt to get debug output in 12 hours or so time.

Comment 15 Michael Cree 2011-01-11 20:27:36 UTC
Created attachment 472891 [details]
Dmesg with dvb_usb_dib0700 debug on IR remote keypress

OK, output of dmesg when dvb_usb loaded with debug=49 and dvb_usb_dib0700 with debug=9.  Produced on a Debian system with self compiled 2.6.36.3 kernel, however since this appears to be a problem in the kernel it should give you useful evidence.  Dmesg ends with a number of IR remote keypresses (the OK and surrounding arrow keys).  Keypresses are not getting out to userspace.

I see a similar problem reported with the HVR1110 in bug report 665870.  I also have a PVR350 lying about somewhere, which I could plug into a system and test as well if it thought helpful.

Comment 16 Mauro Carvalho Chehab 2011-01-11 21:16:08 UTC
(In reply to comment #15)
> Created attachment 472891 [details]
> Dmesg with dvb_usb_dib0700 debug on IR remote keypress
> 
> OK, output of dmesg when dvb_usb loaded with debug=49 and dvb_usb_dib0700 with
> debug=9.  Produced on a Debian system with self compiled 2.6.36.3 kernel,
> however since this appears to be a problem in the kernel it should give you
> useful evidence.  Dmesg ends with a number of IR remote keypresses (the OK and
> surrounding arrow keys).  Keypresses are not getting out to userspace.

OK, those are the messages I was expecting:

[  214.180808] dib0700_rc_urb_completion()
[  214.180819] IR ID = 01 state = 01 System = 00 1E Cmd = 25 DA (len 6)
[  214.180824] RC5 protocol

This means that dib0700 got the right protocol and properly received the scancode.

From your evdev test:

Event: time 1293579362.215167, type 4 (Misc), code 4 (ScanCode), value 1e003b

It is clear that the protocol is RC-5 but, instead of using 0x1e3b, the driver
is passing it wrong to rc-core (as 0x1e003b).

The problem is that the keycode for RC-5 is using:
    keycode = poll_reply->system16 << 8 | poll_reply->data;
instead of:
    keycode = poll_reply->system << 8 | poll_reply->data;

I'll do some tests here and post a patch for it.

> 
> I see a similar problem reported with the HVR1110 in bug report 665870.  I also
> have a PVR350 lying about somewhere, which I could plug into a system and test
> as well if it thought helpful.

Not related.

Comment 17 Mauro Carvalho Chehab 2011-01-12 16:33:03 UTC
This patch should fix the issue:

    https://patchwork.kernel.org/patch/474391/

Comment 18 Michael Cree 2011-01-14 20:21:25 UTC
Thanks,  IR remote now working.

But I have noticed one other issue.  On a warm reboot the remote fails to work.  The following is seen in the kernel log in such a situation:

Registered IR keymap rc-dib0700-rc5
input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:08.0/0000:01:07.2/usb3/3-1/rc/rc0/input4
rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:08.0/0000:01:07.2/usb3/3-1/rc/rc0
dvb-usb: schedule remote query interval to 50 msecs.
dvb-usb: Hauppauge Nova-T 500 Dual DVB-T successfully initialized and connected.
dib0700: rc submit urb failed

It seems to always work correctly on a cold start so not a major problem.

Comment 19 Jarod Wilson 2011-01-18 17:50:25 UTC
Patch merged in 2.6.35.10-78.fc14.

Comment 20 Fedora Update System 2011-02-07 13:36:15 UTC
kernel-2.6.35.11-83.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/kernel-2.6.35.11-83.fc14

Comment 21 Fedora Update System 2011-02-10 21:27:03 UTC
kernel-2.6.35.11-83.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.