Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
msi_digivox_mini_ii_v3.0_černá [2013/07/24 15:46]
Martin Vancl navod na ubuntu 12.10
msi_digivox_mini_ii_v3.0_černá [2019/02/25 18:21] (aktuální)
Řádek 1: Řádek 1:
 +====== MSI DigiVox mini II V3.0 černá ======
  
 +Následující informace se týkají DVB-T tuneru **MSI DigiVox mini II V3.0**, v černém provedení (idVendor=1d19,​ idProduct=1101)
 +
 +Zatímco bílá verze se stejným názvem má chipset Atatech AF9013 a je Linuxem od jádra 2.6.28 nativně podporovaná,​ tato černá verze má chipset Realtech RTL2832 a její podpora v jádře (nyní 2.6.31) stále chybí.
 +
 +Následující postup ukazuje jak toto zařízení v zprovoznit v Ubuntu. Postup vychází jednak z readme.txt uvnitř archivu ovladače RTL2832U, jednak z doporučení na webu ubuntuusers.de (které objevil uživatel **cz-helper** a publikoval na abclinuxu.cz)
 +
 +====== Příprava ======
 +Balíky unrar (nikoliv unrar-free) a Mercurial jsou v dalším postupu zapotřebí.
 +<​code>​
 +sudo apt-get install unrar
 +sudo apt-get install mercurial
 +</​code>​
 +====== Postup instalace ovladačů ======
 +
 +===== Stáhnout poslední zdrojové soubory v4l-dvb =====
 +
 +<​code>​
 +cd ~
 +mkdir digivox; cd digivox
 +hg clone http://​linuxtv.org/​hg/​v4l-dvb
 +</​code>​
 +Offline verze je na [[http://​linuxtv.org/​hg/​v4l-dvb/​archive/​tip.zip]]
 +
 +===== Stáhnout zdrojové soubory ovladače RTL2832U =====
 +z [[http://​media.ubuntuusers.de/​forum/​attachments/​2103272/​090730_RTL2832U_LINUX_Ver1.1.rar]] a rozbalit obsah složky archivu **090730_RTL2832U_LINUX_Ver1.1** do složky na disku **~/​digivox/​v4l-dvb/​linux/​drivers/​media/​dvb/​dvb-usb**
 +
 +<​code>​
 +cd ~/digivox
 +wget http://​media.ubuntuusers.de/​forum/​attachments/​2103272/​090730_RTL2832U_LINUX_Ver1.1.rar
 +unrar x -ep 090730_RTL2832U_LINUX_Ver1.1.rar ./​v4l-dvb/​linux/​drivers/​media/​dvb/​dvb-usb
 +</​code>​
 +===== Upravit atributy perl skriptů =====
 +<​code>​
 +cd ~/​digivox/​v4l-dvb
 +for i in `find . -name *.pl`; do chmod +x $i ; done
 +</​code>​
 +===== Upravit Makefile =====
 +
 +Do souboru ​ **~/​digivox/​v4l-dvb/​linux/​drivers/​media/​dvb/​dvb-usb/​Makefile** doplnit na konec
 +<​code>​
 +dvb-usb-rtl2832u-objs = demod_rtl2832.o dvbt_demod_base.o dvbt_nim_base.o foundation.o math_mpi.o nim_rtl2832_mxl5007t.o nim_rtl2832_fc2580.o nim_rtl2832_mt2266.o rtl2832u.o rtl2832u_fe.o rtl2832u_io.o tuner_mxl5007t.o tuner_fc2580.o tuner_mt2266.o tuner_tua9001.o nim_rtl2832_tua9001.o
 +
 +obj-$(CONFIG_DVB_USB_RTL2832U) += dvb-usb-rtl2832u.o
 +</​code>​
 +===== Upravit Kconfig =====
 +
 +Do souboru **~/​digivox/​v4l-dvb/​linux/​drivers/​media/​dvb/​dvb-usb/​Kconfig** doplnit na konec
 +<​code>​
 +config DVB_USB_RTL2832U
 + tristate "​Realtek RTL2832U DVB-T USB2.0 support"​
 + depends on DVB_USB
 + help
 +   Realtek RTL2832U DVB-T driver
 +</​code>​
 +===== Opravit rtl2832u.c =====
 +
 +V souboru **~/​digivox/​v4l-dvb/​linux/​drivers/​media/​dvb/​dvb-usb/​rtl2832u.c** opravit chyby
 +
 +==== odkomentovat řádku 12: ====
 +
 +změnit řádku
 +<​code>​
 +//​DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);​
 +</​code>​na
 +<​code>​
 +DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);​
 +</​code>​
 +==== Opravit řádky 61,62,63 ====
 +
 +Doplnit **adapter_nr** jako pátý argument ve funkcích na řádkách 61,62,63:
 +
 +změnit řádky
 +<​code>​
 +        if ( ( 0== dvb_usb_device_init(intf,&​rtl2832u_1st_properties,​THIS_MODULE,​NULL) )||
 +                ( 0== dvb_usb_device_init(intf,&​rtl2832u_2nd_properties,​THIS_MODULE,​NULL) ) ||
 +                ( 0== dvb_usb_device_init(intf,&​rtl2832u_3th_properties,​THIS_MODULE,​NULL) ))
 +</​code>​na
 +<​code>​
 +        if ( ( 0== dvb_usb_device_init(intf,&​rtl2832u_1st_properties,​THIS_MODULE,​NULL,​adapter_nr) )||
 +                ( 0== dvb_usb_device_init(intf,&​rtl2832u_2nd_properties,​THIS_MODULE,​NULL,​adapter_nr) ) ||
 +                ( 0== dvb_usb_device_init(intf,&​rtl2832u_3th_properties,​THIS_MODULE,​NULL,​adapter_nr) ))
 +</​code>​
 +===== Přeložit =====
 +<​code>​
 +cd ~/​digivox/​v4l-dvb
 +make clean
 +make
 +sudo make install
 +</​code>​
 +===== Otestovat =====
 +<​code>​
 +tail -f /​var/​log/​messages
 +</​code>​(zasunout USB)
 +<​code>​
 +Sep  1 00:46:28 unb kernel: [24298.848083] usb 2-2: new high speed USB device using ehci_hcd and address 8
 +Sep  1 00:46:28 unb kernel: [24298.990915] usb 2-2: configuration #1 chosen from 1 choice
 +Sep  1 00:46:28 unb kernel: [24298.996281] dvb-usb: found a 'DK DVBT DONGLE'​ in warm state.
 +Sep  1 00:46:28 unb kernel: [24298.996295] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
 +Sep  1 00:46:28 unb kernel: [24298.998019] DVB: registering new adapter (DK DVBT DONGLE)
 +Sep  1 00:46:28 unb kernel: [24298.998962] DVB: registering adapter 0 frontend 0 (Realtek RTL2832 DVB-T)...
 +Sep  1 00:46:28 unb kernel: [24298.999019] dvb-usb: DK DVBT DONGLE successfully initialized and connected.
 +Sep  1 00:46:28 unb kernel: [24299.001098] dvb-usb: found a 'DK DVBT DONGLE'​ in warm state.
 +Sep  1 00:46:28 unb kernel: [24299.001109] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
 +Sep  1 00:46:28 unb kernel: [24299.003400] DVB: registering new adapter (DK DVBT DONGLE)
 +Sep  1 00:46:28 unb kernel: [24299.004151] DVB: registering adapter 1 frontend 0 (Realtek RTL2832 DVB-T)...
 +Sep  1 00:46:28 unb kernel: [24299.004208] dvb-usb: DK DVBT DONGLE successfully initialized and connected.
 +</​code><​code>​
 +lsmod | grep 2832
 +mce@unb:​~/​Download/​RTL2832u/​090730_RTL2832U_LINUX_Ver1.1/​Doc$ lsmod | grep 2832
 +dvb_usb_rtl2832u ​      ​83888 ​ 0
 +dvb_usb ​               19304  1 dvb_usb_rtl2832u
 +</​code>​
 +===== Použít =====
 +Čímkoli, pro začátek navrhuji [[Kaffeine]]. O použití i v ostatních přehrávačích pojednává článek [[Digitální TV]].
 +
 +===== Postup pro Ubuntu 9.10 =====
 +
 +Postup zprovoznění je identický s rozdílem, že po provedení všech kroků ještě navíc musíte udělat následující kroky.
 +
 +*v souboru **./​linux/​drivers/​media/​dvb/​dvb-usb/​tuner_tua9001.c**
 +*na řádku 951 změnit
 +<​code>​
 +#elif defined(CRYSTAL_19,​2_MHZ)
 +na
 +#elif defined(CRYSTAL_19_2_MHZ)
 +</​code>​*na řádku 957 změnit
 +<​code>​
 +#elif defined(CRYSTAL_20,​48_MHZ)
 +na
 +#elif defined(CRYSTAL_20_48_MHZ)
 +</​code>​*Spustit **make** a po pár sekundách ho zastavit (potřebujeme vygenerovat **./​v4l/​.config**)
 +*V souboru **./​v4l/​.config** u problémových modulů
 +<​code>​
 +CONFIG_DVB_FIREDTV=m
 +CONFIG_RADIO_MIROPCM20=m
 +CONFIG_VIDEO_CX23885=m
 +CONFIG_VIDEO_MEYE=m
 +</​code>​
 +změnit atribut **m** na **n** CONFIG_DVB_FIREDTV=n
 +CONFIG_RADIO_MIROPCM20=n
 +CONFIG_VIDEO_CX23885=n
 +CONFIG_VIDEO_MEYE=n}}}
 +
 +
 +*Poté znovu spustit **make** a **sudo make install**
 +
 +
 +
 +===== Postup pro Ubuntu 10.04 =====
 +Postup zprovoznění je stejný jako v Ubuntu 9.04.
 +
 +Pokud se při překladu vyskytne chyba
 +
 +<​code>​
 +make[2]: *** [~/​Programy/​DigiVox/​v4l-dvb/​v4l/​ir-raw-event.o] Error 1
 +make[1]: *** [~/​Programy/​DigiVox/​v4l-dvb/​v4l] Error 2
 +make[1]: Leaving directory `/​usr/​src/​linux-headers-2.6.32-22-generic-pae'​
 +make: *** [default] Error 2
 +</​code>​
 +, znamená to že poslední V4L zdrojáky nejsou pro tuto verzi Ubuntu patchovány. Než dojde k jejich opatchování,​ je nutná následující úprava:
 +
 +Pokud se při sledování TV obejdete bez IR ovladače, stačí v souboru **./​v4l/​.config** u řádky
 +<​code>​
 +CONFIG_IR_CORE=m
 +</​code>​změnit atribut **m** na **n** CONFIG_IR_CORE=n}}}
 +, znovu spustit příkaz
 +%%make%%
 +a dokončit postup.
 +
 +Pokud chcete s vaší TV kartou používat i IR ovladač, po dobu než bude napsán patch je třeba se vrátit ke starší verzi V4L:
 +
 +Výše uvedený postup absolvujte znovu, ovšm sekci **2.1: Stáhnout poslední zdrojové soubory v4l-dvb**
 +
 +<​code>​
 +cd ~
 +mkdir digivox; cd digivox
 +hg clone http://​linuxtv.org/​hg/​v4l-dvb
 +</​code>​
 +rozšiřte na následující
 +
 +<​code>​
 +cd ~
 +mkdir digivox; cd digivox
 +hg clone http://​linuxtv.org/​hg/​v4l-dvb
 +cd v4l-dvb
 +hg update -ree9826bc7106
 +</​code>​
 +
 +===== Postup pro Ubuntu 10.10 =====
 +Postup zprovoznění je stejný jako v Ubuntu 9.10.
 +
 +===== Postup pro Ubuntu 11.04 =====
 +Postup instalace pro jsem popsal v článku [[rtl2832u]].
 +
 +
 +===== Postup pro Ubuntu 12.10 =====
 +Funkcni postup je na [[https://​github.com/​valtri/​DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0]] ​
 +Sam kartu pouzivam v Ubuntu 12.10 s jadrem 3.5.0 a funguje OK (dalkove ovladani jsem nezkousel).
 +V Makefile je potreba upravit radek s verzi jadra a pak uz staci zkompilovat.
 +Cely postup je narozdil od predchozich navodu velice jednoduchy. Funguje i na jinych verzich Ubuntu.
 +
 +
 +===== Problémy =====
 +Pokud najednou přestane TV modul fungovat, je možné že došlo k povýšení verze jádra v rámci automatické aktualizace Ubuntu. V tom případě je třeba uvedený postup zopakovat, abychom vytvořili modul dvb-usb-rtl2832u.o pro poslední verzi jádra.
 +
 +====== Odkazy ======
 +
 +  * Postup zprovoznění bílé verze: [[http://​www.abclinuxu.cz/​hardware/​pridavne-karty/​televizni-karty/​dvb-t/​usb/​msi-digivox-mini-ii-v3.0]]
 +  * Postup zprovoznění černé verze: [[http://​www.abclinuxu.cz/​poradna/​linux/​show/​264833]]
 +  * Odkaz na zdrojáky modulu pro chipset RTL2832u, a postup opravy bugu v rtl2832u.c [[http://​forum.ubuntuusers.de/​topic/​dvb-t-key-msi-digivox-mini-ii-v3-0-aktuell-vo/​]]
 +  * Odkaz na zdrojáky V4L: [[http://​linuxtv.org/​hg/​v4l-dvb]]
 +  * Info k zdrojákům V4L (distro, postup buildu, ...): [[http://​www.linuxtv.org/​repo/​]] (viz kapitola "How to build the v4l-dvb kernel modules"​)
 +  * Odkaz jak naladit kanály [[http://​wiki.ubuntu.cz/​Digit%C3%A1ln%C3%AD%20TV/​channels.conf]]