[linux-dvb] Pinnacle PCTV HD pro USB stick 801e
stoth at linuxtv.org
Fri Apr 11 18:14:36 CEST 2008
Jernej Tonejc wrote:
>>> DIBcom 0700C-XCCXa-G
>>> USB 2.0 D3LTK.1
>> Hmm. I haven't really used the dibcom src but I think this is already
> Yes, this part works (I think this is responsible for attaching the IR
> remote controler and the remote works).
>>> NOTKRSUI H0801
>> I have a driver for this, I hope to release it shortly.
> I think this is the main problem for me so far. Without a frontend
> attached it doesn't try to attach the tuner and the code for s5h1409
> just doesn't find the demod at any address (I tried everything from
Yeah, don't use the s5h1409, you're wasting your time.
>> The community could use more developers, why not roll up your sleeves
>> and help solve your problem - and the problem for others? Everyone has
>> to start somewhere and usually when would-be developers ask questions
>> - everyone is willing to help.
> I'll try to do my best - the problem is that I don't know where to begin
> and which parts are needed for the thing to work. It seems to me that
> getting the code for s5h1411 would be the start since the dib0700 part
> does work up to attaching the frontend. The /dev/dvb/adapter0/ folder
> crw-rw---- 1 root video 212, 4 2008-04-11 09:02 demux0
> crw-rw---- 1 root video 212, 5 2008-04-11 09:02 dvr0
> crw-rw---- 1 root video 212, 7 2008-04-11 09:02 net0
> I think the s5h1409 code is just not compatible with s5h1411. Also, the
> GPIO settings are currently just copied from some other frontend
> attaching function (stk7070pd_frontend_attach0):
> static int s5h1411_frontend_attach(struct dvb_usb_adapter *adap)
> dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1);
> dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1);
> dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1);
> dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1);
> dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0);
> dib0700_ctrl_clock(adap->dev, 72, 1);
> dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1);
> dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1);
> /*dib7000p_i2c_enumeration(&adap->dev->i2c_adap, 1, 18,
> &dib7070p_dib7000p_config); */
> adap->fe = dvb_attach(s5h1409_attach, &pinnacle_801e_config,
> &adap->dev->i2c_adap );
> return adap->fe == NULL ? -ENODEV : 0;
Wow, is this how the attach code inside the dibcom driver really looks? Eek.
> I have NO idea what should be set to what values. Also, what is the
> equivalent of dib7000p_i2c_enumeration for s5h14xx family? (it's
> commented out in the above code as it does not work.
> Also, I have no previous experience with DVB stuff so I really don't
> know which parts are independent from each other and how to test various
> things on the device.
The s5h1409 is a different beast to the s5h1411, so you're wasting your
time trying to make that work.
That being said, I'm kinda surprised you're having i2c scan issues. I
don't work with the dibcom src so maybe that's a true limitation of the
part, or maybe something else is just plain broken on your design.
Googling/searching the mailing list, or reading the wiki's at
linuxtv.org might show a reason why I2C scanning isn't supported.
In terms og the GPIO's, you'll need to understand which GPIO the xc5000
tuner is attached to (because the xc5000 needs to toggle this). You
might also need to drive other gpio's to bring the tuner, demod or any
other parts out of reset - and able to respond to i2c commands. I tend
to add /* comments */ around the GPIO code for each product detailing
any gpio's I know (or suspect), which helps other devs maintain the code
later in it's life.
Maybe you could make some progress with understanding why I2C scanning
doesn't work, and perhaps dig deeping and try to establish which gpio's
are connected to what.
With these two things, and a s5h1411 driver we should be able to get
support for this product pretty easily.
More information about the linux-dvb