AVerMedia AVerTV Hybrid+FM PCI (A16AR): Difference between revisions
m (grammar!) |
m (Added category: DVB-T PCI Cards) |
||
(26 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
A [[DVB-T]] [[DVB-T PCI Cards|PCI card]] produced by [[AVerMedia]]. |
|||
To determine whether you have it setup correctly or not run "<tt>dmesg | grep saa</tt>" and if you see this you need to do the following steps: |
|||
This card is supported under Linux, having been added to kernel 2.6.19. |
|||
[ 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] |
|||
If you see this then why are you looking at this guide! |
|||
[ 555.864000] saa7130/34: v4l2 driver version 0.2.14 loaded |
|||
[ 555.864000] saa7133[0]: found at 0000:01:05.0, rev: 209, irq: 21, latency: 32, mmio: 0xe8002000 |
|||
[ 555.864000] saa7133[0]: subsystem: 1461:2c00, board: AVerMedia TV Hybrid A16AR [card=99,insmod option][/code] |
|||
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 [[AVerMedia AVerTV Hybrid+FM PCI (A16AR)|A16AR]], and the other, the [[AVerMedia AVerTV Hybrid+FM PCI (A16D)|A16D]]. |
|||
==Getting it to work== |
|||
{{Note|You may sometimes see this model referred to simply as the A16A. The trailing "R" likely is in reference to the "remote" controller}} |
|||
The avermedia drivers are built into the recent kernels (Since version 2.6.11 I think). For this step you need the right kernel options i believe. Ubuntu has them by default however if anyone wants to drop by and bless this wiki with some guidance please help! |
|||
In addition, the [[AVerMedia AVerTV Hybrid+FM PCI (A16AR)|AVerTV Hybrid+FM PCI A16AR]] model is highly similar to the [[AVerMedia AVerTV DVB-T 777 (A16AR)]] card. |
|||
To make sure you have a A16AR type in "<tt>lspci -v</tt>" and you should see: |
|||
01:05.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d1) |
|||
Subsystem: Avermedia Technologies Inc Unknown device 2c00 |
|||
Flags: bus master, medium devsel, latency 32, IRQ 21 |
|||
Memory at e8002000 (32-bit, non-prefetchable) [size=2K] |
|||
Capabilities: <access denied>[/code] |
|||
==Overview/Features== |
|||
Then type |
|||
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). |
|||
sudo rmmod saa7134_alsa saa7134-dvb saa7134 |
|||
If you can't close them (which will likely happen because saa1734 will be used by any mixers and artsd) |
|||
Pictures of the card are available in the [http://www.linuxtv.org/pipermail/linux-dvb/2006-May/010165.html this mail list post] and duplicated in the resourceful [http://www.bttv-gallery.de/ bttv gallery]. Also see the AVerMedia [http://www.avermedia.com/avertv/product/ProductDetail.aspx?Id=42 AVerTV Hybrid+FM PCI (A16AR) product page]. |
|||
fuser -v /dev/snd/* /dev/dsp/* |
|||
===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 "<tt>sudo lspci -vv</tt>" 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== |
|||
===Firmware=== |
|||
===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 "<tt>dmesg | grep saa</tt>" 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 |
|||
{{Note|For all those who do not know what sudo is, it is used to elevate one's self to root user. rmmod removes loaded modules from memory.}} |
|||
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 |
and then |
||
killall -9 <process names>. |
|||
Now you need to |
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! |
|||
For all those who do not know what sudo is it is used to elevate ones self to root user :P used with Ubuntu. |
|||
===Sample kernel output=== |
|||
now load your favorite TV application and watch TV! |
|||
If autodetection doesn't work but you have the correct "<tt>card=99</tt>" driver parameter set, then if you run "<tt>dmesg | grep saa</tt>" 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==== |
|||
I am yet to test this after a reboot but good luck! |
|||
Create a new file of any name in the directory <tt>/etc/modprobe.d</tt>, for example <tt>/etc/modprobe.d/tv-tuner-card</tt>, and add to it the line: |
|||
options saa7134 card=99 |
|||
Then reboot the machine. |
|||
==External Links== |
|||
Also for anyone who is concerned about the similarities between this guide and the one on the Ubuntu forums they are both by me ;) |
|||
* [http://www.avermedia.com/avertv/product/ProductDetail.aspx?Id=42 AVerTV Hybrid+FM PCI (A16AR) product page]. |
|||
* [http://www.avermedia.com/cgi-bin/support_driverbympdpro.asp?category=TV%20Card&category2=Hybrid&proname=12&modelno=A16AR AVer's binary Linux drivers for the card] |
|||
[[Category:DVB-T PCI Cards]] |
Revision as of 21:33, 3 May 2009
A DVB-T PCI card produced by AVerMedia.
This card 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
Firmware
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.