Zolid Hybrid TV Tuner: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(11 intermediate revisions by 2 users not shown)
Line 3: Line 3:
A Hybrid TV Tuner from [[Zolid]]. It might be sold in the Netherlands only.
A Hybrid TV Tuner from [[Zolid]]. It might be sold in the Netherlands only.


The Hybrid TV Tuner is not supported by Linux.
The Hybrid TV Tuner is supported by V4l since [http://osdir.com/ml/linux-media/2009-09/txtx4Ndg7lpm4.txt this patch] has been merged with the V4L tree.



==Overview/Features==
==Overview/Features==
Line 14: Line 13:
* [[NXP/Philips TDA182xx|NXP TDA18271]] (tuner)
* [[NXP/Philips TDA182xx|NXP TDA18271]] (tuner)
* [[NXP TDA10048]] (demodulator)
* [[NXP TDA10048]] (demodulator)
* [[Philips SAA7134|NXP/Philips SAA7131]] (A/V decoder and PCI Interface)
* [[NXP/Philips TDA8290]] (analog IF demodulator, embedded on the SAA7131E/03/G chip)
* [[Philips SAA7134|NXP/Philips SAA7131E]] (A/V decoder and PCI Interface, compatible with SAA7135)


===Other Images===
===Other Images===
Line 24: Line 24:


===Identification===
===Identification===
<pre>
lspci -vvvnnxxx
lspci -vvvnnxxx
04:09.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
04:09.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
Line 53: Line 54:
e0: 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
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
</pre>



==Making it Work==
==Making it Work==
This card is working pretty well under Linux with a recent V4L snapshot, or with the patch applied. The tda18271 driver detects the card automatically, although it outputs some cryptical error messages that don't prevent the card from working:
It is not supported by Linux. The subsystem has two matches, both reference boards: Philips TOUGH DVB-T reference design and Philips EUROPA V3 reference design, which neither work correctly. The reference designs expect different chips then the ones that are present on the board.


<pre>
When loading the saa7134 module with the card parameter 156 (Hauppauge WinTV-HVR1110r3 DVB-T/Hybrid) with firmware installed (see below), the card seems to work, it can find DVB channels but tuning to them fails with a "Filter timout" message.
tda18271_read_regs: [1-0060|M] ERROR: i2c_transfer returned: -5
tda18271_ir_cal_init: [1-0060|M] error -5 on line 812
tda18271_init: [1-0060|M] error -5 on line 836
tda18271_tune: [1-0060|M] error -5 on line 909
tda18271_set_analog_params: [1-0060|M] error -5 on line 1046
tda18271_write_regs: [1-0060|M] ERROR: idx = 0xc, len = 4, i2c_transfer returned: -5
tda18271_write_regs: [1-0060|M] ERROR: idx = 0x13, len = 1, i2c_transfer returned: -5
tda18271_write_regs: [1-0060|M] ERROR: idx = 0x13, len = 1, i2c_transfer returned: -5
tda18271_write_regs: [1-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -5
tda18271_set_analog_params: [1-0060|M] error -5 on line 1046
tda18271_write_regs: [1-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -5
</pre>


===Firmware===
===Firmware===
Line 68: Line 81:


===Drivers===
===Drivers===
The card uses the built-in V4L saa7134 driver, the tda10048 demodulator driver (when using the Hauppauge set-up) and the tda18271 tuner driver (also when using the Hauppauge set-up).
The card uses the built-in V4L saa7134 driver, the tda10048 demodulator driver and the tda18271 tuner driver. The card id to be used with the driver is 173.


===Sample Kernel Output===
===Sample Kernel Output===
dmesg
dmesg:
<pre>
2009-05-31 20:42:51 sander-desktop kernel [ 4169.257239] saa7134 ALSA driver for DMA sound unloaded
[252762.679351] Linux video capture interface: v2.00
2009-05-31 20:42:59 sander-desktop kernel [ 4177.629232] saa7130/34: v4l2 driver version 0.2.15 loaded
[252762.742734] saa7130/34: v4l2 driver version 0.2.15 loaded
2009-05-31 20:42:59 sander-desktop kernel [ 4177.629291] saa7133[0]: found at 0000:04:09.0, rev: 209, irq: 17, latency: 32, mmio: 0xfdcfe000
[252762.742868] saa7133[0]: found at 0000:04:00.0, rev: 209, irq: 16, latency: 64, mmio: 0xfebff800
2009-05-31 20:42:59 sander-desktop kernel [ 4177.629297] saa7133[0]: subsystem: 1131:2004, board: UNKNOWN/GENERIC [card=0,autodetected]
[252762.742893] saa7133[0]: subsystem: 1131:2004, board: Zolid Hybrid TV Tuner PCI [card=173,autodetected]
2009-05-31 20:42:59 sander-desktop kernel [ 4177.629548] saa7133[0]: board init: gpio is 4400100
[252762.742952] saa7133[0]: board init: gpio is 240000
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792034] saa7133[0]: i2c eeprom 00: 31 11 04 20 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
[252762.742992] IRQ 16/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792044] saa7133[0]: i2c eeprom 10: 00 ff 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792051] saa7133[0]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 b2 ff ff ff ff
[252762.920036] saa7133[0]: i2c eeprom 00: 31 11 04 20 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792057] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920086] saa7133[0]: i2c eeprom 10: 00 ff 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792064] saa7133[0]: i2c eeprom 40: ff 35 00 c0 96 10 03 32 21 05 ff ff ff ff ff ff
[252762.920131] saa7133[0]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 b2 ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792070] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920174] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792076] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920217] saa7133[0]: i2c eeprom 40: ff 35 00 c0 96 10 03 32 21 05 ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792083] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920261] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792089] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920304] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792095] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920348] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792102] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920391] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792108] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920435] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792114] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920478] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792120] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920522] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792127] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920565] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792133] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920609] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920652] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792610] saa7133[0]: registered device video0 [v4l2]
[252762.920695] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
2009-05-31 20:42:59 sander-desktop kernel [ 4177.792631] saa7133[0]: registered device vbi0
[252762.920745] i2c-adapter i2c-1: Invalid 7-bit address 0x7a
2009-05-31 20:42:59 sander-desktop kernel [ 4177.800153] saa7134 ALSA driver for DMA sound loaded
[252763.042918] tuner 1-004b: chip found @ 0x96 (saa7133[0])
2009-05-31 20:42:59 sander-desktop kernel [ 4177.800183] saa7133[0]/alsa: saa7133[0] at 0xfdcfe000 irq 17 registered as card -2
[252763.210053] tda829x 1-004b: setting tuner address to 60

[252763.287954] tda18271 1-0060: creating new instance
[252763.372530] TDA18271HD/C2 detected @ 1-0060
[252765.762527] tda18271: performing RF tracking filter calibration
[252798.770028] tda18271: RF tracking filter calibration complete
[252798.880036] tda829x 1-004b: type set to tda8290+18271
[252806.510212] saa7133[0]: registered device video0 [v4l2]
[252806.510320] saa7133[0]: registered device vbi0
[252806.510427] saa7133[0]: registered device radio0
[252806.602675] dvb_init() allocating 1 frontend
[252806.870034] tda829x 1-004b: type set to tda8290
[252806.910424] tda18271 1-0060: attaching existing instance
[252806.910442] DVB: registering new adapter (saa7133[0])
[252806.910457] DVB: registering adapter 0 frontend 0 (NXP TDA10048HN DVB-T)...
[252807.732531] tda10048_firmware_upload: waiting for firmware upload (dvb-fe-tda10048-1.0.fw)...
[252807.732552] saa7134 0000:04:00.0: firmware: requesting dvb-fe-tda10048-1.0.fw
[252807.748822] tda10048_firmware_upload: firmware read 24878 bytes.
[252807.748840] tda10048_firmware_upload: firmware uploading
[252812.960053] tda10048_firmware_upload: firmware uploaded
[252813.353639] saa7134 ALSA driver for DMA sound loaded
[252813.353675] IRQ 16/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[252813.353724] saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 16 registered as card -1
</pre>


===Remote Control Support===
===Remote Control Support===
Line 104: Line 139:
==External Links==
==External Links==


See the [Zolid Zolid page] for more information about Zolid and product information. The (almost worthless and Dutch) manual can be found [http://www.unisupport.net/download/50515/50515-manual.pdf Here] and the drivers and software pack for Windows is downloadable [http://www.unisupport.net/download/50515/50515drivers.zip here].
See the [[Zolid]] page for more information about Zolid and product information. The (almost worthless and Dutch) manual can be found [http://www.unisupport.net/download/50515/50515-manual.pdf Here] and the drivers and software pack for Windows is downloadable [http://www.unisupport.net/download/50515/50515drivers.zip here].


[[Category:DVB-T PCI Devices]]
[[Category:DVB-T PCI Devices]]

Latest revision as of 17:14, 17 December 2009

Overall view of the Zolid Hybrid TV Tuner card.

A Hybrid TV Tuner from Zolid. It might be sold in the Netherlands only.

The Hybrid TV Tuner is supported by V4l since this patch has been merged with the V4L tree.

Overview/Features

  • Built-in IR transmitter
  • PCI interface
  • Hybrid tuner, it has DVB-T and Analog TV support

Components Used

Other Images

Identification

lspci -vvvnnxxx
  04:09.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
        Subsystem: Philips Semiconductors Device [1131:2004]
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 32 (21000ns min, 8000ns max)
        Interrupt: pin A routed to IRQ 17
        Region 0: Memory at fdcfe000 (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-
        Kernel driver in use: saa7134
        Kernel modules: saa7134
  00: 31 11 33 71 06 00 90 02 d1 00 80 04 00 20 00 00
  10: 00 e0 cf fd 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 31 11 04 20
  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

Making it Work

This card is working pretty well under Linux with a recent V4L snapshot, or with the patch applied. The tda18271 driver detects the card automatically, although it outputs some cryptical error messages that don't prevent the card from working:

tda18271_read_regs: [1-0060|M] ERROR: i2c_transfer returned: -5
tda18271_ir_cal_init: [1-0060|M] error -5 on line 812
tda18271_init: [1-0060|M] error -5 on line 836
tda18271_tune: [1-0060|M] error -5 on line 909
tda18271_set_analog_params: [1-0060|M] error -5 on line 1046
tda18271_write_regs: [1-0060|M] ERROR: idx = 0xc, len = 4, i2c_transfer returned: -5
tda18271_write_regs: [1-0060|M] ERROR: idx = 0x13, len = 1, i2c_transfer returned: -5
tda18271_write_regs: [1-0060|M] ERROR: idx = 0x13, len = 1, i2c_transfer returned: -5
tda18271_write_regs: [1-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -5
tda18271_set_analog_params: [1-0060|M] error -5 on line 1046
tda18271_write_regs: [1-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -5

Firmware

If you see the following message in your system log:

tda10048: firmware upload failed.

You have to install the demodulator's firmware in order to let it work.

The card needs firmware for the TDA10048, which is available Here. Just download the ZIP file and the extract.sh and execute Extract.sh. For more information, please see the readme.txt file.

Drivers

The card uses the built-in V4L saa7134 driver, the tda10048 demodulator driver and the tda18271 tuner driver. The card id to be used with the driver is 173.

Sample Kernel Output

dmesg:

[252762.679351] Linux video capture interface: v2.00
[252762.742734] saa7130/34: v4l2 driver version 0.2.15 loaded
[252762.742868] saa7133[0]: found at 0000:04:00.0, rev: 209, irq: 16, latency: 64, mmio: 0xfebff800
[252762.742893] saa7133[0]: subsystem: 1131:2004, board: Zolid Hybrid TV Tuner PCI [card=173,autodetected]
[252762.742952] saa7133[0]: board init: gpio is 240000
[252762.742992] IRQ 16/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[252762.920036] saa7133[0]: i2c eeprom 00: 31 11 04 20 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
[252762.920086] saa7133[0]: i2c eeprom 10: 00 ff 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
[252762.920131] saa7133[0]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 b2 ff ff ff ff
[252762.920174] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920217] saa7133[0]: i2c eeprom 40: ff 35 00 c0 96 10 03 32 21 05 ff ff ff ff ff ff
[252762.920261] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920304] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920348] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920391] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920435] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920478] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920522] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920565] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920609] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920652] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920695] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[252762.920745] i2c-adapter i2c-1: Invalid 7-bit address 0x7a
[252763.042918] tuner 1-004b: chip found @ 0x96 (saa7133[0])
[252763.210053] tda829x 1-004b: setting tuner address to 60
[252763.287954] tda18271 1-0060: creating new instance
[252763.372530] TDA18271HD/C2 detected @ 1-0060
[252765.762527] tda18271: performing RF tracking filter calibration
[252798.770028] tda18271: RF tracking filter calibration complete
[252798.880036] tda829x 1-004b: type set to tda8290+18271
[252806.510212] saa7133[0]: registered device video0 [v4l2]
[252806.510320] saa7133[0]: registered device vbi0
[252806.510427] saa7133[0]: registered device radio0
[252806.602675] dvb_init() allocating 1 frontend
[252806.870034] tda829x 1-004b: type set to tda8290
[252806.910424] tda18271 1-0060: attaching existing instance
[252806.910442] DVB: registering new adapter (saa7133[0])
[252806.910457] DVB: registering adapter 0 frontend 0 (NXP TDA10048HN DVB-T)...
[252807.732531] tda10048_firmware_upload: waiting for firmware upload (dvb-fe-tda10048-1.0.fw)...
[252807.732552] saa7134 0000:04:00.0: firmware: requesting dvb-fe-tda10048-1.0.fw
[252807.748822] tda10048_firmware_upload: firmware read 24878 bytes.
[252807.748840] tda10048_firmware_upload: firmware uploading
[252812.960053] tda10048_firmware_upload: firmware uploaded
[252813.353639] saa7134 ALSA driver for DMA sound loaded
[252813.353675] IRQ 16/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[252813.353724] saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 16 registered as card -1

Remote Control Support

The default card configuration doesn't detect the built-in IR transmitter.

External Links

See the Zolid page for more information about Zolid and product information. The (almost worthless and Dutch) manual can be found Here and the drivers and software pack for Windows is downloadable here.