Obsah

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í.

sudo apt-get install unrar
sudo apt-get install mercurial

Postup instalace ovladačů

Stáhnout poslední zdrojové soubory v4l-dvb

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

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

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

Upravit atributy perl skriptů

cd ~/digivox/v4l-dvb
for i in `find . -name *.pl`; do chmod +x $i ; done

Upravit Makefile

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

Upravit Kconfig

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

Opravit rtl2832u.c

V souboru ~/digivox/v4l-dvb/linux/drivers/media/dvb/dvb-usb/rtl2832u.c opravit chyby

odkomentovat řádku 12:

změnit řádku

//DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);

na

DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);

Opravit řádky 61,62,63

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) ))

Přeložit

cd ~/digivox/v4l-dvb
make clean
make
sudo make install

Otestovat

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

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

#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 pro Ubuntu 10.04

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 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