Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Terratec Cinergy 1200 DVB-C Card supported?



Robert Schlabbach schrieb:
From: "Markus Schulz" <msc@antzsystem.de>

I've played a little bit with different i2c addresse (loop from 0x7 to
0x20) but with no luck.
The problem seems to be that no i2c level transform is possible. Each
i2c_transfer returned -ENOSYS cause of undefined i2c->algo->master_xfer
variable.(checked against i2c-core.c code)

The SAA7146A module must load first, and provide the i2c transfer function.
The frontend module must load as somewhat of a "child device". Sorry, I
don't know how that works on Linux, I'm a Windows programmer... ;)

Okay, adapter will be found now after inserting

MAKE_BUDGET_INFO(cin12c, "Terratec Cinergy 1200 DVB-C", BUDGET_CIN1200C);

MAKE_EXTENSION_PCI(cin12c, 0x153b, 0x1156)

in budget.c with the correct sub-id for my card.
Adapter will be found at 0x0c.

After changing probe_tuner method to test from addr=0x60 to 0x63 also an tuner will be found and devices nodes now can be used from user space applications.

syslog looks like this now:
**************************************************
Sep 26 13:22:41 nias kernel: Linux video capture interface: v1.00
Sep 26 13:22:41 nias kernel: tda10021: I2C level transfers not supported
Sep 26 13:22:41 nias kernel: saa7146: register extension 'dvb'.
Sep 26 13:22:41 nias kernel: saa7146: register extension 'budget dvb'.
Sep 26 13:22:41 nias kernel: ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 18 (level, low) -> IRQ 193
Sep 26 13:22:41 nias kernel: saa7146: found saa7146 @ mem f8de2000 (revision 1, irq 193) (0x153b,0x1156).
Sep 26 13:22:41 nias kernel: DVB: registering new adapter (Terratec Cinergy 1200 DVB-C).
Sep 26 13:22:41 nias kernel: tda10021: probe addr=0x07 res=0xffffff87 and id =0x00
Sep 26 13:22:41 nias kernel: tda10021: probe addr=0x08 res=0xffffff87 and id =0x00
Sep 26 13:22:42 nias kernel: tda10021: probe addr=0x09 res=0xffffff87 and id =0x00
Sep 26 13:22:42 nias kernel: tda10021: probe addr=0x0a res=0xffffff87 and id =0x00
Sep 26 13:22:42 nias kernel: tda10021: probe addr=0x0b res=0xffffff87 and id =0x00
Sep 26 13:22:42 nias kernel: tda10021: probe addr=0x0c success
Sep 26 13:22:43 nias kernel: tda10021: pwm=0x48
Sep 26 13:22:43 nias kernel: DVB: registering frontend 0 (TDA10021 based DVB-Cfrontend)...
Sep 26 13:22:43 nias kernel: adapter failed MAC signature check
Sep 26 13:22:43 nias kernel: encoded MAC from EEPROM was ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
Sep 26 13:22:43 nias kernel: saa7146: register extension 'budget_ci dvb'.
Sep 26 13:22:43 nias kernel: saa7146: register extension 'budget dvb /w video in'.
**************************************************

The "failed MAC" message comes from ttpci-eeprom.c module. Don't know if this is important.

Another big problem with probing is perhaps the following

res = i2c_transfer(i2c, msg, 2);
if (res == 2 && (id & 0xf0) == 0x60)

in original ves1820 code the id will be tested with "== 0x70", but my card returned 0x6a. I've changed it to 0x60 but don't know if this makes some problems.

After loading drivers i wanted to scan for some tv-stations with scan utility but it aborts with errors.
******************************************
scan /usr/share/doc/dvb-utils/examples/scan/dvb-c/de-Berlin
scanning /usr/share/doc/dvb-utils/examples/scan/dvb-c/de-Berlin
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 394000000 6900000 0 3
initial transponder 113000000 6900000 0 3
>>> tune to: 394000000:INVERSION_AUTO:6900000:FEC_NONE:QAM_64
WARNING: >>> tuning failed!!!
>>> tune to: 394000000:INVERSION_AUTO:6900000:FEC_NONE:QAM_64 (tuning failed)
WARNING: >>> tuning failed!!!
>>> tune to: 113000000:INVERSION_AUTO:6900000:FEC_NONE:QAM_64
WARNING: >>> tuning failed!!!
>>> tune to: 113000000:INVERSION_AUTO:6900000:FEC_NONE:QAM_64 (tuning failed)
WARNING: >>> tuning failed!!!
ERROR: initial tuning failed
dumping lists (0 services)
Done.
******************************************
Scan uses writereg and readreg methods from tda10021 modul (i've put some printk calls there)

In tda10021.c found in kernel 2.4 rpm package (found with google as previously mentioned) i've found an array (inittab) with 64 byte values.
In my modified ves1820 code there is a similiar table (with 53 values) but with different values. These values will be written to hardware on init method. Should i use the other table values?


Markus




Home | Main Index | Thread Index