View unanswered posts    View active topics

All times are UTC - 6 hours





Post new topic Reply to topic  [ 5 posts ] 
Print view Previous topic   Next topic  
Author Message
Search for:
PostPosted: Sun Apr 22, 2007 10:38 am 
Offline
Joined: Tue Jan 18, 2005 2:07 am
Posts: 1532
Location: California
My kworld 115 card now works properly with my R5D1 install, but it is causing problems with my Hauppauge PVR-250 remote. The symptom is that the system will appears to "miss" some of the button presses. I've done a bunch of digging, and it appears the problem is that the driver "ir-kbd-i2c" is having a bit of a "tug-of-war" with LIRC and prevents some of the presses from properly getting through. Unfortunately, the SAA7134 driver seems to require that ir-kbd-i2c be loaded, even if I set "disable_ir=1".

In doing some research I found an email where someone has posted a patch for ir-kbd-i2c that essentially disables it for Hauppauge remotes so that it won't interfear with LIRC. ( http://marc.info/?l=linux-video&m=116663706008779&w=2 ). Unfortunately, I can't figure out the right way to build ir-kbd-i2c.ko

Here are my questions:

1. Does anyone have a simpler solution for this problem than re-building ir-kbd-i2c?

2. Can someone briefly describe to me how to properly rebuild this driver. (I've already uncompressed the kernel sources, but I can't figure out where I need to go to properly run the make after making the edits.)

Any help would be appreciated -- thanks!

Marc


Top
 Profile  
 
 Post subject:
PostPosted: Sun Apr 22, 2007 11:19 am 
Offline
Joined: Tue Jan 18, 2005 2:07 am
Posts: 1532
Location: California
OK, I gave up about 15 minutes too soon. I figured out how to compile the driver and my Hauppauge remote works perfectly now. Here is what I did:

1. Made the edits to the source file: /usr/src/kernel-source-2.6.17-chw-8/drivers/media/video/ir-kbd-i2c.c

2. cd /usr/src/kernel-source-2.6.17-chw-8

3. make drivers/media/video/ir-kbd-i2c.ko

I actually simplified the source code edits in ir-kbd-i2c.c a bit. What I've done is definitely hardcoded and not the more general approach provided in the original thread, but it works for my specific situation and made doing the proper edits a bit easier.
Code:
        case 0x1a:
                name        = "Hauppauge";
                ir->get_key = get_key_haup;
                ir_type     = IR_TYPE_RC5;
                if (hauppauge == 1) {
/* Next 3 lines added by marc */
                        input_free_device(input_dev);
                        kfree(ir);
                        return -1;
                        ir_codes    = ir_codes_hauppauge_new;
                } else {

/* Next 3 lines added by marc */
                        input_free_device(input_dev);
                        kfree(ir);
                        return -1;
                        ir_codes    = ir_codes_rc5_tv;
                }
                break;


Marc


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jun 28, 2007 5:07 am 
Offline
Joined: Thu Feb 24, 2005 2:50 am
Posts: 60
FYI, patching ir-kbd-i2c as described above worked for me in R5F1 (couldn't just rename the module since I'm using the KWorld 115 plus a PVR150 & PVR250), but note the kernel version number is different in R5F1. Also of course you need to copy the resulting ir-kbd-i2c.ko file to the /lib/modules/2.6.18-chw-13/kernel/drivers/media/video directory and reboot. Note I had also updated ivtv to 0.10.3 earlier but that had no effect.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jun 28, 2007 7:28 am 
Offline
Joined: Tue Jan 18, 2005 2:07 am
Posts: 1532
Location: California
Thanks for posting this -- it will save me time when I do my upgrade.

Marc


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 02, 2007 10:10 pm 
Offline
Joined: Thu Feb 24, 2005 2:50 am
Posts: 60
Looks like I spoke too soon. While the aforementioned ir-kbd-i2c patch fixed the Hauppauge remote problem (missed button presses), the ir-kbd-i2c driver was still stomping on the Hauppauge cards i2c registers during boot (somewhat intermittently due to parallel driver loads by udev). One side effect of this problem is that my PVR-250 was intermittently showing up as a PVR-150 (see ivtv driver output in this post: http://www.mysettopbox.tv/phpBB2/viewtopic.php?t=15449&highlight= ). I suspected a conflict with ir-kbd-i2c since I found I could eliminate the problem by renaming ir-kbd-i2c.ko so it doesn't get loaded during POST. However, my Kworld ATSC 115 would of course no longer work, since the saa7134 driver couldn't pull in ir-kbd-i2c.

The solution I finally had success with was to disable the ir-kbd-i2c driver BEFORE it starts mucking with registers on ANY video card. (Really I doubt whether its safe to have ir-kbd-i2c and lirc both trying to provide the same ir functionality anyway). To do this, just comment out the following "if" statement in the ir_probe function in ir-kbd-i2c (leaving the return 0), recompile, copy the driver to the location mentioned above, and reboot.
Code:
//   if (NULL == probe)     // no2u commented out this line
      return 0;

This disables ir-kbd-i2c entirely so you may not be able to use the Kworld card for your ir remote, but I didn't care. NOW I can finally use the Kworld ATSC 115 in the same system without ir-kbd-i2c breaking my Hauppauge cards.


Top
 Profile  
 

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 


All times are UTC - 6 hours




Who is online

Users browsing this forum: No registered users and 91 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group

Theme Created By ceyhansuyu