[mythtv-users] Need help with Hauppauge HRV-1600 IR Blaster and lirc_zilog in Mythbuntu .23/10.04

Jarod Wilson jarod at wilsonet.com
Thu Jul 8 19:49:20 UTC 2010


On Thu, Jul 8, 2010 at 12:25 PM, David Lasker <dave at altosdesign.com> wrote:
> I have captured both good and crashed logs with modprobe parameter of
> debug=1, with hardware.conf set to:
>
> REMOTE_MODULES="lirc_zilog"
>
> I don't see anything suspicious; the crashed log just stops in the middle.

Hrm, lame. Can you post the hung log by itself? May be able to tell
where it is in the init sequence (assuming its during init that it
fails) from that.

> I will try again with both lirc_dev and lirc_zilog loaded.
>
> One thing I don't understand from both logs is why 2 clients are being found
> at 0x70 and 0x71.

The chip has separate i2c bus addresses for tx and rx, so that's
normal. (0x70 is tx, 0x71 is rx).

> I only have one HVR-1600 in my system. I also have an
> HVR-1250, but that is the OEM version without the IR jack on the rear panel.
> Maybe it also has the same I2C chip in it?

Nope, there's no zilog on the hvr-1250 (I have that card myself).

> Does lirc_zilog work on the newer
> Hauppauge PCI express cards as well?

It should, if they have zilog z8 chips. I think some of the newer
cards actually switched to a cx23888 chip for IR though (which Andy
Walls is working on support for right now).

> A 2nd question: are the messages
> NAK expected: i2c_master_send failed with -6 (try x)
> in the success log anything to be concerned about?

Nope. Code snippet:

        /*
         * This bit NAKs until the device is ready, so we retry it
         * sleeping a bit each time.  This seems to be what the windows
         * driver does, approximately.
         * Try for up to 1s.
         */
        for (i = 0; i < 20; ++i) {
                set_current_state(TASK_UNINTERRUPTIBLE);
                schedule_timeout((50 * HZ + 999) / 1000);
                ret = i2c_master_send(&ir->c_tx, buf, 1);
                if (ret == 1)
                        break;
                dprintk("NAK expected: i2c_master_send "
                        "failed with %d (try %d)\n", ret, i+1);
        }

As long as you get a reply within 20 tries, its fine.

-- 
Jarod Wilson
jarod at wilsonet.com


More information about the mythtv-users mailing list