rtl2832u

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
rtl2832u [2013/01/02 11:25] mar.svortl2832u [2019/02/25 18:21] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== Chip rtl2832u ======
  
 +Tento návod popisuje zprovoznění DVB-T tunerů s chipem RTL2832u (idVendor=1d19, idProduct=110x), jako jsou např:
 +
 +  * **LifeView DVB-T USB LV5T** (idVendor=1d19, idProduct=1101)
 +  * **DVB-T MSI DigiVOX micro HD** (idVendor=1d19, idProduct=1102)
 +  * **MSI DigiVox mini II V3.0** (idVendor=1d19, idProduct=1101)
 +  * **Leadtek Winfast DTV dongle mini** (idVendor=0413, idProduct=6a03)
 +  * **Not Only TV LV5TDLX** (idVendor=1f4d idProduct=c803)
 +
 +====== Architektura a použití ======
 +
 +Chip rtl2832u byl navržen tak, aby jeho implementace byla kompaktní, levná, univerzálně použitelná a jednoduše softwarově rozšířitelná. Samotný TV dongle obsahuje pouze širokopásmový zesilovač a AD převodník, o frekvenční zpracování a dekódování se stará vždy až ovladač uvnitř PC. To určuje způsob jeho použití:
 +
 +  * Není úplně vhodný pro starší a pomalejší PC ( z dob Celeronů atd. ) v kombinaci s HD vysíláním
 +  * Pokud nemá Váš dongle potlačeny netelevizní frekvence, dokáže zpracovat i FM a DAB rozhlasové vysílání
 +  * Tento chipset je pilířem pro tzv. [[SDR|Software Defined Radio]] - aplikaci pro příjem a demodulaci radiových signálů v řádu od desítek MHz do jednotek GHz.
 +
 +====== Funkčnost ve verzích ======
 +===== 12.10 32/64bit =====
 +odzkoušeno pro 3.5.0-21 (zjistí se uname -a)
 +<code>
 +git clone git://linuxtv.org/media_build.git
 +cd media_build
 +./build
 +</code>
 +Může chtít nainstalovat nějaké balíky. Po případné instalaci zadat znovu 
 +<code>
 +./build
 +</code>
 +Pokud vše proběhlo bez chyb :
 +<code>
 +sudo make install
 +</code>
 +kontrola: 
 +<code>
 +lsmod | grep rtl
 +</code>
 +při úspěchu vypíše zavedené moduly při neúspěchu nic
 +originálí návod: http://ubuntuforums.org/showthread.php?t=2078342.
 +
 +===== 12.04 32bit =====
 +Návod a zdrojový kód pochází z git repository [[https://github.com/ambrosa/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0|github.com/ambrosa]]. Před kompilací ovladačů je třeba mít naistalováno následující:
 +
 +<code>
 +sudo apt-get install build-essential
 +sudo apt-get install linux-headers-$(uname -r)
 +sudo apt-get install git
 +</code>
 +
 +Následuje stažení zdrojového kódu
 +<code>
 +git clone https://github.com/ambrosa/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0.git 
 +cd DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0
 +cd RTL2832-2.2.2_kernel-3.0.0
 +</code>
 +
 +Teď je třeba v Makefile zakomentovat starší verzi jádra 3.0 a odkomentova novější
 +<code>
 +# kernel 3.0.0 / 3.1.0
 +#INCLUDE_EXTRA_DVB := include-300
 +
 +# kernel 3.2.0
 +INCLUDE_EXTRA_DVB := include-320
 +</code>
 +
 +Nakonec spustíme kompilaci, instalaci a zavedení modulu
 +<code>
 +make clean
 +make
 +sudo make install
 +modprobe dvb_usb_rtl2832u
 +</code>
 +
 +===== 11.10 32bit =====
 +Ve verzi Ubuntu 11.10 32bit funguje díky uživateli Martin a jeho [[DigiVox|příspěvku]]:
 +
 +Mě funguje **MSI DigiVox micro HD** (idVendor=1d19, idProduct=1104), která je také na čipu RTL2832u v Ubuntu 11.10 ve 32 bit verzi (jádro 3.0.0-13) podle návodu, který jsem dal do stránky o kartě (klik na DigiVox o řádek výše).
 +
 +===== 11.10 64bit =====
 +Ve verzi Ubuntu 11.10 64bit funguje díky italskému uživateli Xgaz: [[http://xgazza.altervista.org/Linux/DVB/rtl2832u.html#|http://xgazza.altervista.org/Linux/DVB/rtl2832u.html#]]
 +
 +==== Oranžový Leadtek Winfast DTV dongle mini ====
 +
 +Návod uživatele Xgaz jsem zkusil na Xubuntu 11.10 64-bit verze. Mám zařízení s ID 0413:6a03 (oranžový Leadtek Winfast DTV dongle mini). V souboru rtl2832u.h jsem změnil na řádku 99 definici
 +<code>
 +#define USB_PID_LEADTEK_WARM_1      0x6680
 +</code>na
 +<code>
 +#define USB_PID_LEADTEK_WARM_1      0x6A03
 +</code>definice o řádek výš odpovídala. Přeložil jsem, nainstaloval a po znovuvložení karta naběhla.
 +
 +
 +
 +===== 11.04 =====
 +Níže uvedený postup byl otestován na tuneru **DVB-T MSI DigiVOX micro HD USB** a **MSI DigiVox mini II V3.0**.
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +====== Příprava ======
 +V této fázi si připrav prostředí pro překlad V4L a nainstaluj jednoduchou DVB-T aplikaci.
 +<code>
 +sudo apt-get install linux-headers-$(uname -r)
 +sudo apt-get install  patchutils libproc-processtable-perl git unrar
 +sudo apt-get install me-tv
 +</code>
 +====== Stažení poslední verze V4L ======
 +Tento postup provede stažení poslední verze V4L a jejího nainstalování (včetně jejích opravných balíčků).
 +<code>
 +mkdir ~/tuner ; cd ~/tuner
 +git clone git://linuxtv.org/media_build.git
 +cd ~/tuner/media_build/ ; ./build
 +</code>
 +====== Stažení zdrojového kódu RTL2832U ======
 +<code>
 +mkdir ~/tuner/rtl; cd ~/tuner/rtl
 +wget http://www.turnovfree.net/~stybla/linux/v4l-dvb/lv5tdlx/090730_RTL2832U_LINUX_Ver1.1.rar
 +unrar x -yep 090730_RTL2832U_LINUX_Ver1.1.rar ~/tuner/rtl/
 +cp ~/tuner/rtl/090730_RTL2832U_LINUX_Ver1.1/* ~/tuner/media_build/linux/drivers/media/dvb/dvb-usb/
 +</code>
 +====== Úprava zdrojového kódu RTL2832U ======
 +Tady je nutná trocha úprav popsaných v souboru readme.txt.
 +
 +Dokopíruj na konec souboru ~/tuner/media_build/linux/drivers/media/dvb/dvb-usb/Makefile
 +<code>
 +gedit ~/tuner/media_build/linux/drivers/media/dvb/dvb-usb/Makefile
 +</code>následující text:
 +<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>
 +
 +Dokopíruj na konec souboru ~/tuner/media_build/linux/drivers/media/dvb/dvb-usb/Kconfig
 +<code>
 +gedit ~/tuner/media_build/linux/drivers/media/dvb/dvb-usb/Kconfig
 +</code>následující text:
 +<code>
 +config DVB_USB_RTL2832U
 + tristate "Realtek RTL2832U DVB-T USB2.0 support"
 + depends on DVB_USB
 + help
 +   Realtek RTL2832U DVB-T driver.
 +</code>
 +
 +Uprav soubor ~/tuner/media_build/linux/drivers/media/dvb/dvb-usb/rtl2832u.c
 +
 +<code>
 +gedit ~/tuner/media_build/linux/drivers/media/dvb/dvb-usb/rtl2832u.c
 +</code>
 +
 +uprav obsah řádku 12
 +<code>
 +//DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
 +</code>na
 +<code>
 +DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
 +</code>
 +
 +uprav obsah řádku 41
 +<code>
 +  adap->fe = rtl2832u_fe_attach(adap->dev);
 +</code>na
 +<code>
 +  adap->fe[0] = rtl2832u_fe_attach(adap->dev);
 +</code>
 +
 +uprav obsah řádku 61-63
 +<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>
 +
 +Uprav soubor ~/tuner/media_build/linux/drivers/media/dvb/dvb-usb/tuner_tua9001.c
 +
 +<code>
 +gedit ~/tuner/media_build/linux/drivers/media/dvb/dvb-usb/tuner_tua9001.c
 +</code>
 +
 +uprav obsah řádku 951
 +<code>
 +#elif defined(CRYSTAL_19.2_MHZ)
 +</code>na
 +<code>
 +#elif defined(CRYSTAL_19_2_MHZ)
 +</code>
 +
 +uprav obsah řádku 957
 +<code>
 +#elif defined(CRYSTAL_20.48_MHZ)
 +</code>na
 +<code>
 +#elif defined(CRYSTAL_20_48_MHZ)
 +</code>
 +====== Překlad aktualizovaného V4L ======
 +Přelož upravené V4L (sice podruhé, ale tentokrát s naším rtl2832u ovladačem)
 +<code>
 +cd ~/tuner/media_build/
 +make clean
 +make distclean
 +make
 +</code>
 +====== Instalace aktualizovaného V4L do systému ======
 +Nainstaluj všechny V4L moduly (včetně našeho rtl2832u) a restartuj stroj.
 +<code>
 +sudo make install
 +sudo reboot
 +</code>
 +====== Kontrola ======
 +Po restartu zkontroluj správné zavedení ovladačů
 +<code>
 +tail -f /var/log/syslog
 +</code>
 +Vlož kartu do USB, mělo by se objevit něco takového:
 +<code>
 +Aug 15 00:18:36 ubuntu kernel: [   69.710072] usb 1-7: new high speed USB device using ehci_hcd and address 3
 +Aug 15 00:18:36 ubuntu kernel: [   70.025083] WARNING: You are using an experimental version of the media stack.
 +Aug 15 00:18:36 ubuntu kernel: [   70.025090] As the driver is backported to an older kernel, it doesn't offer
 +Aug 15 00:18:36 ubuntu kernel: [   70.025095] enough quality for its usage in production.
 +Aug 15 00:18:36 ubuntu kernel: [   70.025099] Use it with care.
 +Aug 15 00:18:36 ubuntu kernel: [   70.025101] Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
 +Aug 15 00:18:36 ubuntu kernel: [   70.025106] 9bed77ee2fb46b74782d0d9d14b92e9d07f3df6e [media] tuner_xc2028: Allow selection of the frequency adjustment code for XC3028
 +Aug 15 00:18:36 ubuntu kernel: [   70.025113] ffd638e0e613578fbe82d5f2d9c1e5ec503a3a2b [media] v4l: Move event documentation from SUBSCRIBE_EVENT to DQEVENT
 +Aug 15 00:18:36 ubuntu kernel: [   70.025119] 31ee95ec2d3dd3b6f68d7fa0f410045652895af2 [media] adp1653: check error code of adp1653_init_controls
 +Aug 15 00:18:36 ubuntu kernel: [   70.069936] IR NEC protocol handler initialized
 +Aug 15 00:18:36 ubuntu kernel: [   70.071819] WARNING: You are using an experimental version of the media stack.
 +Aug 15 00:18:36 ubuntu kernel: [   70.071827] As the driver is backported to an older kernel, it doesn't offer
 +Aug 15 00:18:36 ubuntu kernel: [   70.071832] enough quality for its usage in production.
 +Aug 15 00:18:36 ubuntu kernel: [   70.071835] Use it with care.
 +Aug 15 00:18:36 ubuntu kernel: [   70.071838] Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
 +Aug 15 00:18:36 ubuntu kernel: [   70.071843] 9bed77ee2fb46b74782d0d9d14b92e9d07f3df6e [media] tuner_xc2028: Allow selection of the frequency adjustment code for XC3028
 +Aug 15 00:18:36 ubuntu kernel: [   70.071849] ffd638e0e613578fbe82d5f2d9c1e5ec503a3a2b [media] v4l: Move event documentation from SUBSCRIBE_EVENT to DQEVENT
 +Aug 15 00:18:36 ubuntu kernel: [   70.071854] 31ee95ec2d3dd3b6f68d7fa0f410045652895af2 [media] adp1653: check error code of adp1653_init_controls
 +Aug 15 00:18:36 ubuntu kernel: [   70.116083] IR RC5(x) protocol handler initialized
 +Aug 15 00:18:37 ubuntu kernel: [   70.148660] IR RC6 protocol handler initialized
 +Aug 15 00:18:37 ubuntu kernel: [   70.172794] dvb-usb: found a 'DK mini DVBT DONGLE' in warm state.
 +Aug 15 00:18:37 ubuntu kernel: [   70.172815] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
 +Aug 15 00:18:37 ubuntu kernel: [   70.174581] DVB: registering new adapter (DK mini DVBT DONGLE)
 +Aug 15 00:18:37 ubuntu kernel: [   70.180615] DVB: registering adapter 0 frontend 0 (Realtek RTL2832 DVB-T)...
 +Aug 15 00:18:37 ubuntu kernel: [   70.181995] dvb-usb: DK mini DVBT DONGLE successfully initialized and connected.
 +Aug 15 00:18:37 ubuntu kernel: [   70.182058] dvb-usb: found a 'DK mini DVBT DONGLE' in warm state.
 +Aug 15 00:18:37 ubuntu kernel: [   70.182075] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
 +Aug 15 00:18:37 ubuntu kernel: [   70.183851] DVB: registering new adapter (DK mini DVBT DONGLE)
 +Aug 15 00:18:37 ubuntu kernel: [   70.188952] IR JVC protocol handler initialized
 +Aug 15 00:18:37 ubuntu kernel: [   70.212636] DVB: registering adapter 1 frontend 0 (Realtek RTL2832 DVB-T)...
 +Aug 15 00:18:37 ubuntu kernel: [   70.217317] IR Sony protocol handler initialized
 +Aug 15 00:18:37 ubuntu kernel: [   70.221418] dvb-usb: DK mini DVBT DONGLE successfully initialized and connected.
 +Aug 15 00:18:37 ubuntu kernel: [   70.225984] usbcore: registered new interface driver dvb_usb_rtl2832u
 +Aug 15 00:18:37 ubuntu kernel: [   70.236932] IR MCE Keyboard/mouse protocol handler initialized
 +Aug 15 00:18:37 ubuntu kernel: [   70.269353] lirc_dev: IR Remote Control driver registered, major 250
 +Aug 15 00:18:37 ubuntu kernel: [   70.286256] IR LIRC bridge handler initialized
 +</code>
 +====== Použití ======
 +Pro začátek velmi jednoduchá aplikace s přímočarým ovládáním [[Me TV]]
 +<code>
 +me-tv
 +</code>
 +
 +====== Odkazy ======
 +  * [[https://build.opensuse.org/package/files?package=v4l-dvb&project=home%3Adirk-s&rev=6a3a60beeb74908fc041a6166e632aee|SUSE repository s rtl2832u kódem a kernel patchem]]
 +  * [[http://ubuntuforums.org/showthread.php?t=1678094&page=4|Vlákno s podobným návodem na ubuntuforums.org]]
 +  * [[http://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers|Návod na kompilaci poslední V4L s posledními záplatami]]