Portál AbcLinuxu, 3. června 2024 04:37

AVerMedia AVerTV DVB-T USB 2.0

Podpora: kompletní
Ovladač: v jádře

Technické parametry

Identifikace pod Linuxem

# dmesg
usb 4-3: new high speed USB device using ehci_hcd and address 7
usb 4-3: new device found, idVendor=07ca, idProduct=a800
usb 4-3: new device strings: Mfr=0, Product=0, SerialNumber=0
usb 4-3: configuration #1 chosen from 1 choice
dvb-usb: found a 'AVerMedia AverTV DVB-T USB 2.0 (A800)' in cold state, will try to load a firmware
dvb-usb: downloading firmware from file 'dvb-usb-avertv-a800-02.fw'
usb 4-3: USB disconnect, address 7
dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
usb 4-3: new high speed USB device using ehci_hcd and address 8
usb 4-3: new device found, idVendor=07ca, idProduct=a801
usb 4-3: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-3: Product: A801
usb 4-3: Manufacturer: AVerTV
usb 4-3: configuration #1 chosen from 1 choice
dvb-usb: found a 'AVerMedia AverTV DVB-T USB 2.0 (A800)' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (AVerMedia AverTV DVB-T USB 2.0 (A800)).
dib3000: Found a DiBcom 3000P.
DVB: registering frontend 0 (DiBcom 3000P/M-C DVB-T)...
input: IR-receiver inside an USB DVB receiver as /class/input/input11
dvb-usb: schedule remote query interval to 150 msecs.
dvb-usb: AVerMedia AverTV DVB-T USB 2.0 (A800) successfully initialized and connected.
# lsusb
Bus 004 Device 008: ID 07ca:a801 AVerMedia Technologies, Inc.
# lsmod
firmware_class         14080  3 dvb_usb
i2c_core               25216  6 dib3000_common,dvb_usb,dvb_pll,i2c_algo_bit,tveeprom,i2c_i801
usbcore               128516  10 dvb_usb_a800

Postup zprovoznění pod Linuxem

Hardware

Na obalu je nálepka "Linux compatible -- refer to our website for instructions". Na jejich stránkách není ale u tohoto produktu o Linuxu žádná zmínka.

Zařízení je i přes tuto nesrovnalost výborně podporováno (testováno na openSUSE 10.2, distribuční jádro 2.6.18.8). Po prvním zapojení do USB portu se nám v dmesg objeví zřejmě něco takového (pakliže nám koretně funguje hotplug :-)):

usb 4-3: new high speed USB device using ehci_hcd and address 4
usb 4-3: new device found, idVendor=07ca, idProduct=a800
usb 4-3: new device strings: Mfr=0, Product=0, SerialNumber=0
usb 4-3: configuration #1 chosen from 1 choice
dvb-usb: found a 'AVerMedia AverTV DVB-T USB 2.0 (A800)' in cold state, will try to load a firmware
dvb-usb: did not find the firmware file. (dvb-usb-avertv-a800-02.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)
dvb_usb_a800: probe of 4-3:1.0 failed with error -2
usbcore: registered new driver dvb_usb_a800

Toto ale vůbec nevadí, DVB systém jádra se nám jen snaží naznačit, že potřebuje firmware, který by do zařízení nahrál. Ten si můžeme snadno obstarat buď z Linux TV (soubor dvb-usb-avertv-a800-02.fw protom nakopírujeme do /lib/firmware/) nebo ve formě RPM (či jiném balíku dle vaší distribuce) a to například z Penguin Liberation Front.

Po instalaci firmwaru stačí zařízení odpojit a znovu připojit. Potom by se v logu měl už objevit korektní výstup a LEDka na čelní straně by se měla modře rozsvítit.

Software

Příjem televize

Než si pustíme telvizní programy, je třeba si buď provést prvotní naladění pomocí programu dvbscanu (z balíku dvb). Ten ovšem potřebuje seznam frekvencí a přenosových parametrů aby vůbec mohl začít něco ladit. Takovýto seznam může vypadat třeba nějak takto:

# Brno dvb config
T 626000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE

Význam jednotlivých parametrů si asi odvodíte sami, případně najdete v dokumentaci dvbscanu. Pokud nechcete ladění provádět, je tu i možnost si někde sehnat již naladěný channels.conf (opět příklad pro Brno):

CTSPORT:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1025:1041:4
CRo1-Radiozurnal    :626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:4113:10
CRo2-Praha          :626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:4369:11
CRo3-Vltava         :626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:4625:12
CRo4-Radio Wave     :626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:4881:13
CRo D-dur           :626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:5137:14
CRo Leonardo        :626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:5393:15
CRo Radio Cesko     :626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:5649:16
Aplikace MHP:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:0:1000
CT1:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:257:273:1
CT2:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:513:529:2
CT24:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:769:785:3
NOVA:626000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:1281:1297:5

Jistě i tady na Abclinuxu najdete optimální seznam programů pro vaši lokalitu, případně si naladíte vlastní. Pro zjištění síly signálu a dalších přenosových parametrů můžeme použí například tzap ze stejného balíku. Dále budeme používat mplayer, kdo používá něco jiného (oblíbené je na DVB-T Xine), bude si muset parametry pro přehrávání najít v dokumentaci.

Výše uvedený seznam nakopírujeme do adresáře mplayeru, tj. např. /home/pepa/.mplayer/channels.conf. Spuštění televize provedeme příkazem mplayer dvb://<název programu>, takže mplayer dvb://CT24 nám pustí zpravodajský kanál ČT24. Tím jsme hotovi a můžeme si užívat nový digitální zážitek.

Nevím, zda je moje nastavení optimální, pro přehrávání streamu ale používám mplayer -vf pp=ci/h1:a/v1:a/dr:a/al -autosync 10 dvb://[program]. Toto mi poskytuje dobrou kvalitu obrazu (odstranění prokládání) při vytížení mého Pentia M 1.4 GHz na cca 20-30%.

Dálkové ovládání

K přijímači se dodává ještě dálkové ovládání se spoustou čudlíků. Linux detekuje integrovaný input modul uvnitř DVB-T přijímače a dokáže jej potom používat jako běžnou klávesnici. Jak jej ale můžeme použít? Některé klávesy (např. doleva-doprava, vol+ vol-) fungují out-of-box, jiným je třeba pomoci. Ideální na nastavení je program xev, běžná součást X serveru.

Po jeho spuštění stačí mačkat klávesy a na obrazovce se dozvíte jejich kódy. Tyto kódy je třeba vložit do .Xmodmap. V openSUSE, pokud tento soubor uložíte do ~/, tak se bude program xmodmap (který provede nastavení dle .Xmodmap)spouštět automaticky po startu X, v jiných distribucích ho možná budete muset přidat do některého ze spouštěcích skriptů grafického rozhraní.

Můj .Xmodmap vypadá takto:

$ ~/ cat .Xmodmap
keycode 222 = F14
keycode 151 = j
keycode 171 = h
keycode 162 = space
keycode 234 = Up
keycode 233 = Down
keycode 232 = o
keycode 179 = I
keycode 177 = f

Ke klávese F14 mám v KDE přiřazený skript, který mi spustí Mplayer pro příjem digitální televize a po druhém zmáčknutí jej zase vypne:

$ ~/.mplayer/ cat startstop.sh
#!/bin/sh

# existuje roura pro komunikaci?
if [ -p /tmp/mplayer.pipe ]; then
        # a bezi nam mplayer vubec?
        pgrep mplayer > /dev/null 2>&1
        if [ "$?" -eq 0 ]; then
                # ano bezi, posleme mu prikaz
                echo "q" > /tmp/mplayer.pipe &
                kdialog --title "Mplayer remote" --passivepopup "Mplayer ukončen" 3
        fi
        rm /tmp/mplayer.pipe
else
        mkfifo /tmp/mplayer.pipe
        mplayer -input file=/tmp/mplayer.pipe -fs -cache 256 -vf pp=ci/h1:a/v1:a/dr:a/al -autosync 10 dvb:// &
        kdialog --title "Mplayer remote" --passivepopup "Spoušťím Mplayer DVB-T" 3
fi

Ostatní mapování kláves slouží např. k přepínání programů, změně velikosti obrazovky, zastavení, atd. Jedíný problém je přímá volba programů čísly na ovladači. Tyto čudílky totiž vysílají kódy odpovídající normálním písmenům (ř, ž, č, ...) a kdybychom je přemapovali, tak nám normální klávesnice místo psaní č napříše třeba čtyřku, což nechceme. Ovladač bohužel nevysílá žádné kódy pro tlačítka CH+ a CH-, taktéž pro několik čudlíků úplně naspodu.

Obrázky

AVerMedia AVerTV DVB-T USB 2.0, obrázek 1 AVerMedia AVerTV DVB-T USB 2.0, obrázek 2

Dokument vytvořil: Jan Grmela, 3.11.2007 00:57 | Poslední úprava: Jan Grmela, 27.2.2011 15:09 | Historie změn | Zobrazeno: 5615×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.