Zolid Hybrid TV Tuner
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
- NXP TDA18271 (tuner)
- NXP TDA10048 (demodulator)
- NXP/Philips TDA8290 (analog IF demodulator, embedded on the SAA7131E/03/G chip)
- NXP/Philips SAA7131E (A/V decoder and PCI Interface, compatible with SAA7135)
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.