[mythtv-users] USB IR Receivers
Kirk Bocek
t004 at kbocek.com
Fri Sep 4 14:24:00 UTC 2015
On 9/4/2015 1:50 AM, Alec Leamas wrote:
> On 03/09/15 22:23, Kirk Bocek wrote:
>>
>>
>> On 9/3/2015 12:27 PM, Kirk Bocek wrote:
>
>>
>> Next problem. modprobing my new mceusb.ko yields a kernel crash of some
>> sort:
>>
>> $modprobe -v mceusb
>> insmod
>> /lib/modules/4.1.5-100.fc21.x86_64/kernel/drivers/media/rc/rc-core.ko.xz
>> insmod
>> /lib/modules/4.1.5-100.fc21.x86_64/kernel/drivers/media/rc/mceusb.ko.xz
>> Killed
>>
>> $dmesg
>> ...
>> [ 163.692148] mceusb: module verification failed: signature and/or
>> required key missing - tainting kernel
>> [ 163.730477] Registered IR keymap rc-rc6-mce
>> [ 163.730711] input: Media Center Ed. eHome Infrared Remote Transceiver
>> (0471:20cc) as
>> /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/rc/rc0/input8
>> [ 163.731422] rc0: Media Center Ed. eHome Infrared Remote Transceiver
>> (0471:20cc) as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/rc/rc0
>> [ 163.746365] BUG: unable to handle kernel NULL pointer dereference at
>> 0000000000000003
>> [ 163.746457] IP: [<ffffffffa064a129>] usb_endpoint_xfer_int+0x10/0x25
>
> Here is a kernel oops. As long as this is with us, anything can
> happen. Now, the question is if you can reproduce this without your
> patches to mceusb.c. If so, this is a kernel bug which should be
> reported. If not, you need to find out (bisect?) which part of your
> patch which causes this.
This is all I added:
/* Philips/Spinel plus IR transceiver for ASUS */
{ USB_DEVICE(VENDOR_PHILIPS, 0x20cc) },
Remove those lines from source file, recompile and reinstall and crash
goes away. But IR instance goes away too. No /sys/class/rc, etc. No
driver tree:
$lsmod |grep mce
mceusb 36864 0
rc_core 28672 1 mceusb
So just edit one of the existing device lines to 0x20cc: modprobe and
same result as before, kernel oops.
>
>> [ 163.812088] IR LIRC bridge handler initialized
>
> There is a *very* small chance that the lirc bridge works but not the
> input layer. I really doubt it, since the problem seems to be in the
> usb underpinnings. Still you could test this by doing:
>
> $ sudo echo lirc > /sys/class/rc/rc0/protocols
> $ mode2 --raw --device /dev/lirc0
>
> and pushing some buttons. There should be printable space/pulse
> durations on stdout if it works.
OMG! For the first time I got something!
mode2: /lib64/libiguanaIR.so.0: no version information available
(required by mode2)
space 16777215
But only that! Only the space and nothing more. I pressed a bunch of keys.
>
> BTW, while testing (loading/unloading) the module you might need to
> change 'rc0' here to whatever index the new module load allocates e.
> g., rc1 (been there, done that...) Check with dmesg().
>
No, only /sys/class/rc/rc0.
Now the kernel oops causes some low level failure. Commands like lsusb
just hang and require a cold restart.
More information about the mythtv-users
mailing list