============================
# How-to Lifeview LV5TDLX "Deluxe"
# 2010/Mar/08 @ Zdenek Styblik < stybla /at\ nospam.turnovfree \dot/ net >
# http://www.turnovfree.net/~stybla/linux/v4l-dvb/lv5tdlx/
#
# Changelog:
# 2011/Jan/21 @ Zdenek Styblik
# fix - fixed link to wiki
# 2011/Jan/16 @ Zdenek Styblik
# moved - moved to wiki.zeratul.org
# 2010/Nov/15 @ Zdenek Styblik
# updat - Genius TVGo DVB-T03 info
# 2010/Nov/12 @ Realtek
# added - new version; version is v2.0.1 now
# 2010/Nov/12 @ Zdenek Styblik
# added - outdoor antenna results
# added - LV5TDLX has new HW revision
# added - patch from Pavel Moravec for v1.4.2 and kernel panics
# added - Genius TVGo DVB-T03 works with v1.4.2, reported by Petr Jakubec
# 2010/Oct/27 @ Zdenek Styblik
# added - patch for DigitalNow Quad DVB-T Receiver from Alan Forbes
# 2010/Jul/13 @ Zdenek Styblik
# added - patch for RTL2838, Terratec Cinergy T Black
# 2010/Apr/18 @ Zdenek Styblik
# added - tips section
# edited - foreword
# 2010/Mar/21 @ Zdenek Styblik
# added - merging with different branch
# 2010/Mar/11 @ Zdenek Styblik
# fixed - RTL2831 driver instead of RTL2832U
#
### NOTICE ###
AS OF 16th January 2011 THIS README HAS BEEN MOVED TO:
http://wiki.zeratul.org/doku.php?id=linux:v4l:realtek:start
AND WILL BE MAINTAINED THERE!
### NOTICE ###
~~~! NOTE !~~~
Please, note I'm no developer of presented driver, but I've just
put together this small and humble how-to. Developer behind driver
is, and always has been, Realtek or somebody close to it. I've tried
to contact them, but unsuccessfully. So was contacting Dexatek.
No corporation want to talk with me :^-( If you want, I can help you
with English translation/correction and you can try to mail them.
I should be glad and happy for being given credit, but I'm not.
Credit belongs to other people and should be given to them. Ok, I'm
willing to take credit for this how-to :-)
I'm happy though this how-to is useful to some of you. I thank you
all for your responses.
~~~! NOTE !~~~
This readme is about how-to make LV5TDLX and possibly other DVB-T
USB sticks based on RTL2832U chip working. There is not much to it,
although - we will see later.
Let me say thanks to member of Croatian Ubuntu community which goes
under nickname 'mrle' for providing me with newer version of drivers
which speeded up the process. I've also used couple forums to gather
information and links can be found at the end of this document.
I also thank to people whom contacted me regarding this chipset.
I'm somewhat sorry I couldn't be more help. However, all that seemed
to be somewhat useful, I put here.
I don't know why RTL doesn't provide drivers straight or why they
aren't in v4l/v4l-dvb. Yet since I read about kernel development
from time to time, I can imagine why. I'm not going to write down
any theories here. Anyway, it's probably good idea to contact
Realtek from time to time about newer driver version. What I've
heard so far, their approach is great and they're trying to help,
which I've been glad to hear. (note: I've e-mailed RTL couple times
without reply so far :-\ ; note2: still no reply and same thing with
Dexatek)
Let's do it. First of all, forget all perpetuated, well copy-pasted,
how-to's around the internet. These which are built on driver
version 1.1 do not work. You get devices /dev/dvb/adapterX created,
yeah, but that's all. They are blind and they do not work.
Version 1.4.2 fixes it.
Note: following part is not true anymore!
---
To this day, I haven't tested tuners with big antenna, only with
small antenna that comes in the package. Distance from DVB-T tower
is approx 14km, thus signal quality was - well, low. It's hard to
say if it's hw/sw problem or insufficient antenna.
---
So, we've finally put big antenna on the roof and hooked-up LV5TDLXs to it. And
it just works. Tower is 20-30km away. Picture is pristine and server seems to
be stable so far. However, signal strength reporting(tzap) doesn't "work". It
works alright, but the output [of tzap] is non-sense. Reported signal is low
and what not.
## Hardware info
### rev. #1
* Demodulator RTL2832U
* Tuner TUA9001
### rev. #2
* Realtek RTL2832U
* Fitipower FC0012 & Afatech AF9015
* MaxLinear MXL5007T dual tuner
note: However, this might actually be LifeView LV52T which has dual HD turner
note: source of everything regarding rev. #2 is:
http://www.spinics.net/lists/linux-media/msg24890.html
## Device identification in GNU/Linux
### rev. #1
---
# dmesg
usb 1-1.1: new high speed USB device using ehci_hcd and address 4
usb 1-1.1: New USB device found, idVendor=1f4d, idProduct=b803
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.1: Product: RTL2838UHIDIR
usb 1-1.1: Manufacturer: Realtek
usb 1-1.1: SerialNumber: 00000001
usb 1-1.1: configuration #1 chosen from 1 choice
dvb-usb: found a 'USB DVB-T Device' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (USB DVB-T Device)
DVB: registering adapter 0 frontend 0 (Realtek RTL2832 DVB-T RTL2836 DTMB)...
dvb-usb: USB DVB-T Device successfully initialized and connected.
dvb-usb: found a 'USB DVB-T Device' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (USB DVB-T Device)
DVB: registering adapter 1 frontend 0 (Realtek RTL2832 DVB-T RTL2836 DTMB)...
dvb-usb: USB DVB-T Device successfully initialized and connected.
usbcore: registered new interface driver dvb_usb_rtl2832u
---
---
# lsusb
Bus 001 Device 007: ID 1f4d:b803
---
---
# lsmod | grep dvb
dvb_usb_rtl2832u 147072 0
dvb_usb 21388 1 dvb_usb_rtl2832u
dvb_core 99732 1 dvb_usb
---
### rev. #2
---
# lsusb:
Bus 002 Device 002: ID 1f4d:b803 G-Tek Electronics Group Lifeview LV5TDLX DVB-T [RTL2832U]
Bus 001 Device 002: ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
---
## One card or cards of the very same brand
1] unpack '091207_RTL2832U_LINUX_Ver1.4.2.rar'
eg. % rar x 091204_RTL2832U_Linux_Ver1.4.2.rar;
note: 'linux_install_package_091207' is original file, yet the
filename seem a bit - non-saying.
% cd linux_install_package_091207;
and eg. % tar -vjxf v4l_rtl2832_install.tar.bz2;
2] % cd v4l-dvb-e0cd9a337600;
3]
3-a] I suggest to:
% make distclean && make menuconfig && make \
&& make install;
during % make menuconfig; choose:
---
Multimedia support ->
DVB/ATSC adapters ->
---
3-b] this should be also sufficient: % make && make install;
4] Reboot, although this must be necessary. You can try to
% modprobe; modules manually.
5] And enjoy. To my knowledge there is no extra firmware needed.
---
% lsmod | grep dvb
dvb_usb_rtl2832u 147072 0
dvb_usb 21388 1 dvb_usb_rtl2832u
dvb_core 99732 1 dvb_usb
---
And there should be two adapters per stick in /dev/dvb/
The first one (adapter0) is DVB-T tuner and the second one is
(probably) DAB (radio) tuner.
## Many cards, different brands
=> merge with v4l-dvb
You have to extract modified or specific RTL files and copy them
into your favourite 'branch' of v4l-dvb. You can use script like
this:
--- SNIP ---
for FILE in `find ../linux_install_package_091207/v4l-dvb-e0cd9a337600/ \
-printf "%h/%f\t%t\n" | grep Dec | awk '{ print $1 }'`; do
FILENEW=`echo ${FILE} | \
sed 's/..\/linux_install_package_091207\/v4l-dvb-e0cd9a337600\///g'`
echo $FILENEW
cp -i ${FILE} ./v4l-dvb-export/${FILENEW};
done
--- SNIP ---
It has its limits. You could use % diff; and such - whatever works.
May be even mercurial itself it could be used, but I'm not familiar
with it.
I've found only two differences - Kconfig and Makefile.
The rest is same as in the beginning. Pick the cards, compile stuff,
works :)
## Not tested/ToDo
* remote control [won't test, no need]
* field test with proper antenna [will test, will be updated]
## Tips
### Newer kernels
D.Palamarchuk -[A|T]- seznam.cz suggested it's required to
modify 'v4l/dvbdev.c' in order to get RTL2832U driver working with
newer kernels (in his case, 2.6.31).
-- SNIP --
#if LINUX_VERSION_CODE == KERNEL_VERSION(2, 6, 31)
dvb_class->nodename = dvb_nodename;
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)
dvb_class->devnode = dvb_devnode;
#endif
-- SNIP --
### Other DVB-T sticks
fermio.kll -[A|T]- hotmail.com suggested it's possible to use this
driver with other [unknown] DVD-T sticks. All is required is to
change identificator in code "1f4d:b803 in my case is af4d:a803".
Kernel version is unknown.
This has been confirmed by cqhl12 -[A|T]- gmail.com as it seems
this driver somewhat supports even MSI DIGIVOX Micro HD. However,
after using % w_scan -X; kernel Opps! appears. As you can see,
kernel version is 2.6.23.
-- SNIP --
[ 2224.099037] BUG: unable to handle kernel NULL pointer dereference
at virtual address 00000000
[ 2224.099049] printing eip:
[ 2224.099052] 00000000
[ 2224.099055] *pde = 00000000
[ 2224.099062] Oops: 0000 [#1]
[ 2224.099065] SMP
[ 2224.099070] Modules linked in: cx18 ivtv pvrusb2 gspca_m5602
adv7175 wm8739 gspca_t613 bt856 cx25840 adv7170 gspca_sonixb
gspca_sq905c gspca_spca508 tea6415c gspca_sunplus ov7670 pwc uvcvideo
gspca_jeilinj gspca_sq905 gspca_sn9c20x gspca_spca561 radio_maestro
tuner gspca_stk014 dvb_usb_umt_010 dvb_usb_nova_t_usb2 et61x251
tda9875 gspca_etoms radio_gemtek_pci vpx3220 cpia_usb saa6588 vp27smpx
konicawc zc0301 upd64031a gspca_spca505 tvaudio radio_mr800 bt819
saa7110 gspca_conex gspca_mars gspca_finepix quickcam_messenger
cs53l32a dvb_usb_dibusb_mc tvp5150 cx2341x gspca_stv0680 usbvision
m52790 gspca_spca506 gspca_spca501gspca_ov534 w9968cf saa7185 ks0127
cpia2 zr36067 dvb_usb_dibusb_mb hdpvr gspca_sonixj gspca_ov519
saa6752hs cs5345 cafe_ccic saa5249 upd64083 ultracam mt9v011
radio_maxiradio gspca_spca500 gspca_pac7311 saa7115 dsbr100 au8522
cpia_pp wm8775 dvb_usb_a800 tda9840 gspca_stv06xx tlv320aic23b saa717x
ovcamchip ibmcam radio_usb_si470x saa7127 msp3400 sn9c102 saa7191
bt866 gspca_tv8532 tea6420 gspca_pac7302 gspca_zc3xx gspca_pac207
gspca_vc032x radio_sf16fmr2 gspca_mr97310a gspca_gl860 saa5246a
tda7432 dvb_usb_ec168 budget_patch ov511 dvb_usb_dw2102 stradis
snd_tea575x_tuner se401 dvb_usb_anysee dvb_usb_rtl2832u bw_qcam stv680
b2c2_flexcop_usb dvb_usb_cinergyT2 dvb_usb_au6610 dvb_usb_m920x
dvb_usb_dib0700 dvb_usb_vp702x v4l2_common stkwebcam dvb_usb_cxusb
dvb_usb_opera c_qcam radio_terratec dvb_usb_dtv5100 dvb_usb_vp7045
vicam dvb_usb_gl861 dvb_usb_dtt200u dvb_usb_digitv dvb_usb_friio
budget usbvideo budget_ci dvb_usb_gp8psk gspca_main dvb_usb_ce6230
b2c2_flexcop_pci meye cpia dvb_usb_af9005 dvb_usb_af9015
dvb_usb_ttusb2 dvb_usb_dibusb_common w9966 lgdt3305 budget_core
stv0299 pluto2 dib7000m dib7000p tcm825x dm1105 b2c2_flexcop zr36050
lgdt330x smsusb zr36016 or51132 videodev ttusb_dec zr36060 smsdvb
dib3000mc dib8000 tuner_simple dvb_usb dvb_ttusb_budget ir_kbd_i2c
or51211 stb0899 stv0288 sp887x s5h1409 mt2266 ds3000 tuner_types
tda10023 tua6100 mt20xx btcx_risc tda18271 cx22702 videocodec tda10086
tea5767 mt312 s921 dvb_dummy_fe tda8261 qt1010 af9013 cx88_vp3054_i2c
tda1004x nxt200x ves1820bcm3510 isl6423 zl10036 mxl5007t drx397xD
sp8870 cx24113 tda8290 l64781 ir_common cx24110 tda827x dabusb saa7146
ttpci_eepromstb6100 tda10048 tda826x ttusbdecfe s5h1411 lgdt3304
ves1x93 stv0297 dib3000mb tda8083 zl10039 lnbp21 dibx000_common
snd_bt87x tda9887 isl6421 mt2060 zl10353 tda10021
dvb_usb_af9005_remote cx22700 lgs8gxx s5h1420 mt352 v4l1_compat
dvb_core isl6405 xc5000 ec100 tea5761 stv6110x mxl5005s dvb_pll
stb6000 v4l2_int_device mt2131 tveeprom stv0900 lgs8gl5 stv6110
mc44s803 cx24116 cx24123 stv090x dib0070 si21xx tuner_xc2028 nxt6000
itd1000 smsmdtv sony_laptop video_buf i2c_algo_bit nls_cp437 ipv6
af_packetlm85 hwmon_vid ndiswrapper kqemu vboxdrv snd_seq_oss
parport_pc snd_seq_midi_event snd_seq_dummy snd_seq snd_seq_device
snd_pcm_oss snd_mixer_oss ppdev osst 8250_pnp nvidia(P) snd_intel8x0
r8169 lp snd_ac97_codec ac97_bus 8250 parport cp2101 usbserialloop
snd_pcm snd_timer serial_core snd soundcore snd_page_alloc iTCO_wdt
iTCO_vendor_support fuse capability commoncap tsdev floppy st sg
binfmt_misc raid456 async_xor async_memcpy async_tx xor raid1 raid0
multipath linear md_mod pata_platform pata_pcmcia pcmcia pcmcia_core
pata_isapnp sata_vsc sata_via sata_uli sata_sx4 sata_svw sata_sis
sata_sil24 sata_qstor sata_promise sata_nv sata_mv sata_inic162x
pdc_adma pata_via pata_triflex pata_sl82c105 pata_sis pata_sil680
pata_serverworks pata_sc1200 pata_rz1000 pata_radisys
pata_pdc202xx_old pata_pdc2027x pata_opti pata_optidma pata_oldpiix
pata_ns87410 pata_netcell pata_mpiix pata_marvell pata_jmicron
pata_it821x pata_it8213 pata_hpt3x3 pata_hpt3x2n pata_hpt37x
pata_hpt366 pata_efar pata_cs5535 pata_cs5530 pata_cs5520 pata_cypress
pata_cmd64x pata_cmd640 pata_atiixp pata_artop pata_amd pata_ali
scsi_wait_scan ahci sr_mod cdrom sd_mod shpchp pci_hotplug sata_sil
i2c_i801 i2c_core ata_piix ata_generic libata aic7xxx
scsi_transport_spi scsi_mod usbhid hid ff_memless ohci_hcd uhci_hcd
ehci_hcd usbcore
[ 2224.099524] CPU: 0
[ 2224.099526] EIP: 0060:[<00000000>] Tainted: P VLI
[ 2224.099527] EFLAGS: 00010282 (2.6.23.9-1 #1)
[ 2224.099606] EIP is at 0x0
[ 2224.099612] eax: f540c3ac ebx: f540c3ac ecx: d000be86 edx: 000000ac
[ 2224.099617] esi: d000be86 edi: f540c3e0 ebp: d000be7c esp: d000be6c
[ 2224.099623] ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068
[ 2224.099628] Process kdvb-ad-0-fe-0 (pid: 4798, ti=d000a000
task=d002e590 task.ti=d000a000)
[ 2224.099632] Stack: f96fc4ca 00000002 f540c3cc f540c3e0 d000be8c
f970523b 0000bea6 f540ce48
[ 2224.099643] d000bed0 f9705f8a 00004000 00000001 00000003
00000008 d000be18 f9703810
[ 2224.099653] f540c418 00000001 00000001 d000bed0 f96fdc5e
00000003 f540ce48 000003e8
[ 2224.099663] Call Trace:
[ 2224.099665] [
[ 2224.099680] [
[ 2224.099688] [
[ 2224.099696] [
[ 2224.099703] [
[ 2224.099711] [
[ 2224.099721] [
[ 2224.099765] [
[ 2224.099795] [
[ 2224.099824] [
[dvb_usb_rtl2832u]
[ 2224.099853] [
[ 2224.099885] [
[ 2224.099918] [
[ 2224.099968] [
[ 2224.100019] [
[ 2224.100031] [
[ 2224.100041] =======================
[ 2224.100044] Code: Bad EIP value.
[ 2224.100056] EIP: [<00000000>] 0x0 SS:ESP 0068:d000be6c
-- SNIP --
Gilzad Barvar Hamuni
Terratec Cinergy T Stick (0CCD:00A9). This confirms the possibility
to use RTL2832U driver as base for other RTL chips as well.
You can find patches for RTL2838 in rtl2838 directory or
in rtl2838.tar.
Thanks Gilzad!
I've received patch for DigitalNow Quad DVB-T Receiver from Alan Forbes.
Please, be aware that system lock-up happens when you try to watch anything,
by Alan. Scanning works fine though.
I've contacted DigitalNow and the official reply is they're working at
Linux driver, yet they're not finished with it. Well, at least some
reply after all :)
Pavel Moravec has sent a patch which should address kernel panics at 64bit
machines. It can be found in 'kernel-panic-64bit-patch/' directory. Please
note, this patch is not necessary for v2.0.1.
Petr Jakubec has reported v1.4.2 also works with Genius TVGo DVB-T03. This card
has new hardware revision which utilises RTL2832U. I've also bought these
tuners, actually to replace RTL-based ones, however I've learned this truth too
late. I've decided to give them a go, so more info on my side about these later
on. Peter has created page, in Czech, about this USB stick. You can find it at
abclinuxu.cz(see Sources).
UPDATE - update is a positive one. These cards work just fine with v2.0.1 and
probably even with an older version of RTL driver. I haven't tested remote
control though, as usual. They [cards] keep up with Volar X pretty much.
Broadcast tower is ~ 65 km away, we have some regular antenna (12dBi I think),
active amplifier and signal is just fine.
## Sources
* http://www.realtek.com.tw/
* http://forum.ubuntuusers.de/topic/dvb-t-key-msi-digivox-mini-ii-v3-0-aktuell-vo/1/
* http://www.ubuntu-hr.org/forum/index.php?PHPSESSID=912ddf9c9363063b3c0a671f14264932&topic=5842.15
* http://www.spinics.net/lists/linux-media/msg24890.html
* http://www.abclinuxu.cz/hardware/pridavne-karty/televizni-karty/dvb-t/usb/genius-tvgo-dvb-t03-wiremote-hw-z-2010
2 komentar:
gan......... kok ruwet ya...? ga paham gan... bisa tolong di perjelas step2nya.. ane biginnnnnerrr nih gan.... tolong tolong dong pls....
ga mudeng di sebelah mananya yak?
Posting Komentar