Portál AbcLinuxu, 30. dubna 2025 10:58
Rozhodl jsem se založit si zde na Ábíčku blog. Rád bych v něm občas psal o věcech, které aspoň trochu souvisí s Linuxem nebo aspoň počítači, zejména problémech, které jsem řešil a jejichž řešení by mohlo někomu pomoci. První zápisek bude o tom, jak jsem si zařizoval HTPC, zejména o problémech, na které jsem narazil.
Když jsem se asi před dvěma lety přestěhoval do vlastního bytu, dostal jsem zanedlouho starší LCD televizi, která ale neuměla DVB-T, jen analog. Řešil jsem dilema, jak vyřešit příjem digitálního vysílání. Nejjednodušší je samozřejmě set-top box. Měl jsem však několik požadavků:
Po projítí nabídky různých zařízení v obchodech (a po špatných zkušenostech z různými DVD rekordéry s pevným diskem) jsem došel k názoru, že nejlepším řešením, které bude splňovat všechny požadavky, bude sestavit si malý počítač a připojit k němu několik DVB-T karet a jednu DVB-S kartu. Koupil jsem tedy
Počítač jsem snadno složil a rozhodl se nainstalovat Mythbuntu. Instalace proběhla bez problému, MythTV si i nastavilo databázi. Tunery bohužel samy od sebe nefungovaly, bylo třeba stáhnout a na správné místo nakopírovat firmware. Já s tím problém nemám, ale pro začátečníka to může být práce navíc, která ho odradí. Instalace a nastavení (zejména hesla) MythWeb byla s Mythbuntu Control Center hračkou. Stejně tak nastavení dálkového ovládání. Problém byl také s rozlišením televize, bylo třeba jej nastavit ručně přes xrandr (jinak bylo nějaké velmi malé). Ale to je zřejmě problém televize, nefungovalo to totiž ani s žádným notebookem, který jsem zkoušel.
Takto nainstalovené HTPC mi vyhovovalo až na několik drobností. Jen bohužel EPG informace vysílané v ČR nejsou strukturované dostatečně na to, aby šly snadno nahrávat seriály a byly rozpoznány epizody (a nebyly tedy nahrávány vícekrát). Zkoušel jsem několik možností, momentálně spokojeně používám data z tvpc.cz. Další takový neduh bylo pomalé přepínání kanálů při sledování živé TV (kolem 6 sekund). Není to velký problém, ale je to nepříjemné. Ale byl jsem spokojený, počítač běžel vždy bez restartu několik týdnů až měsíců a vše krásně fungovalo.
Jednoho dne se však něco stalo a počítač přestal fungovat. Vůbec nešel zapnout. Nebylo to však ani zdrojem, ani pamětí, ani diskem, tj. ničím, co by se dalo jednoduše vyměnit. Na první pohled také žádný problém s deskou nebyl (žádné vyteklé kondenzátory apod.) Počítač jsem bohužel koupil jako bazarové zboží a záruka na něj již nebyla, takže putoval do popelnice a já putoval pro nový.
Tentokrát jsem pořídil výkonnější ZOTAC ZBOX ID81 s Celeronem 857. Paměť a disk mi zůstaly. Karty také. Bohužel Evolve Venus přestala ladit kanály. Proto mám podezření, že bylo nějaké přepětí v STA, po této zkušenosti jsem pořídil i přepěťovou ochranu na koaxiál. Protože na kartě jsem dělal menší úpravy (odřízl část krytu, aby se do vedlejšího USB též dalo něco zapojit), musel jsem koupit novou.
Při koupi nového počítače jsem měl představu, že do něj pouze dám disk a paměť a bude fungovat dál. A téměř fungovalo, tedy až na kartu. Jelikož jsem koupit opět Evolve Venus (protože má dva tunery), byl jsem překvapen. Brzy jsem zjistil, že, ačkoliv jsem koupil kartu se stejným jménem, jde o úplně jinou kartu. Nová verze totiž používá modul dvb_usb_it913x
, stará byla dvb_usb_af9015
. Jelikož ale po stáhnutí příslušného firmware začala fungovat, mávl jsem nad tím rukou. To jsem zatím nevěděl, jaké problémy mě čekají.
Jednoho dne jsem zjistil, že se mi nenahrál naplánovaný film. Začal jsem pátrat po příčině a zjistil, že nemohu ani sledovat televizi. Restartoval jsem tedy počítač, ale problém přetrvával. Ve výpisu dmesg se neustále (každých několik sekund) opakovalo
dvb_usb_v2: 2nd usb_bulk_msg() failed=-110
Počítač jsem vypnul, odpojil od napájení, chvíli počkal a opět zapnul a problém zmizel. Několik dní vše fungovalo, pak problém nastal znovu. Tentokrát vypnutí počítače pomohlo jen na chvíli. Od té doby někdy vše fungovalo několik týdnů, jindy se mi nedařilo se problému zbavit, po pár minutách se opět oběvil. Nejprve jsem zkoušel vyměnit USB kabely, pak aktualizovat jádro a pak jsem byl tak zoufalý, že jsem udělal zálohu celého PC a vše nainstaloval a nastavil znovu. Avšak žádná změna, problém přetrvával. Další nápad byl, že by problém mohl být v MythTV, protože problém se vždy objevil v okamžiku, kdy se mělo nahrávat nebo jsme chtěl sledovat televizi.
Vše jsem tedy opět zazálohoval, smazal a nainstaloval nějakou distribuci založenou na Ubuntu s XBMC. Instalace už neproběhla tak růžově, během ní se zobrazila nějaká chyba (znění si nepamatuji, ale bylo to něco ve smyslu, že se vyskytla chyba, instalace končí, žádné další podrobnosti) a nešlo s tím nic dělat. Při dalším pokusu jsem vypnul aktualizace po instalaci a chyba se neopakovala. Zároveň s instalací jsem vyměnil i DVB-S kartu za Mystique SaTiX-S2 Sky USB (měl jsem podezření, že by problém mohl být v levné satelitní kartě, na Evolve Venus jsem stížnosti totiž nikde nenašel, ani na novou verzi). Bohužel ke zprovoznění bylo třeba kompilovat upravený media_build (poskytnutý výrobcem, popř. použít poskytnutý patch). Já s tím problém nemám, vše proběhlo bez problému, ale podle mě je to něco, co začátečníka spolehlivě odradí. Problém však přetrvával. Rozhodl jsem se vyměnil i poslední věc, ve které jsem si myslel, že by mohl být problém - DVB-T tuner. Koupil jsem stejný (protože chci dva tunery a při použití anténní rozbočky mi některé kanály již kostičkují). Opět - problém přetrvával.
Velmi zoufalý jsem začal procházet všechny konfigurační soubory a narazil jsem na jednu úpravu, kterou jsem kdysi dávno udělal - příkazem hdparm
jsem nastavil, aby v případě neaktivity došlo k uspání disku. Pro jistotu jsem tento příkaz zakomentoval. Od té doby jsem provedl několik restartů (zkušebních, abych se pokusil problém vyvolat), nahrál mnoho pořadů a nesčetněkrát se díval na televizi a problém se neobjevil. Samozřejmě nedokáži s jistotou říci, že je problém vyřešen (jen mohu mít štěstí a nedaří se mi jej vyvolat), ale zatím to vypadá, že snaha snížit spotřebu počítače uspáváním disku mě stála nejen peníze (nové kabely, nové karty), ale hlavně spoustu času, kdy jsem se snažil zjistit, čím je problém způsobem a vyvolat jej.
Narazil jsem též na několik podivných problémů s USB. Původní počítač měl zezadu 4 USB 2.0, nový má 2 USB 2.0 a 2 USB 3.0. Čtyři porty mi nestačily na dvě DVB karty, DVD mechaniku, USB zvukovku (jelikož má ZOTAC zvukový výstup zepředu, kde se mi to nehodilo, vyřešil jsem to další USB zvukovkou) a přijímač dálkového ovládání (plus malinký přijímač od Logitech klávesnice jsem dal do bočního portu a přední nechal volný pro případném připojení flashdisku). Do jednoho portu jsem tedy dal HUB. Náhodně jsem kabely zastrkal do hubu a dalších portů, ale po startu počítače některá zařízení nefungovala. Po dlouhém zkoumání různých kombinací jsem došel k následujícímu:
Dodávám, že hubů jsem zkoušel několik (vždy USB 2.0), zkoušel jsem i s externím napájením, to nemělo téměř žádný účinek (kromě toho, že pak utáhl zároveň obě DVB karty i DVD mechaniku). Pouze u jednoho (Logitech Premium USB hub) se velmi omezily ty podivné zvuky (ale naprosto utichly až když jsem kartu připojil přímo do počítače).
O USB 3.0 se tvrdí, že je zpětně kompatibilní s USB 2.0. Toto není poprvé, co jsem se s nekompatibilitou setkal. Bylo to i na jiném počítači (takže nejde pravděpodobně o nějakou chybu jednoho řadiče) s foťákem Canon 650D při použití gphoto2 (po několika snímcích s chybou skončí), přitom v USB 2.0 všechna tato zařízení fungují. Bohužel se mi o tomto nepodařilo mnoho najít, takže nemám tušení, kde je problém.
Jeden z dalších problémů v případě použití MythTV backendu, na který jsem narazil, je to, že kartu identifikuje podle pořadí v /dev/dvb. Toto pořadí ale nemusí být pevné, stávalo se mi, že se občas změnilo. Pak ale nastane problém, protože se MythTV snaží na DVB-T kartě naladit satelit a na DVB-S kartě pozemní vysílání. Jednoduchým řešením je do např. souboru /etc/modprobe.d/local.conf
přidat následující (samozřejmě upravené dle modulů jednotlivých karet a požadovaného pořadí):
options dvb_usb_dvbsky adapter_nr=2 options dvb_usb_it913x adapter_nr=0,1Řešení je to sice jednoduché, ale podle mého opět něco, co může začátečníkovi zamotat hlavu.
Po zprovoznění této karty je zatím bohužel třeba kromě stáhnutí firmwaru kompilovat upravený media_build poskytnutý výrobcem. Na Ubuntu například ve zkratce takto:
apt-get -y install linux-source linux-headers-`uname -r` patchutils libproc-processtable-perl build-essential wget http://www.dvbsky.net/download/linux/media_build-bst-130520.tar.gz tar zxvf media_build-bst-130520.tar.gz cd media_build-bst # v4l/build_x86.sh # pro 64 bit v4l/build_x64.sh # pro 32 bit make make install wget http://www.dvbsky.net/download/dvbsky-firmware.zip unzip dvbsky-firmware.zip sh bst-firmware.shPo restartu počítače, popř. opětovném přípojení karty, by pak již měla fungovat.
Na závěr ještě krátké srování dvou různých programů, které jsem zkoušel. Vše vždy běželo na Ubuntu a bylo nainstalováno jako součást distribuce, která je k tomuto určena.
U MythTV mně dlouhodobě vadilo velmi pomalé přepínání programů při sledování televize. Tvheadend tento problém nemá, přepíná i mnohem rychleji než některé televize a set-top boxy. U MythTV frontendu jsem měl též další dost velký problém s živou televizí - po přepnutí kanálu (nebo po zapnutí živé TV) se obraz zasekával. Brzy jsem přišel na řešení: po zapnutí/přepnutí dát na několik sekund pauzu a poté znovu spustit. Tyto dva problémy dohromady pak znamenají to, že přepnutí kanálu do použitelného stavu trvá kolem 20 sekund, což mi přijde nepřiměřeně moc, s Tvheadend a XBMC je to méně než sekunda.
Zatím se mi při používání Tvheadend nepodařilo nastavit, aby se nenahrával již nahraný díl nějakého seriálu. Vzhledem k použitým datům xmltv (od tvpc.cz) díl seriálu zná, ale přesto jej nahraje znovu. To MythTV nedělalo. Navíc Tvheadend nedokáže "předpovědět" kolizi v plánu (tj. že chci nahrávat ze třech multiplexů, i když mám jen dva tunery) a pokusit se nahrávání přeplánovat (nebo alespoň na toto někde upozornit). Kvůli tomuto uvažuji vrátit se k MythTV backendu, ale mrzí mě, že budu opět muset dlouho čekat na přepnutí kanálů (na živou TV se dívám často a často též přepínám kanály, když hledám, na co bych se zrovna díval).
Za výhodu Tvheandu považuji i to, že se dá živá televize přehrávat kdekoliv na síti (třeba pomocí VLC), u MythTV je zřejmě třeba nainstalovat frontend (který má sice více funkcí ale například mně nejde u okna frontendu libovolně měnit velikost).
K MythTV frondendu se asi vrátit nechci, XBMC mě opravdu nadchlo. Zejména takové věci jako vyhledávání informací o filmech na ČSFD, o seriálech na serialzone.cz moc hezky vydadají (zvlášť když přijde návštěva). A celkově XBMC působí moderněji (ale to záleží na tématu samozřejmě) a uživatelsky přívětivěji. Ale to je jen můj názor, rozhodně tím nechci nikoho od používání MythTV odradit, je to skvělý software.
Závěrem bych chtěl říci asi jednu radu - až budete řešit podobné problémy, ujistěte se, že problémy nejsou způsobeny vašimi úpravami, i když s problémem na první pohled vůbec nesouvisí. Mně osobně by to ušetřilo spoustu času a peněz.
Tiskni
Sdílej:
Mě ještě napadlo používat zároveň Tvheadend i MythTV backend. Oba umí karty používat na vyžádání, tedy nejsou-li potřeba, jsou dostupné jiným programům. Pak by šlo používat Tvheadend pro živou TV a stream do sítě a MythTV backend pro nahrávání. XBMC by si s tím snad mělo taky umět poradit (zatím jsem to nezkoušel), i když bude třeba některé věci nastavit více ručně (např. povypínat kanály, které tam přidalo MythTV). Jednotlivým DVB-T kartám by se v obou programech nastavily priority v opačném pořadí, aby se co nejméně stávalo, že by některý program chtěl otevřít již používanou kartou (i když by si s tím měli poradit použitím jiné). Ale asi by to už chtělo tři karty, při dvou by často mohlo dohcázet ke kolizím (MythTV by chtěla ze dvou nahrávat, ale jeden by už byl použitý pro živou TV). Mám tu vlastně ještě jednu Evolve Venus, která pravděporobně funguje (pak bych měl 4 tunery, což by stačilo bohatě), ale nevím, jak připojit dvě karty do jedné televizní zásuvky. Když použiji takovou tu obyčejnou rozdvojku, obraz dost často kostičkuje.
Ještě k tomu, proč nesleduji TV přímo např. přes set-top box (televizi mám starší analogovou) - jednak je to time-shifting (když člověk potřebuje odběhnout, nic mu neuteče). A pak taky možnost kdykoliv spustit nahrávání toho, na co se dívám. Jsou to asi drobnosti, ale přijde mi to velmi pohodlné.
Co se týče aktualizace EPG - pokud nepoužíváte satelit a nechytáte nějaký regionální multiplex (který tam není), zkuste data z tvpc.cz. Data jsou upravena do mnohem použitelnější podoby. A pak je možné v MythTV příjem EIT vypnout.
Ta data jsou stažená EIT upravená skriptem, který je pouze upraví do použitelnější podoby. Díky tomu pak MythTV nenahrává jeden díl seriálu vícekrát (možná to jde i nějak bez toho, mně se to ale nepovedlo).
Ohledně dálkového ovládání je i další možnost - různé univerzální jako např. Logitech Harmony. Tam můžete nastavit zapínací tlačítko a ovládání hlasitosti pro televizi, zbytek pro HTPC. Ale zrovna ten Harmony nedoporučuji, je hrozně pomalý (znatelně dlouho trvá než vyšle signál). Já mám teď ovládání od HP, které dokáže také ovládat více zařízení, ale bohužel se musí přepínat (stačilo by mi, kdyby tlačítko on/off ovládalo televizi a zbytek PC), tak to až tak uživatelsky přívětivé není.
A co VDR backend + XBMC?
přijímač dálkového ovládání zapojený do hubu nefunguje, zapojený do USB 3.0 také ne (opět se hlásí, svítí, ale nereaguje)Príjmač stačí zapojiť na predlžovací USB kábel a vzdialiť ho od ostatnej elektroniky, toto je bežný problém, že sa rušia vlny.
stty -F /dev/serial/by-id/názov_zariadenia speedNastavenie novej
stty -F /dev/serial/by-id/názov_zariadenia 48000
Přijímač má více než metr dlouhý kabel. Je to tento (ovladač je podobný tomu na obrázku, ne úplně stejný).
Žádné /dev/serial
na tom počítači není. Přijímač se hlásí jako
1784:0006 TopSeed Technology Corp. eHome Infrared Transceiver
a vytvoří /dev/lirc0
. Při nastavování lirc fungovala volba Windows Media Center Transceivers/Remotes (all).
Každopádně teď mi všechna USB zařízení fungují, když už vím, které mohu kam zapojit. Do blogu jsem toto napsal hlavně proto, že jsem si vždy myslel, že zařízení USB 2.0 by v USB 3.0 portech měla fungovat vždy. A že (samozřejmě pokud stačí napájení a spokojím se s menší rychlostí) je jedno, zda zařízení připojím přímo do počítače nebo přes hub.
Kdyby ses toho jednoho Venusu chtěl zbavit, tak bychom se možná domluvili Mám problém s tím, že moje DVB z ebaye vždycky max po pár dnech klekne a musím ho odpojit a zapojit (dělá jak v tvheadend, tak ve VDR), a dva tunery by taky nebyly marný
Já bych chtěl, aby to stoprocentně fungovalo, mohl jsem si plánovat nahrávky a prostě to bylo 100%, nemusel jsem na to šahat, a ne vymejšlet takový pochybný šaškárny...
Díky za radu, to by mě fakt nenapadlo. Některým lidem prostě nedochází, že koupit snad i desítky tunerů vyjde řádově levněji, než přepis ovladače (zvlášť, když mám nulovou dokumentaci a nulový zkušenosti).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.