MSI TV @nywhere A/D v1.1

Přidáno 29. října 2008, 18:6

Střešní anténa nám prošla úpravou a už je dobrý digitální i analogový signál. Tak jsem se rozhodl pořídit hybridní kartu (přece jen se Nova na digitál nežene a občas by tam mohli něco slušnýho dávat .-) ).

Vybral jsem si Lifeview FlyDVB-T Hybrid s bezproblémovým rozchozením. Našel na netu, objednal. Výsledkem však je pouze posouvání data dodávky. Karta se totiž asi přestala vyrábět, jen to ještě neřekl obchodu Patro.cz. Objednávku nezruším, uvidím, jak se s tím poperou .-0 U CzechComputeru jsem si zatím objednal hybridní TV kartu MSI TV @nywhere A/D. Podle podporovaných karet by to měl být klon Lifeview FlyDVB-T Hybrid. Novějši verze karty MSI označovaná jako v1.1 je kompatibilni s MS Vista, nicméně podle http://www.linuxtv.org/wiki/index.php/DVB-T_PCI_Cards#MSI s linuxem kompatiblní už není. Ještě jsem jim pro jistotu do poznámky psal k objednávce, že pokud se jedná o v1.1, že ji nechci.. Přesto přišla právě ona. Jak jinak.. Kdyby to aspoň na tý krabici tak nesvítilo :)

Řekl jsem si, že se ještě juknu na net, zda ji někdo přece jen nerozjel, než ji pošlu zpět a nenávratně tak hodím z okna 2x poštovné. Narazil jsem na to, že kartu podporuje kernel 2.6.26. Odmaskoval jsem si tedy toto jadro a hura do kompilace. Po menším.. no vlastně byl spíš větší.. boji jsem rozjel analog na kartě. Digitál, alespoň prozatím, stále vzdoruje. Takže se pokusím alespň popsat jak rozjet analog..

Krabice obsahuje kartu, dálkove ovládání, baterie, infračervený senzor pro dálkové ovládání, CD s ovladači a SW pro MS Windows, FM anténu, malou TV anténku, redukci PAN/NTSC (aspoň dle krabice)

Nutností je jádro 2.6.26 nebo novější. Tam mít povolené jako moduly TDA1004x, TDA827x, TDA9887, TDA8290, SAA7134, SAA7134-ALSA, SAA7134-DVB. (lze to najit i v konfiguracnim souboru jadra - .config). Já osobně jsem zaklikal všechno co bylo v Device drivers -> Multimedia devices -> jako moduly, kdyz to šlo, jinak do jádra :) Jistota je jistota..

Analog:
Pokud se to nenaloaduje samo při startu, pak stačí:

modprobe tda827x
modprobe tda9887
modprobe tda8290
modprobe tuner
modprobe saa7134
modprobe saa7134-alsa

Pak by měl dmesg vygenerovat něco takového:

pat pat # dmesg
...
Linux video capture interface: v2.00
saa7130/34: v4l2 driver version 0.2.14 loaded
saa7133[0]: found at 0000:01:09.0, rev: 209, irq: 17, latency: 255, mmio: 0xfde
e000
saa7133[0]: subsystem: 1462:8625, board: MSI TV@nywhere A/D v1.1 [card=135,auto
etected]
saa7133[0]: board init: gpio is 200100
tuner' 2-004b: chip found @ 0x96 (saa7133[0])
saa7133[0]: i2c eeprom 00: 62 14 25 86 ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff 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 ff ff ff ff ff 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
saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tda829x 2-004b: setting tuner address to 61
tda829x 2-004b: type set to tda8290+75a
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7133[0]: registered device radio0
saa7134 ALSA driver for DMA sound loaded
saa7133[0]/alsa: saa7133[0] at 0xfdefe000 irq 17 registered as card -1

Dané moduly jsem nacpal do /etc/modules.autoload.d/kernel-2.6. Problém byl v tom, že saa7134 se nahrával dřív, než tuner. Takže jsem je musel unloadnout a manualně zase dojádra loadnout. To jsem vyřešil tak, že do /etc/modules.autoload.d/kernel-2.6 jsem nacpal všechny TDA moduly + tuner. Moduly saa7134 a saa7134-alsa jsem loadoval až pomocí skriptu local. Do /etc/conf.d/local.start jsem tedy přidal:

modprobe -r saa7134
modprobe saa7134
modprobe saa7134-alsa
Tím dojde nejdříve k jeho odebrání z jádra, pro případ, že by se loadoval nějak sám a následně se opět nahraje. Šlape to dobře. Samořejmě je pak nutné službu local zařadit do deafault (jako root: rc-update add local default).

Výpis lspci -v k této kartě:

pat pat # lspci -v
...
01:09.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d1)
        Subsystem: Micro-Star International Co., Ltd. Device 8625
        Flags: bus master, medium devsel, latency 255, IRQ 17
        Memory at fdefe000 (32-bit, non-prefetchable) [size=2K]
        Capabilities: [40] Power Management version 2
        Kernel driver in use: saa7134
        Kernel modules: saa7134

S modulem saa7134-alsa pak můžu sledovat TV přes MPlayer například:

mplayer tv://R3 -tv driver=v4l2:alsa=1:adevice=hw.1,0:audiorate=32000:immediatemode=0
Kde parametr alsa povoluje zvuk přes ALSA ovladač. Adevice určuje zvukové zařízení (hw.0,0 je u mne integrovaná zvukovka, kterou systém rozpoznal dříve). Audiorate jsem vyčetl někde, že je občas nutný zadat na 32kHz, aby se nerozchazel zvuk s obrazem. Pravdou je, že bez toho mi zvuk frčí rychleji a seka se asi aby se synchronizoval s obrazem.. nekoukatelný. A immediatemode jsem někde vyčetl, že bez toho MPlayer ignoruje nastavení zvuku a bere defaultní zařízení, kterým samozřejmě v tomto případě není požadované. V MPlayeru se ladí další programy pomocí kláves "h" a "k". Bohužel jak skočit z jednoho kanálu na druhý, aniž bych musel projít frekvence mezinimi jsem nepřišel.

Obraz je samozřejmě prokládaný, takže by to chtělo využít nějaký deinterlace filtr. Například:

mplayer -vf lavcdeint tv://R3 -tv driver=v4l2:alsa=1:adevice=hw.1,0:audiorate=32000:immediatemode=0

To pak stačí vložit do spouštěcího skriptu a vložit odkaz třeba na plochu :)

Lepším přehrávačem na TV je pravděpodobně TVTime. Deinterlace filtr už běží defaultně, přepínání pouze mezi kanály se signálem.. Jenže se mi ho nepodařilo přesvědčit, aby používal zvuk podobně jako MPlayer a s berličkou, kterou jsem kdesi našel, je zvuk neustále zpožděn asi o půl vteřiny a docela to ruší. Na LinuxExpress.cz je o tomto přehrávači pěkný článek, takže se tu o něm nebudu rozepisovat.

U TVTime se mi osobně osvědčil postup, kdy jsem spustil TVTime. V nastaveni vstupu nastavit normu PAL, z příkazové řádky spustit tvtime-scanner a nechat najít kanály. To má trvat několik minut. Docela optimistický odhad, já si stihl zajít asi na hodku nakoupit a když jsem dorazil, tak to ještě hledalo... Pak spustit zase TVTime a mělo by to už přepínat pouze mezi naladěnými programy.

Digitál: Digitální tuner se mi rozjet nepodařilo. Měly by stačit moduly TDA1004x, TDA9887 a SAA7134-DVB, ale nestačí. Dmesg zahlásí:

saa7130/34: v4l2 driver version 0.2.14 loaded
saa7133[0]: found at 0000:01:09.0, rev: 209, irq: 17, latency: 255, mmio: 0xfdefe000
saa7133[0]: subsystem: 1462:8625, board: MSI TV@nywhere A/D v1.1 [card=135,autodetected]
saa7133[0]: board init: gpio is 100
tuner' 2-004b: chip found @ 0x96 (saa7133[0])
saa7133[0]: i2c eeprom 00: 62 14 25 86 ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff 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 ff ff ff ff ff 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
saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tda829x 2-004b: setting tuner address to 61
tda829x 2-004b: type set to tda8290+75a
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7133[0]: registered device radio0
saa7134 ALSA driver for DMA sound loaded
saa7133[0]/alsa: saa7133[0] at 0xfdefe000 irq 17 registered as card -1
DVB: registering new adapter (saa7133[0])
DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
tda1004x: setting up plls for 48MHz sampling clock
tda1004x: found firmware revision 20 -- ok
Přesto Kaffeine nic nenaladí :( Tak zatím čekám a příležitostně zkouším fóra, IRC a Google :) Analog mi prozatím stačí, na digitální vysílání zatím používám Leadtek Winfast DTV DONGLE GOLD. S dobrým signálem hraje pěkně.

UPDATE 5.11.2008: Tak NOVA už je na digitálu také, takže se bez analogu už obejdu :-/

ODKAZY:
TVTime na LinuxExpress.cz
MPlayer a Mencoder na Root.cz - 1
MPlayer a Mencoder na Root.cz - 1

Přidání vzkazu
* Tyto údaje je nutné vyplnit.