On Tue, Nov 15, 2011 at 11:12 PM, Kyle Strickland
<k...@kyle.strickland.name> wrote:
> Hi folks,
> I'm messing around trying to get my Kworld PC150-U ATSC hybrid tuner
> card (17de:a134) to work, and I think I'm almost done.  I've been able
> to get all of the functionality to work on its own: remote control,
> FM, NTSC, composite input, and ATSC, but for some reason, whenever I
> use the ATSC decoder, the remote control stops working.
> Here's what I know about the card so far:
> Analog Decoder chip: SAA7134HL
> Tuner: TDA8290+TDA18271
> ATSC/ClearQAM Decoder: Samsung S5H1411, TS using parallel input, chip
> enabled by setting GPIO18 high
> Remote control: I2C with GPIO8 going low signalling a key press,
> similar to MSI TV@nywhere Plus, but with different GPIO pin used for
> signalling.
> Previous thread about this card found here:
> http://article.gmane.org/gmane.linux.drivers.video-input-infrastructure/25680/
> Looking at the pictures on newegg, the card looks to be the same as
> the MSI Digi@nywhere A/D Plus, except with a green mask instead of
> red, a different symbol on the remote control media button, and it
> doesn't include batteries for the remote :)  The EEPROM contents are
> even the same except for the subdevice id at the beginning.
> So, whenever I run VLC to watch DTV, button presses stop showing up
> with the GPIO, and if I force it to poll I2C rather than checking
> GPIO8, I get a read error of either BUSY or ST_ERR or NO_DEVICE.  For
> that matter, I get a lot of BUSY and ST_ERR, but not NO_DEVICE, with
> the S5H1411 in general, and hacked together a retry loop for reading
> and writing registers to get past it.  I would suspect just funkiness
> on the I2C bus, but GPIO8 rarely registers the key press when watching
> DTV.  When it does register the key press, I am able to read the key
> code over I2C.
> I'm completely new to working with tuner cards (just since I bought
> this one a month ago), so I was wondering if any of you out there have
> had a similar experience with other cards and might have some advice.
> I'd appreciate any help I can get.
> I'll be happy to provide code, but I am not running the latest kernel
> yet.  I'm just making the modifications to the ubuntu source, to see
> whether I could get the thing to work before I go all in building and
> running the kernel from source control
> Distribution: Ubuntu 11.10
> uname -a: Linux home 3.0.0-12-generic #20 SMP Tue Nov 1 00:33:52 EDT
> 2011 x86_64 x86_64 x86_64 GNU/Linux
> Modifications made to s5h1411.ko, saa7134.ko, saa7134-alsa.ko,
> saa7134-dvb.ko, tda8290.ko, tda18271.ko and new module
> rc_kworld_pc150u.ko.
> Thanks,
> Kyle Strickland

In case anyone happens to be looking into this now or in the future (
see http://xkcd.com/979/ ), I found the problem, and it has to do with
not reading enough bytes in s5h1411_readreg() in s5h1411.c.  When I
set .len to 3 (originally 2), it reads one more byte off of the i2c
bus and leaves the bus in a working state for the IR device.

I haven't figured out why it was set to 2 originally, or what the
Right Way is to solve the problem so as not to break s5h1411 working
already with other decoder chips.  Any ideas?

Kyle Strickland
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to