[mythtv-users] 1212 and channel changing

Jarod Wilson jarod at wilsonet.com
Tue Sep 1 02:40:51 UTC 2009


On Monday 31 August 2009 10:15:33 Jarod Wilson wrote:
> On Aug 31, 2009, at 2:15 AM, Jarod Wilson wrote:
> ...
> > Finally got around to some in-depth lirc_zilog hacking tonight, I've
> > now got the following spit out:
> >
> > $ irw
> > 000000000000178f 00 Mute Hauppauge_350
> > 000000000000178f 01 Mute Hauppauge_350
> > 0000000000001792 00 Prev.Ch Hauppauge_350
> > 0000000000001792 01 Prev.Ch Hauppauge_350
> > 0000000000001792 02 Prev.Ch Hauppauge_350
> > 00000000000017b0 00 Pause Hauppauge_350
> > 00000000000017b0 01 Pause Hauppauge_350
> > 00000000000017b0 02 Pause Hauppauge_350
> > 00000000000017b5 00 Play Hauppauge_350
> > 00000000000017b5 01 Play Hauppauge_350
> >
> > In other words, its behaving as expected. Its a kludgy fix though, and
> > one likely to break lirc_zilog with other devices, possibly...
> >
> > The root problem is that there's a check in add_to_buf() that isn't
> > ever triggering (if ((ir->b[0] & 0x80) == 0)), so we're looping a good
> > long time, until we fill the entire buffer -- which fills after 8
> > iterations. My hack is to simply return if (got_data), after sending  
> > it
> > out to userspace.
> 
> I now suspect that its likely that lirc_zilog needs treatment similar  
> to lirc_i2c, where there are slightly different buffer handling  
> routines for different devices. I'm guessing there's actually relevant  
> data (like, say, the toggle bit) we need to look at elsewhere inside  
> the keybuf prior to index 3. I think I should be able to get IR  
> receive working reliably tonight w/o causing problems for other  
> devices, and it appears blasting may already be solved over in the  
> sagetv forums... (thank you to multiple people for pointing out the  
> link to that discussion).

Just committed a patch that make IR reception behave correctly for me:

http://git.wilsonet.com/linux-2.6-lirc.git/?a=commitdiff;h=563c28f1e6725c9039c9a0df0b3d5f2161cf38ca

So now I've moved on to blasting. It actually pretty much Just Works
right off the bat, once you grab the appropriate blasting lirc config
file from here:

http://www.blushingpenguin.com/mark/blog/?p=24

(specifically, http://www.blushingpenguin.com/mark/lmilk/lircd.conf )

Well, it blasts anyway, and the commands are being picked up. However,
irsend still thinks it failed to send. The driver is a fault here, its
saying it failed after two tries, when in fact, it was successful both
times. I'm using an mceusb receiver to pick up the transmitted commands
and it picks up two transmissions of everything, but they're at least
the *correct* signals. Just need to fix up the driver so it doesn't
think its failed.

-- 
Jarod Wilson
jarod at wilsonet.com


More information about the mythtv-users mailing list