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)
Balíky unrar (nikoliv unrar-free) a Mercurial jsou v dalším postupu zapotřebí.
sudo apt-get install unrar sudo apt-get install mercurial
cd ~ mkdir digivox; cd digivox hg clone http://linuxtv.org/hg/v4l-dvb
Offline verze je na http://linuxtv.org/hg/v4l-dvb/archive/tip.zip
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
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
cd ~/digivox/v4l-dvb for i in `find . -name *.pl`; do chmod +x $i ; done
Do souboru ~/digivox/v4l-dvb/linux/drivers/media/dvb/dvb-usb/Makefile doplnit na konec
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
Do souboru ~/digivox/v4l-dvb/linux/drivers/media/dvb/dvb-usb/Kconfig doplnit na konec
config DVB_USB_RTL2832U tristate "Realtek RTL2832U DVB-T USB2.0 support" depends on DVB_USB help Realtek RTL2832U DVB-T driver
V souboru ~/digivox/v4l-dvb/linux/drivers/media/dvb/dvb-usb/rtl2832u.c opravit chyby
změnit řádku
//DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
na
DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
Doplnit adapter_nr jako pátý argument ve funkcích na řádkách 61,62,63:
změnit řádky
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) ))
na
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) ))
cd ~/digivox/v4l-dvb make clean make sudo make install
tail -f /var/log/messages
(zasunout USB)
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.
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
Čí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 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
#elif defined(CRYSTAL_19,2_MHZ) na #elif defined(CRYSTAL_19_2_MHZ)
*na řádku 957 změnit
#elif defined(CRYSTAL_20,48_MHZ) na #elif defined(CRYSTAL_20_48_MHZ)
*Spustit make a po pár sekundách ho zastavit (potřebujeme vygenerovat ./v4l/.config) *V souboru ./v4l/.config u problémových modulů
CONFIG_DVB_FIREDTV=m CONFIG_RADIO_MIROPCM20=m CONFIG_VIDEO_CX23885=m CONFIG_VIDEO_MEYE=m
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 zprovoznění je stejný jako v Ubuntu 9.04.
Pokud se při překladu vyskytne chyba
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
, 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
CONFIG_IR_CORE=m
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
cd ~ mkdir digivox; cd digivox hg clone http://linuxtv.org/hg/v4l-dvb
rozšiřte na následující
cd ~ mkdir digivox; cd digivox hg clone http://linuxtv.org/hg/v4l-dvb cd v4l-dvb hg update -ree9826bc7106
Postup zprovoznění je stejný jako v Ubuntu 9.10.
Postup instalace pro jsem popsal v článku rtl2832u.
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.
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.