[linux-dvb] Pinnacle 310i, DVB-T

Pierluigi 'Lanugo' Rolando lanugo at ica-net.it
Sun Feb 12 02:10:51 CET 2006


Hi,
I've recently bought a Pinnacle 310i card and I'm trying to make it work
under Linux.
My system is an AMD64 (with 32 bit kernel and libs) working under Ubuntu
Breezy, kernel version 2.6.12. I'm using the (merged, I suppose) v4l-dvb
source tree pulled with Mercurial, following the wiki instructions.

I managed to get the analog video work.

Now I'm trying with DVB-T. I've searched this mailing list archives and
I've found that I should try loading the saa7134 module with card=81.
This prevents the analog part from working (I use card=77 for that).
When I modprobe saa7134-dvb I see 2 dmesg lines that I didn't get with
card=77:
--
DVB: registering new adapter (saa7133[0]).
DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
--

So far, so good.

Then I try 'scan it-Torino | tee ~/dvbt.conf' in order to get a channel
list.
The output is as follows:
--
scanning it-Torino
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 834000000 0 1 0 3 1 3 0
initial transponder 514000000 0 1 0 3 1 3 0
initial transponder 474000000 0 1 0 3 1 3 0
initial transponder 850000000 0 1 0 3 1 3 0
initial transponder 602000000 0 1 0 3 1 3 0
initial transponder 650000000 0 1 0 3 1 3 0
>>> tune to:
834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
834000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
514000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
514000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
474000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
474000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
850000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
602000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
650000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
>>> tune to:
650000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE
__tune_to_transponder:1290: ERROR: FE_READ_STATUS failed: 5 Input/output
error
ERROR: initial tuning failed
dumping lists (0 services)
Done.
--

Dmesg reports errors about PLLs and the firmware upload:

tda1004x: setting up plls for 48MHz sampling clock
tda1004x: found firmware revision 0 -- invalid
tda1004x: booting from eeprom
tda1004x: found firmware revision 0 -- invalid
tda1004x: firmware upload failed
tda1004x: pll set failed
tda1004x: pll set failed
tda1004x: pll set failed
tda1004x: pll set failed
tda1004x: pll set failed
[and so on]
--

Since it reports the 'firware upload failed' error I tried to use the
linux/Documentation/dvb/get_dvb_firmware utility to download and unzip
tt_budget_217g.zip. Then I put dvb-fe-tda10046.fw
in /lib/hotplug/firmware (as required by Ubuntu) and tried again.

This time I got the same scan output, but dmesg reads as following:
--
tda1004x: setting up plls for 48MHz sampling clock
tda1004x: found firmware revision 0 -- invalid
tda1004x: booting from eeprom
tda1004x: timeout waiting for DSP ready
tda1004x: found firmware revision 0 -- invalid
tda1004x: firmware upload failed
tda1004x: pll set failed
tda1004x: pll set failed
tda1004x: pll set failed
[and so on]
--

If I understand it correctly, this means that the firmware is uploaded,
not everything goes well.
Since the error is a timeout I've tried again the scan command, after a
few seconds, without reloading the drivers. This is what I've got:
--
tda1004x: setting up plls for 48MHz sampling clock
tda1004x: found firmware revision ff -- invalid
tda1004x: booting from eeprom
tda1004x: found firmware revision ff -- invalid
tda1004x: firmware upload failed
tda1004x: pll set failed
[and so on]
--

So it seems that the firmware isn't loaded correctly or that it doesn't
work with this card. I am sure that my 310i card has a tda10046a chip
on-board.

I'm willing to help with debugging, just ask me whatever data you need.
The only thing I'm not so keen about is meddling with hardware (e.g.,
opening the metal tuner box).

Thank you for your help (and time),
Pierluigi Rolando

PS: this is the lspci -vvvxxx for the card, in case it's needed:
0000:05:07.0 Multimedia controller: Philips Semiconductors SAA7133 Audio
+video broadcast decoder (rev d0)
        Subsystem: Pinnacle Systems Inc.: Unknown device 002f
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (21000ns min, 8000ns max)
        Interrupt: pin A routed to IRQ 17
        Region 0: Memory at d900a000 (32-bit, non-prefetchable)
[size=2K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=1 PME-
00: 31 11 33 71 06 00 90 02 d0 00 80 04 00 20 00 00
10: 00 a0 00 d9 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 bd 11 2f 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 01 54 20
40: 01 00 02 06 00 20 00 1c 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00





More information about the linux-dvb mailing list