[pvrusb2] My HVR-1950 IR Remote does work

Michael Krufky mkrufky at linuxtv.org
Sat May 30 17:16:31 CDT 2009


On Sat, May 30, 2009 at 5:38 PM, Roger <rogerx at sdf.lonestar.org> wrote:
> On Sat, 2009-05-30 at 12:55 -0800, Roger wrote:
>
>> Here's a small clipping of the (very important) i2c scan within dmesg.
>>
>> tuner' 2-0042: chip found @ 0x84 (pvrusb2_b)
>> cx25840' 2-0044: cx25843-24 found @ 0x88 (pvrusb2_b)
>> pvrusb2_b: i2c scan beginning
>> pvrusb2_b: i2c scan: found device @ 0x19
>> pvrusb2_b: i2c scan: found device @ 0x1a
>> pvrusb2_b: i2c scan: found device @ 0x42
>> pvrusb2_b: i2c scan: found device @ 0x44
>> pvrusb2_b: i2c scan: found device @ 0x51
>> pvrusb2_b: i2c scan: found device @ 0x70
>> pvrusb2_b: i2c scan: found device @ 0x71
>> pvrusb2_b: i2c scan: found device @ 0x72
>> pvrusb2_b: i2c scan: found device @ 0x73
>> pvrusb2_b: i2c scan done.
>>
>>
>> One of these addresses is for the IR receiver and the other (one or two)
>> is for the plugin IR transmitter.  (From the additional i2c addresses &
>> looking at the contacts on the plugin IR transmitter, the plugin IR
>> blaster can both receive & transmit?)
>
>
> Sorry.  I posted the above log before noting MythTV wasn't picking-up
> the hvr-1950.  (And, of course, Mike wants full debug output for good
> debugging, but I want to leaf through some of it & re-verify and post to
> a separate thread once I organize my thoughts.)
>
>
> This is wicked.  I've got two diff i2c scans after an hvr-1950 unplugged
> & plugged (cold start of the hvr-1950).
>
> The initial i2c scan when this linux box is turned on and both, pvrusb2
> & hvr-1950 are initially initialized and shows more i2c addresses found.
>
> # dmesg |grep pvrusb2_b
> tuner' 2-0042: chip found @ 0x84 (pvrusb2_b)
> cx25840' 2-0044: cx25843-24 found @ 0x88 (pvrusb2_b)
> pvrusb2_b: i2c scan beginning
> pvrusb2_b: i2c scan: found device @ 0x19
> pvrusb2_b: i2c scan: found device @ 0x1a
> pvrusb2_b: i2c scan: found device @ 0x42
> pvrusb2_b: i2c scan: found device @ 0x44
> pvrusb2_b: i2c scan: found device @ 0x51
> pvrusb2_b: i2c scan: found device @ 0x70
> pvrusb2_b: i2c scan: found device @ 0x71
> pvrusb2_b: i2c scan: found device @ 0x72
> pvrusb2_b: i2c scan: found device @ 0x73
> pvrusb2_b: i2c scan done.
>
>
> The second i2c scan listed is after the hvr-1950 is unplugged/plugged
> (cold started) while the box is on.
>
> # dmesg |grep pvrusb2_b
> tuner' 2-0042: chip found @ 0x84 (pvrusb2_b)
> cx25840' 2-0044: cx25843-24 found @ 0x88 (pvrusb2_b)
> pvrusb2_b: i2c scan beginning
> pvrusb2_b: i2c scan: found device @ 0x42
> pvrusb2_b: i2c scan: found device @ 0x44
> pvrusb2_b: i2c scan: found device @ 0x51
> pvrusb2_b: i2c scan: found device @ 0x70
> pvrusb2_b: i2c scan: found device @ 0x71
> pvrusb2_b: i2c scan: found device @ 0x72
> pvrusb2_b: i2c scan: found device @ 0x73
> pvrusb2_b: i2c scan done.
>
> On the first scan, only the old pvrusb2 is usable by MythTV while the
> hvr-1950 is unusable by Mythtv.
>
> On replug of the hvr-1950, it is then usable by MythTV and, of course,
> the IR remote works.
>
> So, roccomoretti, verify you've got similar i2c addresses (with my above
> second i2c scan). Once these are found, any other part of the pvrusb2
> driver debug messages are really irrelevant as lirc handles everything
> else after this.
>
>
> --
> Roger
> http://rogerx.freeshell.org


I'm sorry, Roger -- you're totally off base.

Would it help if I just told you what each device is?

> pvrusb2_b: i2c scan: found device @ 0x19
> pvrusb2_b: i2c scan: found device @ 0x1a

Both of these refer to the ATSC/QAM demodulator.


> pvrusb2_b: i2c scan: found device @ 0x42

Analog tuner / demodulator

> pvrusb2_b: i2c scan: found device @ 0x44

Video Decoder

> pvrusb2_b: i2c scan: found device @ 0x51

Eeprom

> pvrusb2_b: i2c scan: found device @ 0x70
> pvrusb2_b: i2c scan: found device @ 0x71
> pvrusb2_b: i2c scan: found device @ 0x72
> pvrusb2_b: i2c scan: found device @ 0x73

All four of these refer to the IR Receiver / Blaster.  This is a single device.


The addresses that disappeared had nothing to do with the IR hardware
-- I am interested, however, in why the ATSC/QAM demodulator's
addresses didn't show up, although I have an idea what could have
caused it.....

The i2c_scan module option is really meant as a debugging tool.  You
shouldn't have i2c_scan enabled under normal operation.

Some hardware with 16-bit registers will get confused when a driver
scans the i2c bus.  Sometimes the driver will issue an 8-bit read to a
16 bit register, and will misinterpret the second 8 bits as a valid
read from the next i2c address.

If the DVB frontend was successfully registered anyway, then this is a
moot point, entirely.  There may be a race condition that prevented
the i2c addresses from showing up in the scan, but if the DVB frontend
was successfully initialized, then there really is no issue.

So, what actually matters (with respect to the ATSC/QAM demod) is
whether or not you see a line in dmesg like this:

DVB: registering adapter 0 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)...


Back to the original point, the IR receiver and IR blaster
functionality are both provided by the same chip.  The IR receiver is
built into the HVR1950, and you dont need to plug in any cables to use
it.  The IR Blaster, however, requires the blaster cable to be plugged
in and aimed directly at the set top box (or whatever) mounted at
close proximity.

As far as lirc goes, I recommend to use the latest version.  The IR
blaster support for the pvr150 is exactly the same as what would be
required for the HVR-1950 -- the same zilog chip is used in both
designs.  There was a plan to rename lirc_pvr150 to lirc_zilog , but
I'm not sure what version of lirc has that change.  I have not tested
this myself, but I have heard from others that it works for both the
HVR-1950 and the HD-PVR.  (both use the same IR solution as the
PVR150)

-Mike Krufky


More information about the pvrusb2 mailing list