11.01.2011

Instalace driverů karty MSI Digivox Micro HD na Ubuntu 10.10 až 12.04

Podrobný popis instalace televizní karty MSI Digivox Micro HD na ubuntu 10.10, 11.10 a 12,04 a její následné nastavení pro sledování televizních pořadů pro Českou Republiku.

MSI DIGIVOX Micro HDDVB-T přijímač, vysokorychlostní USB. DVB-T TV tuner, plně kompatibilní s DVB-T normou ETS 300-744. USB dongle, rozhraní USB 2.0. Miniaturní rozměry 53x22x11mm. Automatické skenování kanálů a rozeznání názvu .

Obsah balení:
- DIGIVOX Micro HD
- Software Package CD
- Rychly Průvodce Instalací
- Přenosná anténa pro příjem DVB-T
- Dálkové ovládáníV ubunttu je zařízení detekováno následovně

Ubuntu 11.10, 12.04

Instalaci na Ubuntu 11.10+ je popsána na http://wiki.ubuntu.cz/DigiVox . Otestováno na 64-bit a všechno funguje.

Ubuntu 10.10

Obdobný postup najdete na ubuntu wiki http://wiki.ubuntu.cz/rtl2832u

lsusb
Bus 001 Device 016: ID 1d19:1102 Dexatek Technology Ltd. DK mini DVB-T Dongle

Pro instalaci je nezbytná instalace programů z repoztitáře a to příkazem

sudo apt-get install unrar mercurial
mkdir digivox_hd
cd digivox_hd
hg clone http://linuxtv.org/hg/v4l-dvb

Nyní stáhneme ovladače RTL2832U které jsou zatím pouze experimentální podobně, ale mě fungovali poměrně dobře.

wget http://media.ubuntuusers.de/forum/attachments/2103272/090730_RTL2832U_LINUX_Ver1.1.rar

Rozbalíme a nakopírujeme do vl4-dvb

unrar x -ep 090730_RTL2832U_LINUX_Ver1.1.rar ./v4l-dvb/linux/drivers/media/dvb/dvb-usb

Otevřeme a upravíme následující soubory podobným způsobem, já pro úpravu použiji editor gedit

gedit ./v4l-dvb/linux/drivers/media/dvb/dvb-usb/Makefile

přidání nakonec souboru:

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

Pak upravíme soubor

gedit ./v4l-dvb/linux/drivers/media/dvb/dvb-usb/Kconfig
config DVB_USB_RTL2832U
tristate "Realtek RTL2832U DVB-T USB2.0 support"
depends on DVB_USB
help
Realtek RTL2832U DVB-T driver.

ještě uděláme malý patch v souboru ovladače rtl2832u.c

gedit ./v4l-dvb/linux/drivers/media/dvb/dvb-usb/rtl2832u.c

řádek 12:

//DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);

opravíme na

DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);

pak řádky 61..63:

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

doplníme parametr ve funkci

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

a konečně tuner_tua9001.c a  u řádku 951 a 957 urpavíme nadefinované makro:

gedit ./v4l-dvb/linux/drivers/media/dvb/dvb-usb/tuner_tua9001.c
#elif defined(CRYSTAL_19,2_MHZ)

změníme na

#elif defined(CRYSTAL_19_2_MHZ)

a o pár řádků níže

#elif defined(CRYSTAL_20,48_MHZ)

změníme na

#elif defined(CRYSTAL_20_48_MHZ)

Nyní spustíme make, pravděpodobně se nám objeví nějaké chyby. Ty eliminujeme úpravou souboru ./v4l-dvb/vl4/.config tak, že zakážame překlad problémových komponent.

gedit ./v4l-dvb/vl4/.config

Následující moduly je nutné zakázat:

CONFIG_DVB_FIREDTV=m
CONFIG_RADIO_MIROPCM20=m
CONFIG_VIDEO_CX23885=m
CONFIG_VIDEO_MEYE=m

výsledek tedy bude vypadat následobně

CONFIG_DVB_FIREDTV=n
CONFIG_RADIO_MIROPCM20=n
CONFIG_VIDEO_CX23885=n
CONFIG_VIDEO_MEYE=n

znovu spustíme kompilaci

make

nyní by už překlad měl být v pořádku. Po dokončení spustíme skrpt, který nám ovladače nahraje do systému (jsou nutné rootovské práva).

sudo make install

po připojení zařízení se v dmesg objeví:

[ 4506.316079] dvb-usb: DK mini DVBT DONGLE successfully deinitialized and disconnected.
[ 4508.444052] usb 1-1: new high speed USB device using ehci_hcd and address 16
[ 4508.599872] dvb-usb: found a 'DK mini DVBT DONGLE' in warm state.
[ 4508.599881] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4508.602165] DVB: registering new adapter (DK mini DVBT DONGLE)
[ 4508.603092] DVB: registering adapter 0 frontend 0 (Realtek RTL2832 DVB-T)...
[ 4508.603186] dvb-usb: DK mini DVBT DONGLE successfully initialized and connected.
[ 4508.607772] dvb-usb: found a 'DK mini DVBT DONGLE' in warm state.
[ 4508.607782] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4508.609511] DVB: registering new adapter (DK mini DVBT DONGLE)
[ 4508.613009] DVB: registering adapter 1 frontend 0 (Realtek RTL2832 DVB-T)...
[ 4508.613892] dvb-usb: DK mini DVBT DONGLE successfully initialized and connected.

pro kontrolu spustíme

lsmod | grep rtl2832
dvb_usb_rtl2832u 83909 0
dvb_usb 17643 1 dvb_usb_rtl2832u

Ovladače se objeví i v systém->správa->dodatečné ovladače.

MSI DIGIVOX Micro HD

Pro přehrávání videa je možné použít kaffeine nebo me-tv. Kaffeine u mne fungoval lépe a tak popíšu jeho postup.

Nainstalujeme aplikaci:

sudo apt-get install kaffeine

Po spuštění aplikace nastavíme skenování zařízení (televize->nastavení televize ->zařízení 1,2) a nastavíme zdoj na cz-All

MSI DIGIVOX Micro HD

Spustíme skenování kanálů (televize->kanály) nebo stisknem tlačítko "C". A stiskneme "Spustit vyhledávání".

MSI DIGIVOX Micro HD

Postupně se nám začnou objevovat digitální kanály. Při prvním spuštění mi skenování kanálů nechtělo fungovat. Problém byl pravděpodobně ve špatném signálu. Nakonec mi pomohlo umístit přiloženou anténku na lednici (popřípadě na jiný vodivý předmět). Doporučuji používat signál přímo z televizní antény. Anténa dodávaná v ballení je poměrně slabá a může způsobit problémy při přehrávání a nebo se kanály vůbec nepodaří naladit.

MSI DIGIVOX Micro HD