AVerMedia AVerTV Hybrid+FM PCI (A16AR)
There are actually two different DVB-T PCI cards produced by AVerMedia that bear the identical name "AVerTV Hybrid+FM PCI".
The first, model A16D, is currently supported by LinuxTV drivers and has support in the linux kernel since 2.6.26.
The second, model A16A, is supported by LinuxTV drivers. Coincidently, the second version is also the sole recipient of direct Linux support from AVerMedia -- however, said support is very limited/constrained at best (binary drivers, listed as beta, and which apply only for Fedora 3 & 4, Mandriva 2006, and SUSE 10.0).
A16D
This card is supported by the current v4l repository and has support in the kernel since 2.6.26.
details
The A16D model consists of the following hardware components:
- Xceive XC3028 (tuner & analog demodulator)
- Philips SAA7135HL (A/V decoder)
- Zarlink MT352 (DVB-T demodulator)
Links:
lspci
If you have an A16D correctly detected then "sudo lspci -vvnn" should be similar to:
(Example from Ubuntu 8.04 using 2.6.24-19-generic x86_64) 03:07.0 Multimedia controller [0480]: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1) Subsystem: Avermedia Technologies Inc Unknown device [1461:f936] 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 Interrupt: pin A routed to IRQ 21 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=0 PME-
dmesg
If you have an A16D correctly detected then the related dmesg output should be similar to:
(Example from Ubuntu 8.04 using 2.6.24-19-generic x86_64) [ 63.704203] Linux video capture interface: v2.00 [ 63.752924] ACPI: WMI-Acer: Mapper loaded [ 64.099345] saa7130/34: v4l2 driver version 0.2.14 loaded [ 64.099459] ACPI: PCI Interrupt 0000:03:07.0[A] -> GSI 21 (level, low) -> IRQ 21 [ 64.099467] saa7133[0]: found at 0000:03:07.0, rev: 209, irq: 21, latency: 32, mmio: 0xfdcfe000 [ 64.099475] saa7133[0]: subsystem: 1461:f936, board: AVerMedia Hybrid TV/Radio (A16D) [card=137,autodetected] [ 64.099485] saa7133[0]: board init: gpio is 2a200 [ 64.121124] input: saa7134 IR (AVerMedia Hybrid TV as /devices/pci0000:00/0000:00:14.4/0000:03:07.0/input/input6 [ 64.201694] ACPI: PCI Interrupt 0000:00:14.2[A] -> GSI 16 (level, low) -> IRQ 16 [ 64.236208] hda_codec: Unknown model for ALC882, trying auto-probe from BIOS... [ 64.312889] saa7133[0]: i2c eeprom 00: 61 14 36 f9 00 00 00 00 00 00 00 00 00 00 00 00 [ 64.312897] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff ff ff ff ff ff ff [ 64.312902] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 08 ff 00 0e ff ff ff ff [ 64.312907] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312911] saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff ff ff ff ff ff ff [ 64.312915] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312919] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312923] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312927] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312931] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312935] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312939] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312944] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312948] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312952] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312956] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.344915] tuner' 1-0061: chip found @ 0xc2 (saa7133[0]) [ 64.387946] xc2028 1-0061: creating new instance [ 64.387952] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner [ 64.444501] xc2028 1-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7 [ 64.460800] xc2028 1-0061: Loading firmware for type=BASE F8MHZ (3), id 0000000000000000. [ 72.998152] (0), id 00000000000000ff: [ 72.998156] xc2028 1-0061: Loading firmware for type=(0), id 0000000100000007. [ 73.166017] SCODE (20000000), id 0000000100000007: [ 73.166019] xc2028 1-0061: Loading SCODE for type=MONO SCODE HAS_IF_5320 (60008000), id 0000000800000007. [ 73.605999] saa7133[0]: registered device video0 [v4l2] [ 73.606016] saa7133[0]: registered device vbi0 [ 73.606032] saa7133[0]: registered device radio0 [ 73.606187] ACPI: PCI Interrupt 0000:01:05.1[B] -> GSI 19 (level, low) -> IRQ 19 [ 73.606833] PCI: Setting latency timer of device 0000:01:05.1 to 64 [ 73.770676] xc2028 1-0061: attaching existing instance [ 73.770682] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner [ 73.770686] DVB: registering new adapter (saa7133[0]) [ 73.770689] DVB: registering frontend 0 (Zarlink MT352 DVB-T)...
A16AR
Support for this card was added to kernel 2.6.19. The A16AR version of the AVerTV Hybrid+FM PCI is highly similar to the AVerMedia AVerTV DVB-T 777 (A16AR).
The A16AR model consists of the following hardware components:
- Philips TD1316A (tuner)
- Philips TDA9887 (analog demodulator)
- Philips SAA7135HL (A/V decoder)
- Zarlink MT352 (DVB-T demodulator)
Pictures of the card are available in the this mail list post and duplicated in the resourceful bttv gallery.
Also see the AVerMedia AVerTV Hybrid+FM PCI (A16AR) product page.
Section that needs work
- we need output from lspci that shows the card being properly detected ... what is currently shown is what would be output by the command when the card is NOT automagically recognized!
- the grep of dmesg shows a case where the card was automagically detected (this is good), however, the info really isn't providing anymore insight then what lspci would provide if the card was being detected properly.
If you have an A16AR then "sudo lspci -vv" should reveal:
02:06.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d1) Subsystem: Avermedia Technologies Inc Unknown device 2c00 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 Interrupt: pin A routed to IRQ 20 Region 0: Memory at fddff000 (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=0 PME-
If autodetection doesn't work but you have the correct "card=99" driver parameter set, then if you run "dmesg | grep saa" you will see:
saa7130/34: v4l2 driver version 0.2.14 loaded saa7133[0]: found at 0000:02:06.0, rev: 209, irq: 20, latency: 32, mmio: 0xfddff000 saa7133[0]: subsystem: 1461:2c00, board: AVerMedia TV Hybrid A16AR [card=99,insmod option] saa7133[0]: board init: gpio is 2b600 input: saa7134 IR (AVerMedia TV Hybrid as /class/input/input3 saa7133[0]: i2c eeprom 00: 61 14 00 2c 00 00 00 00 00 00 00 00 00 00 00 00 saa7133[0]: i2c eeprom 10: 00 ff 82 0e ff 20 ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 20: 01 40 01 02 02 03 03 01 08 ff 00 a3 ff ff ff ff saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 40: ff 32 00 c0 86 1e ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff tuner 1-0043: chip found @ 0x86 (saa7133[0]) tuner 1-0060: chip found @ 0xc0 (saa7133[0]) saa7133[0]: registered device video0 [v4l2] saa7133[0]: registered device vbi0 saa7133[0]: registered device radio0 DVB: registering new adapter (saa7133[0])
Links:
If you're using a kernel >2.6.19 and the card is not automagically detected
If the card is not automagically detected, when you run "dmesg | grep saa" you you will see:
[ 39.847928] saa7130/34: v4l2 driver version 0.2.14 loaded [ 39.848432] saa7133[0]: found at 0000:01:05.0, rev: 209, irq: 21, latency: 32, mmio: 0xe8002000 [ 39.848437] saa7133[0]: subsystem: 1461:2c00, board: UNKNOWN/GENERIC [card=0,autodetected] [/code]
In this case, you will need to arrange for the parameter 'card=99' to be passed to the kernel driver. If the driver was built as a kernel module, and if you want to test this parameter once without making any permanent change to your system, do the following steps. Type:
sudo rmmod saa7134_alsa saa7134-dvb saa7134
If you can't remove the running modules from memory (which will likely happen because saa7134 will be used by any mixers and artsd)
fuser -v /dev/snd/* /dev/dsp/*
and then
killall -9 <process names>.
Now you need to reload the modules with the following:
sudo modprobe saa7134 card=99 sudo modprobe saa7134_alsa sudo modprobe saa7134-dvb
Now you should be able load your favorite TV application and watch TV!
If you're using Debian GNU/Linux, a modular kernel >2.6.19, and the card is not automagically detected
Create a new file of any name in the directory /etc/modprobe.d, for example /etc/modprobe.d/tv-tuner-card, and add to it the line:
options saa7134 card=99
Then reboot the machine.