AVerMedia AVerTV Hybrid+FM PCI (A16AR)
The AVerMedia AVerTV Hybrid+FM PCI (A16AR) is a DVB-T PCI card from AVerMedia. It is supported under Linux, having been added to kernel 2.6.19.
Note: There are actually two different AVerMedia cards that bear the identical name "AVerTV Hybrid+FM PCI", so one must be careful to distinguish between this one, the A16AR, and the other, the A16D.
In addition, the AVerTV Hybrid+FM PCI A16AR model is highly similar to the AVerMedia AVerTV DVB-T 777 (A16AR) card.
Overview/features
Coincidently, the A16AR was originally the sole recipient of direct Linux support from AVerMedia -- however, said support wass/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).
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.
Components used
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)
Identification
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-
- Note above output from lspci shows the card NOT being properly/automagically detected/recognized! ... it would be nice if someone could provide the output from lspci where it shows the card being properly detected
Making it work
Drivers
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!
Sample kernel output
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])
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.