Tuli taas ajankohtaiseksi asentaa MythTV backend puhtaalta pöydältä, ja jälleen kerran sain tapella niiden samojen ongelmien kanssa uudestaan. Nytpä siis kirjaan muistiin toimenpiteitä joita saa tehdä että MythTV:n saa toimimaan haluamallaan tavalla.
Itse käytän tällähetkellä 0.20-fixes versiota, joka on 0.20 kehityshaaran uusin versio, joka sisältää bugikorjauksia alkuperäiseen 0.20 versioon verrattuna. Ubuntun, ja monien muidenkin distribuutioiden, paketinhallintajärjestelmästä tulee vielä vanhoja versioita, joten ainoa keino on kääntää MythTV itse lähdekoodista. Ja varsinkin jos joutuu tekemään tässä kertomiani muutoksia lähdekoodiin, niin kääntöhommiin joutuu jokatapauksessa.
Ensimmäinen vaihe on hakea lähdekoodi. Sen voi imuroida vaikkapa /usr/src hakemistoon:
# cd /usr/src
# svn co http://svn.mythtv.org/svn/branches/release-0-20-fixes/mythtv
Nyt lähdekoodi sijaitsee hakemistossa /usr/src/mythtv. Ennen kääntämistä pitää koodiin kuitenkin tehdä muutos joka korjaa EIT tietojen, eli ohjelmatietojen haun suoraan digitv-verkosta, hakemisen muillakin kanavilla kuin Yleisradiolla.Tämä johtuu siitä että TTV:llä Yleisradion kanavanipulla on network-id 15, mutta kaikilla muilla 0. Periaatteessa 0 on reserved, eli sen ei pitäisi olla minkään tavallisen kanavanipun network-id. Korjauksen voi tehdä käsinkin, vain yksi muutos yhteen tiedostoon, mutta helpoimmalla pääsee kun ajaa tämän patchin lähdekoodiin:
# cd /usr/src
# wget http://svn.mythtv.org/trac/attachment/ticket/2528/eit_fix.diff
# patch -p0 < eit_fix.diff
Voit myös käsin lisätä tiedostoon /usr/src/mythtv/libs/libmythtv/tv_rec.cpp riville 1725 yhtäsuurikuin merkin oheisen esimerkin mukaisesti:
Vanha rivi 1725: if (netid > 0 && tsid > 0 && progNum >= 0)
Korjattu rivi 1725: if (netid >= 0 && tsid > 0 && progNum >= 0)
Nyt ohjelmatietojen haku toimii myös kanaville joiden network-id on 0, eli kaikilla muillakin kanavilla - ei ainoastaan Yleisradion.
Seuraavaksi käännetään MythTV:
# cd /usr/src/mythtv
# ./configure --enable-dvb --enable-proc-opt --arch=pentium4 // Korvaa "pentium4" oman prosessorisi arkkitehtuurilla!
# qmake mythtv.pro
# make // Jos käännät SMP koneella, lisää makelle parametri -j(corejen lukumäärä+1)
# make install
Nyt MythTV on asennettu ja käytettävissä. Ainakin Ubuntu 6.10 ja 7.04 distribuutioissa joutui käsin kopioimaan /usr/local/lib hakemistosta kaikki libmyth* tiedostot /usr/lib hakemistoon, koska ne ei oletuksena löytyneet.
Kanavaskannerilla on ongelmia löytää muita kuin Yleisradion kanavia. Se ilmoittaa kaikkien muiden kohdalla "Found channel, but it doesn't match existing tsid". MythTV:ssä on bugi, joka aiheuttaa tuon network-id nollan tallentumisen NULL arvona MySQL tietokannan tauluun dtv_multiplex. Joten ensimmäisen skannausyrityksen jälkeen pitää käydä muuttamassa tietokannasta NULL arvot nolliksi. Se onnistuu tällä yhdellä SQL-lauseella:
UPDATE dtv_multiplex SET networkid=0 WHERE networkid IS NULL;
Nyt koittamalla skannausta uudelleen olemassa oleville kanavanipuille pitäisi loputkin kanavat löytyä.
May 3rd, 2007 at 0:58
Kiitoksia. Asensin myös purkin uusiksi alusta alkaen. Postituslistalta olin lukenut tarvittavasta patchista TTV:n verkossa, mutta aika työlästä olisi ollut selvittää nuo molemmat muutokset.
May 3rd, 2007 at 8:02
Lisäämällä /etc/ld.so.conf(ig) tiedoston sisältämiin polkuihin “/usr/local/lib” ja ajamalla “ldconfig” komennon - löytyy kirjastot myös /usr/local/lib:n alta.
May 3rd, 2007 at 16:00
Thanks for the info on the TV ad Timo. I’ve changed the post a little.
August 12th, 2007 at 21:45
Mitäs korttia te käytätte? Itse sain Twinhanin DVB-C-kortin toimimaan i386 ubuntu edgyssä mutta en i386 feistyssä enkä amd64 feistyssä.. winkkarissa pelaa kyllä, mutta ubuntun puolella ei virity kanavat mythtvllä eikä dvb-utilsin ohjelmilla.
August 12th, 2007 at 21:54
Itse käytän Technotrendin budget-korttia ja Terratecin Cinergy 1200C korttia. Molemmissa SAA7146 piiri. En ole amd64:sta kokeillut mutta i386 Ubuntuissa ne on toimineet heittämällä mukana tulevan kernelin omilla ajureilla. Aikaisemmin käänsin itse kernelit, ja aikoinaan dvb-ajureiden kanssa oli ongelmia mutta ei muistaakseni enää vähään aikaan. Voisit ehkä kokeilla uusinta itse käännettyä kerneliä?
August 22nd, 2007 at 8:48
Olen tässä tuskaillut mythdora-asennuksen kanssa johtuen tuosta tsid -ongelmasta. näyttää siltä, että tuo ongelma on fixattu, mutta tuo ei vielä taida löytyä mistään helposti asentuvasta paketista. http://cvs.mythtv.org/trac/changeset/12799
September 25th, 2007 at 13:59
Ensiksi haluisin kiittää ohjeesta! Tuskastelin tämän ongelman kanssa varmaankin viikon. Nyt parin viikon toiminnan jälkeen ilmeni sellainen ongelma, ettei EIT (EPG?) löydä tuon mtv3/nelonen-kanavanipun ohjelmatietoja. Ylen tiedot löytyy. Tuli vain mieleen, että voisiko ongelma liittyä jotenkin tähän. Taisin kyllä päivittääkin MythTV:n tässä välissä, downgradea voisi kait kokeilla.
September 25th, 2007 at 14:14
Mitä versiota käytät? Valmiiksi paketoiduissa versioissa voi olla ongelmia ainakin TTV:n verkossa. Jos mahdollista käännä MythTV itse lähdekoodista tämän sivun ohjeiden mukaan. Muista muuttaa lähdekoodiin tiedostoon mythtv/libs/libmythtv/tv_rec.cpp riville 1725:
Vanha rivi 1725: if (netid > 0 && tsid > 0 && progNum >= 0)
Korjattu rivi 1725: if (netid >= 0 && tsid > 0 && progNum >= 0)
September 25th, 2007 at 15:12
Gentoon portagessa on uusin versio mythtv-0.20.2_p14324, joka näytti päivitysrutiinissa tulleen, mutta alunperin asensin version mythtv-0.20.1_p14146. EIT näköjään meni tässä päivityksessä rikki. Gentoossahan kaikki käännetään, mutta mahtaakohan noita muutoksia saada sörkittyä siten, että voisi kääntää vielä portagessa, ei ehkä? Onnistuisiko homma sillä aiemmalla ohjeella, jossa mySQL-tietokantaan korvattiin mythconverg nullit nollilla?
September 25th, 2007 at 15:36
Itselläni ei ole kokemusta Gentoon Portagesta, mutta ainakin minulla tuo MTV3:n muxista puuttuvat ohjelmatiedot ovat aiheutuneet tuosta tv_rec.cpp tiedoston rivistä 1725. Voihan se kuitenkin olla että Gentoon mythtv-0.20.1_p14146 paketissa tuo on jo korjattu. Muistaakseni luin kuitenkin joskus MythTV:n postituslistalta että tuo “korjaus” aiheutti ongelmia Atlantin huonommalla puolella joidenkin MPEG-kaappauskorttien kanssa, joita MythTV merkitsi fiksusti netid:llä 0. Fiksusti sikäli että DVB-spekseissä netid 0 on ihan sallittu arvo ja sitä tunnutaan harrastavan Suomessa enemmänkin.
Tuo tietokannan puukotus null -> 0 auttaa käsittääkseni siihen että kanavaskanneri ei löydä kuin Yleisradion kanavat. Mutta tarkista nyt sekin, ihan varmaa on se että niitä null arvoja siellä ei saa olla. Jos niitä löydät niin poista vaikka ensin mythtv-setupissa kaikki transport streamit ja kanavat, jonka jälkeen tee manuaalinen skannaus pelkälle Yleisradion muxille. Kun ne kanavat ovat löytyneet, käy tietokannassa muuttamassa null -> 0 ja sitten skannaa loput kanavat, vaikkapa manuaalisesti muxi kerrallaan niin ei tarvitse lopuksi yksitellen poistaa turhia kanavia.
September 26th, 2007 at 13:02
Näköjään ainakin tuossa 0.20.2-versiossa on valmiina “netid >= 0″. Mikseiköhän tuo nyt sitten löydä MTV3:n muxista ohjelmatietoja. =)
September 26th, 2007 at 21:43
Mä joudun ainakin ajamaan mythfilldatabase:n käsin ja joskus useampaan kertaan että tulee tarvittavat ohjelmatiedot esim MTV3:n nipulle? Em. ajossa tulee herjaa:
config file /home/jms/.mythtv/tv_grab_fi.xmltv does not exist, run me with –configure
September 26th, 2007 at 23:25
Eero: Varmista että myth-setupissa kanavaeditorissa on MTV3:n muxin kanavissa se “Use EIT data” tms.
Jussi: Tuo mythfilldatabase ja xmltv viittaa vanhaan systeemiin jossa ohjelmatiedot haettiin Internetistä. Suomalaisten kanavien ollessa kyseessä muistaakseni Katso.fi sivuilta. Googleta “xmltv”.
Nykyään EPG (ts. EIT) tietoja käytettäessä xmltv:tä tai mythfilldatabasea ei käytetä lainkaan. Kannattaa tarkkailla mythbackendin logia/konsolia. Siellä pitäisi näkyä jotain tälläistä:
2007-09-26 23:24:51.723 EITScanner: Now looking for EIT data on multiplex of channel 3
2007-09-26 23:25:06.514 EITScanner: Added 104 EIT Events
September 27th, 2007 at 21:10
Joo ei tuo mythfilldatabase:n ajo EIT:ä päivittänyt. Joku Welhon asiakas oli huomannut että kun katsoo tällaista kanavaa jonka EIT ei automaattisesti päivity noin parikymmentä sekuntia niin tämän jälkeen EIT päivittyy? Tuo näytti toimivan myös minulla…
http://www.linuxtv.fi/viewtopic.php?t=2493
March 11th, 2008 at 14:46
[...] MythTV:ssä on bugi, jonka takia networkid:n arvo nolla tallentuu MySQL-tietokantaan arvona NULL. [...]
March 11th, 2008 at 22:23
Elämä Mythin ja TTV:n kaapelin kanssa jatkuu. Seuraavia havaintoja olen tehnyt viime kuukausina.
1. Minulla on kaksi DVB-korttia, joista toisessa Common Interface ja TTV:n kortti MTV kanavapaketilla. EIT skanneri ei aina osaa hakea EPG:hen ohjelmatietoja salatuista kanavista. Joskus auttaa korttien määrittely uudelleen eri järjestyksessä. En ole vielä keksinyt millä logiikalla kortti valitaan.
2. MTV3 lakkasi näkymästä kanavalistassa “Watch TV” moodissa. Tallennus toimi yhä. Mysql kannassa näkyi ‘channum’ olevan sama MTV3 ja Jetix kanavilla. Deletoin Jetixin ja MTV3 ilmestyi takaisin.
3. Cable open viikonloppuna näkyivät kaikki kanavat hienosti, mutta ilmaiskatselun päätyttyä MTV3 maksukanavien multiplexistä en enää saa purettua tilaamiani kanavia. Kaikki vanhat kikat kokeiltu ja kanavat viritetty uudelleen. Vielä selvittämättä tämä ongelma.