Jak z tabletu udělat televizi

Filed under Android
Tagged as , , , , , , , , , , , , , , , ,

Ještě než jsem sem si pořídil tablet, zajímalo mě, jestli na něm rozběhnu televizní příjem. Oslovil jsem tedy pana Googla, který mi potvrdil, že to možné bude. Přirozeně potřebujete tablet s USB konektorem, přístup k rootu, USB DVB-T klíčenku a hlavně správné ovladače. V následujícím textu se pokusím popsat postup jak televizi na tabletu zprovoznit. Budu se snažit popisovat vše obecně, ale musíte chápat že mám zkušenosti jen s mým tabletem a s mým tunerem. Také zde nechci popisovat strastiplnou cestu na získaní správného Toolchainu pomocí kterého můžete kompilovat zdrojaky na PC pro Androida. (koukni sem).Taktéž získání zdrojaků pro mou verzi kernelu mě stálo nejeden šedivý vlas. Dost bylo kecání, pusťme se do práce.

Má HW výbava:

  • tablet: GoClever Tab A73 ICS 4.0 kernel version 3.0.8+ procesor allwinner A10
  • tuner: Dvb-T  AverMedia AVerTV VolarHD (A835) USBID 07ca:b835
  • kabel:  USB OTG redukce

Stáhněte si terminál aplikaci, existuje jich několik zdarma, já si vybral Terminal IDE.

Zjistěte na této stránce jaký čip používá váš tuner a jestli je na Linuxu vůbec podporován. U mě naštestí je a používá čip Afatech AF9035 pro který si stáhnete ovladače zde. (jsou zkompilovány pro kernel 3.0.8+ preempt mod_unload modversion ARMv7 a procesor A10) nebo zde pro GoClever R974.2 a podobné (3.0.8+ SMP preempt mod_unload ARMv7). Vy ostatní máte 2 možnosti. Buď budete mít štěstí a ovladače pro váš tuner, kernel a procesor naleznete na internetu již zkompilované anebo si je budete muset zkompilovat sami. Pokud ale nemáte alespoň základní znalosti s cross-kompilováním na Linuxu, budete mít problém. Pokud budete mít stejný kernel jaký zde uvádím, ale jiný tuner, uveďte to v komentáři. Já Vám, zbyde-li čas, modul zkompiluji.

Rozbalte soubor s ovladači do tabletu. Já osobně použil SD kartu, tedy /mnt/extsd/. Tady jsem si vytvořil adresář dvb a rozbalil archiv tam. V adresáři modules naleznete v šechny moduly a firmware, které jsou potřeba na rozchození. Tady máte na výběr jestli moduly necháte na SD kartě nebo je nakopírujete ke standardním modulům v tabletu. (/system/vendor/modules)

Jiné je to se firmwarem, ten se musí nakopírovat do systémového adresáře, kde ho ovladač očekává. Na mém tabletu to je konkrétně /system/etc/firmware, ale může to být i adresář /etc/firmware nebo jiný. Adresář firmware u mě neexistoval a tak jsem ho vytvořil. Použijte jakéhokoliv průzkumníka, já používám ES FileExplorer, který umí zapisovat i do systémových složek. Jestli preferujete terminál použijte příkazy

Tak moduly a firmware máme připraveny na zavedení do systému. Jestli jste to ještě neučinili spusťte terminál. A spusťte následující příkazy

Pakliže proběhlo vše jak má zjistíme z logu zdali se ovladač zaregistroval. Napište do konzole následující…

… a měli byste někde v logu vidět

usbcore: registered new interface driver dvb_usb_af9035

Můžete také použít příkaz lsmod, který vám vypíše všechny zavedené ovladače, tedy i ty co jste právě zavedli.

Jestli Vám při zavádění vyskočila jedna z těchto chybových hlášek, znamená to, že modul není s vaším jádrem kompatibilní a ovladač je třeba překompilovat. Více informací naleznete v logu příkazem  dmesg | tail

insmod: init_module ‘ dvb-core.ko’ failed (Exec format error) nebo

insmod: error inserting ‘af9035.ko’: -1 Unknown symbol in module

 

Pokud se ovladač zaregistroval, budeme muset ještě vytvořit adresáře pro dvb zařízení…

Táááák a je to. Teď připojte klíčenku. Je potřeba použít OTG kabel uplně stejný kterým připojujete MassStorage zařízení. Znovu zkontrolujeme log příkazem dmesg. Jestli tam uvidíte to samé jako v rámečku máte nainstalováno.

[ 3802.570000] dvb-usb: found a ‘Avermedia AverTV Volar HD & HD PRO (A835)’ in cold state, will try to load a firmware
[ 3802.650000] dvb-usb: downloading firmware from file ‘dvb-usb-af9035-01.fw’
[ 3803.220000] dvb-usb: found a ‘Avermedia AverTV Volar HD & HD PRO (A835)’ in warm state.
[ 3803.280000] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 3803.300000] DVB: registering new adapter (Avermedia AverTV Volar HD & HD PRO (A835))
[ 3803.370000] af9033: firmware version: LINK:11.15.10.0 OFDM:5.48.10.0
[ 3803.390000] DVB: registering adapter 0 frontend 0 (Afatech AF9033 DVB-T)…
[ 3803.470000] tda18218: NXP TDA18218HN successfully identified.
[ 3803.480000] dvb-usb: Avermedia AverTV Volar HD & HD PRO (A835) successfully initialized and connected.

 

Má to ale jeden háček. Instalace ovladačů není trvalá, tzn. po restartu, tablet tuner nenadetekuje. Je třeba je nainstalovat znovu. Bohužel modifikace zaváděcích scriptů také není trvalá, je to proto, protože systém je na ramdisku který se po restaru částečně přepisuje z romky. Z tohoto důvodu nelze natažení ovladačů zautomatizovat. Teda alespoň ne tak jak bychom to udělali na PC. Museli by jste přeflashovat modifikovaný systém. Nicméně určitá polo automatizace je možná, uložte si zaváděcí příkazy do shell skriptu.  Možná automatizace je popsána zde. Nicméně můžete použít i aplikaci níže.

Stáhněte si Gscript Lite. Je to aplikace, která dokáže spustit skripty bez nutnosti spouštět terminál. Takže vždy po restartu spustíte GScriptem váš skript a tablet bude připraven k použití tuneru.

 

V dalším článku si ukážeme jak naladit kanály a jak zobrazit TV vysílání.

Ukázka provozu: http://www.youtube.com/watch?v=Z6Qcwuu4hyc

Budu rád, když dáte vědět jestli se vám povedlo tuner rozchodit.

Také bych chtěl poděkovat autorům následujících stránek, bez jejihž pomoci by nevznikl ani tento návod .

 

 

 

 

 

61 Comments

  1. Dejf says:

    Díky za článek, já jsem myslel že je třeba zkompilovat celé jádro a zakompilovat do něj přímo ovladače. Každopádně díky, tvoje video mě nakoplo k tomu abych se do toho pustil, na usb host jsem našel na netu patch, jen ovladače pro af9015 a tda 18218 jsem musel do kernelu napasovat, tak jsem to zkompiloval, mám to v telefonu a už jsem zkoušel flešku na desce z Blade (bez displeje atd, jedu jen přes adb), teĎ jdu zkusit tuner přímo na svůj Blade.

  2. Piotrek says:

    Vítejte u nás. Zdálo se mi chyba. Co mám dělat?
    insmod: init_module ‘ dvb-core.ko’ failed (Exec format error)

    • admin says:

      Witaj Piotrek,

      it means dvb-core.ko was compiled for different kernel than you have. Try to check dmesg. There will be more info about version conflict. What kernel you have. Try run uname -a in console. In worst case you will have to either recomplile or get right modules for your tuner.
      Let me know what you see.

      • Piotrek says:

        uname -a:
        Linux localhost 3.0.8+ #63 SMP PREEMPT Sat Nov 17 18:35:50 CST 2013 armv71 GNU/Linux

        • admin says:

          it looks ok, could you tell me what tuner you have and what is your tablet? It helps to track down the problem. Ales

          • Piotrek says:

            Tuner Tv AverMedia a835 (chipset af9035)
            Tablet GoClever R974.2 Android 4.1.1 jądro 3.0.8+

            I’m Polish. Could you writing in english? Because i’m using translate now but it isn’t precise.

          • Piotrek says:

            ohh. Sorry! I didn’t see 😉 you writing in english. automatic translator in chrome ;/

            what should I do to run this tuner on my device?

      • admin says:

        could you send me file Module.symvers from /vendor/modules? I’ll look on it if it’s same as I had.

        • Piotrek says:

          I found only file “modules” in /proc :

          wlan 424564 0 – Live 0×00000000
          vpu_service 11791 0 – Live 0×00000000
          rk29_ipp 9541 0 – Live 0×00000000 (C)
          mali 101401 10 – Live 0×00000000
          ump 26008 21 mali, Live 0×00000000
          rk30xxnand_ko 907691 0 – Live 0×00000000

          • admin says:

            this is not what I need. Try look here /system/vendor/modules. If not there try to find it. Maybe it’s not on your tablet at all in that case I’m unable to help you.

        • Piotrek says:

          I didn’t see this file, it isn’t in /system/vendor/modules i’m sure.

          What is in this file? Can I make it myself? i’m looking forward to watch tv.

          • admin says:

            you cannt do that. This file is generated during compilation and contains modules dependency info. And because you dont have exact sources of your tablet kernel you need this file to link modules with your kernel. I was lucky I had this file included in my modules folder. More detailed description here

            Edit: maybe there is one way how to generate module.symvers file afterward. I have to try it before I’ll give you hand. Stay tuned.

          • Piotrek says:

            Ok. I will be waiting for your answer.

          • admin says:

            can you in the meantime send me output of dmesg | grep “\.init”?

          • Piotrek says:

            When I’m writing “dmesg | grep “\.init” it’s nothing happens.
            When I’m writing only “grep “\.init” console its suspended.
            When I’m writing only “grep” console showes help
            dmesg : http://wklej.org/id/1044401/

            When I’m doing this, i had plug in my dvb-t tuner.

          • admin says:

            nevermind I think I don’t need it right now. I know how to generate module.symvers file! To do it I need your kernel. Could you run this? cat /dev/block/nandc >path_to_your_sdcard_nameoffile and upload somewhere?

          • Piotrek says:

            I don’t have nandc in this location. I found it’s in /procirq/59/nandc but it’s empty.

            in /dev/block i see:
            dm-0 dm-1
            loop0, loop1, … ,loop7
            mtd
            mtdblock0,…,mtdblock9
            vold

            is it which you looking for?

          • admin says:

            Ok…, in that case run cat /proc/mtd find line with “BOOT” remember exact name of mtd and then cat /dev/block/mtdX >path_to_sd_nameoffile

          • Piotrek says:

            mtd2: 00c00000 00004000 “boot”
            I send you mtdblock2.

          • admin says:

            Could you please paste here output from cat /proc/mtd? Maybe I’ll need another partition. Thanx

          • Piotrek says:

            root@android:/ # cat /proc/mtd
            dev: size erasesize name
            mtd0: 00400000 00004000 “misc”
            mtd1: 00c00000 00004000 “kernel”
            mtd2: 00c00000 00004000 “boot”
            mtd3: 01000000 00004000 “recovery”
            mtd4: 18000000 00004000 “backup”
            mtd5: 08000000 00004000 “cache”
            mtd6: 80000000 00004000 “userdata”
            mtd7: 00400000 00004000 “kpanic”
            mtd8: 30000000 00004000 “system”
            mtd9: 309400000 00004000 “user”

            I can send you all. If you want that write here and I send you this to your e-mail.

  3. DRoIT-72 says:

    Čao, mam tablet Prestigio 5580 s and.4.0.4 a dvb-core.ko mě vypisuje stejnou chybu, má někdo nápad kde hledat korektní verzi. Dík

  4. Peter says:

    Pokus o zavedenie ovládačov skončil chybou. V logu som našiel záznam:
    dvb_core: version magic ‘”3.0.8+ preempt mod_unload modversion ARMv7’ should be ‘3.0.8+ SMP preempt mod_unload ARMv7’. Čo to znamená a ako by som to mohol vyriešiť?

  5. mg75 says:

    Dobrý den,
    chtěl bych se zeptat, zdali poradíte s kombinací …
    Tablet Pipo S3 (3.0.8+ root #235 SMP PREEMPT Sat Jan 18:34:19 CST 2013)
    TV tuner …. Afatech AF9015

    • mg75 says:

      Číslo sestavení:
      RK30_ANDROID4.1.1-SDK-v1.00.00)
      Verze systému Android: 4.1.1

    • admin says:

      zkousel jste ty drivery pro R974.2? Co to psalo za chyby?

      • mg75 says:

        Dobrý den,
        tak jsem se k té instalaci DVBT tuneru na Androidu vrátil. Chtěl bych se zeptat, v jaké aplikaci po instalaci naladíte programy stream přehráváte?
        Děkuji

        • mg75 says:

          Jinak ta druhá verze pro CPU RK3066 vypadá na na mém tabletu OK, mám stejný CPU s verzi 3.0.8+ , trápím se zatím na tom, že nemám .ko soubory pro AF9015 a pak mi hlásí chybu ten rc-core.ko – invalid module format.

          • admin says:

            af9015.ko prilezitostne zkompiluju ale je divne ze nefacha rc-core.ko dost mozna ze nebude potreba pac to je jen kvuli dalkovemu ovladaci ted si nejsem jistej jake jsou tam vazby na ostatni moduly. podivejte se po neuspesnem zavedeni do logu prikazem dmesg, bude to nekde na konci a napiste mi to sem.

        • admin says:

          Pouzivam droidtv, lepsi jsem zatim neobjevil. Pokud tedy bezi spravne ovladace pak staci uz spusit, naladit a sledovat.

          • mg75 says:

            Nejde link na droidtv , nicméně dle názvu chrulri-droidtv-fullscreen.apk jsem si ho již našel, je to taktéž verze 0.2.0, i když se chová trochu odlišně a vypadá trošinku jinak než mnou nalezená verze 0.2.0.

          • admin says:

            Díky link opravím. Ta moje verze byla modifikována aby běžela fullscreen.

        • mg75 says:

          Tak jsem se dostal dále,
          na tomto webu to někdo překládal pro RK3066 čip a AF9015.
          http://www.holik.at/index.php?m=06&y=13&entry=entry130626-072506
          Všechny jeho moduly (poslal mi je mailem) jsem načetl v pořádku, kromě rc-core.ko od Vás, on ho tam nepoužívá, mně to píše, že už je tam duplicitní funkcionalita, tak zkouším bez něj, nějaká input zařízení se v tabletu objeví i bez něj.
          Používám Droid TV 0.2.0, podaří se mi sken pásma, naleznu a uložím kanály, po kliknutí na kanál k přehrání aplikace zamrzne s černou obrazovkou.
          Dotaz: Váš web potřebuje login ke stažení souboru?
          Jinak jsem si všiml jedné věci: po připojení TV tuneru k tabletu se vypne klávesnice na obrazovce, tablet si myslí, že input je právě ten Afatech AF9015. To bude asi to dálkové ovládání.

  6. red says:

    Ahoj, dobrá práce, já jsem si radši koupil GOCLEVER TAB T76GPSTV s interním dvb-t a funguje. Mám ale problém, nepřehrává žádné video (avi, mp4, flv) Zkoušel jsem nainstalovat Archos Video All Codecs Plugin v1.1.apk, také androidní video přehrávač VPlayer v3.1.5.apk. Nepomohl ani návrat k továrnímu nastavení :( Nevíš co s tím?

    • red says:

      z interní paměti videa hrajou, z 32 GB micro SD karty to video nespustí, karta je rychlá (Class 10), je to chyba v systému:(

    • admin says:

      No příčin muže byt plno zkus mxplayer ten podává dobre vysledky. Pokud to nepofrci zkus si pohrát a nastavením cache, také můžeš player přepnout na hw dekódování pokud to tablet bude podporovat. Příčina také muže byt ze karta neni tak rychla jak by měla. Každopádně já zádné kodeky do tabletu nedoinstalovaval a všechny playery co jsem měl videa zvladaly. Co je to za rozlišení full hd?

      • red says:

        jsem zkusil přehrát video z interní paměti a hrálo, dokonce to přehrává video z připojené flashky. Z karty se tomu nechtělo, tak jsem si vzpoměl na starý časy a naformátoval jsem kartu do fat32 přes komp. Tablet snad ani svoje formátování karty nemá, nebo jsem to v menu nenašel. Zmátlo mě, že jinak to z karty jelo všechno, až na to video. Taková blbost a jak to dokáže potrápit. Teď ještě vychytat nějakou tu off line navigaci a bude vyřešeno. Omlouvám, že jsem tady odbočil od tématu, ale tonoucí se stébla chytá, díky -)

      • red says:

        tak poslední verze, když kartu vložím kompu a nakopíruju na ní filmy, tak po vložení karty do tabletu tablet filmy vidí, ale nejdou spustit (stejným postupem vložené mp3, fotky a jiné soubory to spustí). když nakopíruju filmy z PC na kartu vloženou v tabletu přes usb kabel, tak tablet filmy přehrává:) soudruzi v číně udělali systémovou chybu a mě to tady zbytečně otravuje život:)

  7. elementik says:

    Ahoj, tak jsem si to pročetl a zkusil jsem to při zavádění do systému mi to u 3. kroku hodí insmod: can´t insert ´dvb-core.ko: operation not permitted… nevíš prosímtě co s tím ?

  8. simon says:

    Ahoj…ja mam stejny tablet i kernel jako ty, jenom jiny dvbt tuner. Chipset je rtl2832u a tuner fc00013. Hledal jsem na internetu nejaky zkompilovany driver no bohuzel nic nebylo primo na muj kernel. Byl by sem ti velmi povdecny, kdybys zkompiloval driver i pro tenhle typ tuneru.

    • admin says:

      no mozna ze ne, zjisti si jestli ten tablet umi pomoci OTG kabelu pripojit klicenku ci tuner. Bojim se ze nema funkci USB host. Co se tyce tuneru, tak to muze byt take problem, koukni sem. Take je dulezite aby ten tablet mel roota.

      • Pavel Srkala says:

        No, USB flashku mi to normálně načte, i bezdrátovou mys pomoci přijímače do USB…

        • admin says:

          v tom pripade, jestli mas roota, by to teoreticky slo. Ale taky nemusi. Oni dokonce pro ten tuner vydavali i linuxovy driver kterej partne sam o sobe nepude, protoze to bude na x86 procesor.

          • Pavel Srkala says:

            No, asi je i na x64. A když udělám root, to přijdu o záruku?

          • admin says:

            no zalezi asi jak se root musi udelat, pokud musis fleshnout celej system, tak asi jo. Ale pomoci tyhle apky, ktera se da i odinstalovat by to ani nepoznali. Nejsem si ale jistej jesli Yoga 8/10 je ta tva. Link

  9. Adam says:

    Zdravim Vas,
    mam prosbu, mam tablet Tolino tab 7 s verzi jadra 3.0.36+ na Androidu 4.2.2.
    Vlastnim tuner AVerMedia AverTV Hybrid Volar HX (A827)
    Myslite, ze mam sanci zprovoznit TV na tabletu a treba i vyuzivat composite vstupy, ktere tuner ma a pripadne natacet videa z VHS do tabletu a podobne?
    Dekuji!!!
    Adam

  10. Mirek says:

    Dobry den, mám tablet Ferguson regent 10 a DVB-T tuner strong SRT 200USB nebo cabstone 70200. Nikde jse nenašel pro tyto dvb-t tunery ovladače pro android. Mám pouze cd k windows. Bude tohle fungovat?

    • admin says:

      No veru jsem moc o techto dvou tunerech nenasel, nerikam ze je to nemozne ale pokud nesezenete drivery na android anebo alespon zdrojaky, tak to nerozbehnete.

  11. Zdeněk says:

    Zdravím,
    našla by se dobrá duše která poradí jak na starém dobrém Advent Vega (POV tegra) 10.1 rozběhnout tenhle DVB-T tuner

    http://www.dhgate.com/product/mini-dvb-t-digital-terrestrial-usb-receiver/132911919.html

    Root a USB host mám zvládnutý. Android ve verzi 2.2 Corvus.
    Vyšší ROMku mít nemůžu, protože kvůli poruše dotykové vrstvy ovládám tablet myší a novější verze neumí automaticky zapínat usb host po startu. do nového dotyku investovat tisícovku nechci

  12. Miki says:

    Zdravim,

    ten slibovany clanek jak naladit kanaly a zobrazit vysilani.by nebyl?

    Mimochodem pro RTL2832U jsou drivery dostupne rovnou na Google Play jako balicek.

    https://play.google.com/store/apps/details?id=marto.rtl_tcp_andro&hl=cs

    Uvazuji o koupit USB sticku s timto chipem nejen kvuli DVB-T, ale i kvuli hrani s SDR, jen nemuzu prijit na to jak si jednoduse pustit TV.

    Diky.


Trackbacks/Pingbacks

  1. Tuner DVB-T USB na nasze tableciki - Strona 25
  2. Tuner DVB-T i Goclever r974.2
  3. Sledování TV na tabletu — Další z mnoha Blogů

Post a Comment

Your email is never published nor shared.