[mythtv-users] Implementing HD-PVR IR Blaster (more)

Jarod Wilson jarod at wilsonet.com
Tue Nov 24 22:23:59 UTC 2009


On Nov 24, 2009, at 3:19 PM, Daniel Kristjansson wrote:

> On Sun, 2009-11-22 at 00:29 -0500, Jarod Wilson wrote:
>> On Nov 22, 2009, at 12:25 AM, David Engel wrote:
>> 
>>> On Sat, Nov 21, 2009 at 11:32:09PM -0500, Daniel Kristjansson wrote:
>>>> On Sat, 2009-11-21 at 22:47 -0500, Jarod Wilson wrote:
>>>>> Just tack these onto a kernel.org 2.6.31.x and that should be it:
>>>>> http://cvs.fedoraproject.org/viewvc/F-12/kernel/hdpvr-ir-enable.patch?view=markup
>>>>> http://cvs.fedoraproject.org/viewvc/F-12/kernel/lirc-2.6.31.patch?view=markup
>>>> 
>>>> Cool, I'll give that a try.
>>> 
>>> That's what I've done since 2.6.31.3.  If you run multiple HD-PVRs and
>>> want to setup udev rules for them, you'll also need another minor
>>> patch.  If you'd like the complete patch I'm using, let me know.
>> 
>> Ah, crud, I'd forgot about that...
>> 
>> http://git.wilsonet.com/linux-2.6-lirc.git/?a=commitdiff;h=c1a0870f6c9b63313d8d9eb7418863c97446103b
>> 
>> I should really refresh the Fedora lirc patches to include that. Not to mention the bits to use imon devices in pure input (no lirc required) mode...
> 
> Does this mean anything to you? FYI This is a 32-bit kernel if that
> hasn't been tested yet and the here is the md5sum of the firmware:
> 1c117d591bbcb733690e1b7b36202490  /lib/firmware/haup-ir-blaster.bin

Not sure if I've tried a 32-bit kernel, but I don't know of any reason why 32-bit vs. 64-bit should matter... The trace seems vaguely familiar, but its been a while. I don't recall seeing an i2c_master_send failing with a -5 (-EIO) though.

The driver is littered with a few places where we check for errors from i2c_master_send(), would need to know which call site it is that's failing. From the sequence there, its gotta be either the one in send_data_block() or one of the ones in send_boot_data(). If you can figure out which one is failing, that might shed some light on the matter.

Also, what incarnation of lirc_zilog.c are you using? Could be there's a fix missing that's in the git tree, or a regression added to the git tree, depending on which one you're using... :) I really need to dust off my own hdpvr and poke at it some, I think...


> [  238.523429] lirc_dev: IR Remote Control driver registered, major 251                                   
> [  238.524793] lirc_zilog: Zilog/Hauppauge IR driver initializing                                         
> [  238.531601] lirc_zilog: chip found with RX and TX                                                      
> [  238.531654] lirc_dev: lirc_register_driver: sample_rate: 0                                             
> [  238.531729] Zilog/Hauppauge i2c IR 0-0071: firmware: requesting haup-ir-blaster.bin                    
> [  238.753223] lirc_zilog: i2c_master_send failed with -5                                                 
> [  238.753361] BUG: unable to handle kernel NULL pointer dereference at 00000028                          
> [  238.753368] IP: [<f80a09f4>] lirc_unregister_driver+0x24/0x160 [lirc_dev]                              
> [  238.753381] *pde = 00000000                                                                            
> [  238.753385] Oops: 0000 [#1] PREEMPT SMP                                                                
> [  238.753392] last sysfs file: /sys/devices/pci0000:00/0000:00:1a.7/usb1/1-3/i2c-adapter/i2c-0/0-0071/firmware/0-0071/loading                                                                                      
...
> [  238.753513] Pid: 5498, comm: modprobe Tainted: P           (2.6.31.6 #2) Inspiron 530                  
> [  238.753518] EIP: 0060:[<f80a09f4>] EFLAGS: 00010286 CPU: 1                                             
> [  238.753526] EIP is at lirc_unregister_driver+0x24/0x160 [lirc_dev]                                     
> [  238.753531] EAX: f80a2f60 EBX: 00000000 ECX: c28252d8 EDX: d4b2e000                                    
> [  238.753535] ESI: 00000000 EDI: d4b2fdb8 EBP: d4b2fda4 ESP: d4b2fd90                                    
> [  238.753539]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068                                              
> [  238.753545] Process modprobe (pid: 5498, ti=d4b2e000 task=d4904b60 task.ti=d4b2e000)                   
> [  238.753548]
> Stack:                                                                                     
> [  238.753551]  f80b21f5 c0720468 d4b06400 d4b06400 d4b06460 d4b2fde4 f80b2205 27a268b5                   
> [  238.753563] <0> f9f0dd13 d4b06400 00000000 00000000 d4b2fdc0 d4b2fdc0 00000000 00000000                
> [  238.753576] <0> d4b2fdd0 d4b2fdd0 fffffffb d4b06400 d4b06400 d4b2fe58 f80b3712 f80b3b60                
> [  238.753590] Call Trace:                                                                                
> [  238.753599]  [<f80b21f5>] ? ir_remove+0x95/0x150 [lirc_zilog]                                          
> [  238.753607]  [<f80b2205>] ? ir_remove+0xa5/0x150 [lirc_zilog]                                          
> [  238.753619]  [<f80b3712>] ? ir_probe+0x502/0x950 [lirc_zilog]                                          
> [  238.753627]  [<f80b3b60>] ? lirc_thread+0x0/0x3b4 [lirc_zilog]                                         
> [  238.753639]  [<c023e4c7>] ? sysfs_do_create_link +0x97/0x130                                            
> [  238.753647]  [<c0437a9c>] ? i2c_device_probe +0x8c/0xc0                                                 
> [  238.753654]  [<f80b3210>] ? ir_probe+0x0/0x950 [lirc_zilog]                                            
> [  238.753662]  [<c039e3e9>] ? driver_probe_device +0x69/0x170                                             
> [  238.753669]  [<c056d42b>] ? _spin_unlock_irqrestore +0x2b/0x50                                          
> [  238.753676]  [<c039e571>] ? __driver_attach +0x81/0x90
...

-- 
Jarod Wilson
jarod at wilsonet.com





More information about the mythtv-users mailing list