LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   DVB-T USB eztv658 with Realtek rtl2832 chip (http://www.linuxquestions.org/questions/linux-hardware-18/dvb-t-usb-eztv658-with-realtek-rtl2832-chip-823937/)

geo_gt 08-03-2010 03:45 PM

DVB-T USB eztv658 with Realtek rtl2832 chip
 
Hi there,
last week I bought the EzTV658 DVB-T usb stick.
My distro did not recognize it so I sent an email
to the manufacturer szforwardvideo to request the
linux driver. The reply was within the next few hours,
so I give them a credit for this. Also, I want to
mention that the below actions came from various
forums through web. I may just made some slight
modifications.

Anyway, they sent me a snapshot of v4l and drivers for
rtl2832u were included. I had some issues so my steps
to successful installation were:
> hg clone http://linuxtv.org/hg/v4l-dvb
> merge the two copies, but update the Kconfig and Makefile under
/{path}/linux/drivers/media/dvb/dvb-usb
to consider the rtl2832u driver
More specific, add the below lines on each of the files.
Kconfig:
config DVB_USB_RTL2832U
tristate "Realtek RTL2832U DVB-T USB2.0 support"
depends on DVB_USB
help
Realtek RTL2832U DVB-T driver.

Makefile:
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 tuner_fc0012.o nim_rtl2832_fc0012.o demod_rtl2836.o dtmb_demod_base.o dtmb_nim_base.o nim_rtl2836_fc2580.o nim_rtl2836_mxl5007t.o tuner_e4000.o nim_rtl2832_e4000.o^M
obj-$(CONFIG_DVB_USB_RTL2832U) += dvb-usb-rtl2832u.o


Also in v4l/compat.h (insert the lines which start
with "+" among the other ones in the file).

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
#include <linux/i2c-dev.h>
#endif

+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 33)
+ #include <linux/slab.h>
+ #endif

#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
static inline int pci_msi_enabled(void)
{
#ifndef CONFIG_PCI_MSI
return 0;
#else
return 1;
#endif
}
#endif


You might also need:
> cd /usr/src/linux
> make oldconfig
> make prepare

So under /{path}/
> make menuconfig
make sure you will select the RTL2832 driver.
You will find it in
Multimedia support->DVB/ATSC adapters->Realtek RTL2832U DVB-T USB2.0 support
> make
> make install

So, finally the driver has been installed
> dmesg
[ 170.890034] usb 1-3: new high speed USB device using ehci_hcd and address 3
[ 171.019481] usb 1-3: New USB device found, idVendor=0bda, idProduct=2838
[ 171.019485] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 171.019488] usb 1-3: Product: RTL2838UHIDIR
[ 171.019489] usb 1-3: Manufacturer: Realtek
[ 171.044017] dvb-usb: found a 'RTL2832U DVB-T USB DEVICE' in warm state.
[ 171.044023] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 171.045613] DVB: registering new adapter (RTL2832U DVB-T USB DEVICE)
[ 171.045970] DVB: registering adapter 0 frontend 0 (Realtek RTL2832 DVB-T RTL2836 DTMB)...
[ 171.045998] dvb-usb: RTL2832U DVB-T USB DEVICE successfully initialized and connected.
[ 171.046007] dvb-usb: found a 'RTL2832U DVB-T USB DEVICE' in warm state.
[ 171.046011] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 171.047630] DVB: registering new adapter (RTL2832U DVB-T USB DEVICE)
[ 171.047986] DVB: registering adapter 1 frontend 0 (Realtek RTL2832 DVB-T RTL2836 DTMB)...
[ 171.048012] dvb-usb: RTL2832U DVB-T USB DEVICE successfully initialized and connected.
[ 171.048029] usbcore: registered new interface driver dvb_usb_rtl2832u



> lsmod |grep dvb
dvb_usb_rtl2832u 160918 0
dvb_usb 21568 1 dvb_usb_rtl2832u
dvb_core 108869 1 dvb_usb


The problem I'm facing is that when I try to scan for channels
through kaffeine or Me-tv the whole system hangs and the only
way to recover it, is power it down (using the button) and
up again. Also when I try to use dvbtune using a known frequence,
I get
Using DVB card "Realtek RTL2832 DVB-T RTL2836 DTMB", freq=671250
tuning DVB-T (in United Kingdom) to 671250000 Hz, Bandwidth: 8
Getting frontend status
Not able to lock to the signal on the given frequency


The usb works fine under Windows, so there is no HW issue I believe.

Anyway, my system is
OpenSuse 11.4 kernel:2.6.34-12-desktop
CPU: Intel Core2 Quad core Q9300 @ 2.50GHz
RAM: 4GB

Last comment. I have a thought that the actual problem might be with
the kernel, as I recently did the upgrade to version 11.3 from 11.2
and I saw some hangs.

I tried the exact same procedure on my laptop, where I have the same
distro installed (upgraded from 11.2) and I face the exact same problem.
My laptop is equipped with 2GB of memory and a T7200 Intel Centrino Duo CPU.

Any advice, what to do next is welcome.

Regards,
Georgios

geo_gt 08-04-2010 09:58 AM

I forgot to mention the edit I made in file:
linux/drivers/media/dvb/dvb-usb/tuner_tua9001.c
There are two lines
#elif defined(CRYSTAL_19,2_MHZ) /* Frequency 19.2 MHz */
#elif defined(CRYSTAL_20,48_MHZ) /* Frequency 20,48 MHz */

I changed them to
#elif defined(CRYSTAL_19_2_MHZ) /* Frequency 19.2 MHz */
#elif defined(CRYSTAL_20_48_MHZ) /* Frequency 20,48 MHz */

as "comma" cannot be used as a decimal separator like this.
Anyway, in the first lines of this file I see that
#define CRYSTAL_26_MHZ
//#define CRYSTAL_19.2_MHZ
//#define CRYSTAL_20.48_MHZ

So if someone wants to use one of the other two, then use
#define CRYSTAL_19_2_MHZ
or
#define CRYSTAL_20_48_MHZ

Regards,
Georgios

geo_gt 08-04-2010 04:11 PM

It seems that I'm writing to myself, but anyway.
The important is that now my DVB-T stick is working.
What I did more is that to pass to the kernel the following
parameter (while booting):
i915.modeset=0

As I have Intel Graphics Chip which is working with this driver
and it seems that is buggy in OpenSuse 11.3.

I found this workaround on internet initiated from the fact that
when I was watching a live stream (flv) in full screen my system
were hanging.

Hope this will help someone else.
Regards,
Georgios

bernd 08-09-2010 03:24 PM

You are not allone ;-)

I have read all this Stuff and used for installing the Driver on my System.

I have had some Trouble because of my new Kernel Version.
The Driver is also aviable on the unbuntu Forum,including an patch - needed
for newer Kernelversion's ( 2.6.34 and up ).

Greetings Bernd

nivieru 10-24-2010 02:43 AM

same problem here,
could you please link to that patch?

bernd 12-18-2010 01:12 AM

Sorry for late reply, not much time for Computer playing ;-)

I have patched the Sources of the actual 2.6.36.2 Stable Kernel from kernel.org.
I could upload Files witch could replace the original - so you could compile
your own Kernel.
Are you interested in ?

/usr/src/linux/media/dvb/dvbusb ist changed, so you could select the Dongle in the
Kernel Konfig ( path could slightly differ )

Bernd

2.6.36.2 ist working fine.

e3k 02-16-2011 10:33 AM

i would be interested. using 2.6.36 and 2.6.37
did also try to build it using this: see next post as i cant do urls now.
but have problems when modprobing the usb_dvb_rtl2832u:


dvb_usb: Unknown symbol __ir_input_register (err 0)
dvb_usb: Unknown symbol ir_input_unregister (err 0)
dvb_usb: Unknown symbol get_rc_map (err 0)

---------- Post added 02-16-11 at 11:34 AM ----------

http://www.turnovfree.net/~stybla/li...age-Dongle.rar

bernd 02-17-2011 12:47 AM

I will make it for the actual Kernel source from kernel.org - but please wait until the
Weekend.

Bernd

e3k 02-18-2011 04:35 AM

no problem, take your time, i am not an TV addict ;)

bernd 02-19-2011 01:02 AM

Im am also not addicted to TV - only technik Interessts ;-) - I took a Look at
kernel org - new stable 2.6.37.1 - this one i will try to modify.

I will also include my Kernel.config File - because some Settings of the
Multmedia Modules depends on the Realtek.
Otherwise the Compilation will fail.

More on Sunday evening - roundabout.

Greetings Bernd

bernd 02-20-2011 11:28 PM

2.6.37.1 ist working fine
 
Yesterday sources modified and installed - all ok - short Test 2 Min ago ;-).

´Have to upload the Data today in the Evening - now i have to got to Work.

I will upload an complete Direktory of the Kernelsource witch has to be inserted into the original
Path - also my Kernel.config whitch has to be verifyed for your System.

Test with Kaffeine - Morning TV in Germany ;-)

6:27 local Time

Bernd

bernd 02-20-2011 11:33 PM

´Dont Panic, not the Whole Direktory, only the /linux/driver/media/dvb/dvb-usb Direktory will be uploaded
All who are interessted should download and install the Kernel Source 2.6.37.1 from Kernel.org first.

Greetings Bernd

Edit: Files online:

www.igfunk.de/dvb/dvb-usb.zip
www.igfunk.de/dvb/.config

e3k 02-26-2011 04:31 AM

thank you but sorry this is beyond my capabilities. after 3 hours of patching the hg repo of v4l so that it compiles with kernel 2.6.37 the rtl2832u driver still did not want to compile (no error it did not even start). then some Kconfig got screwed up and i can begin from 0.

if you have some hints i will try later.

bernd 02-26-2011 09:41 AM

Test this:
 
1 Attachment(s)
Only replace the /usr/src/linux(yoursource)/driver/media/dvb/dvb-usb with this version i have uploaded !
Then start the menuconfig and select the rtl2832 Driver in Multimedia Adapters.
Or - use my Kernelkonfig and modify the typ of Processor - in this Kernelkonfig the Module is selected.

No patching of the Kernelsource has to be done, only replace the one direktory !
This is only possible with the 2.6.37.1 Source from Kernel.org, other Versions may fataly fail.
( or may work too - not sure and not recommened )

If you have got Problems setting up your kernel.config, you could upload it here, i will change it.
Your default kernel.config should be found in your System, on Suse System´s it is found in the
/boot direktory config-kernelversion-desktop for example.

an make cloneconfig should work if you are root and the current direktory ist /usr/src/linux

the File ist called .config - including the "." Dot !
The make menuconfig modify an existing .config, or create an new from the scratch,
the last one isn´t the recommened Way - better use an existing .config from your System.

After make - make install - make modules make modules_install your Kernel should work
Insertig of the new Kernel in your Bootloader should be verifyed - Suse mostly forget to
set the initrd Line for new Kernels.

Attached: Pic of the make menuconfig with selected rtl2832 - and at lower right Edge the DigivoxII TV-Pic.


Attachment 6248

Try it...

Bernd

e3k 02-27-2011 11:34 AM

i didnt want to build the whole kernel just v4l on my arch pc as i am new to arch and dont know how to do it here.

i will try to use your dvb-usb on my gentoo pc, with genkernel it is easy to build a kernel.
will report later.


All times are GMT -5. The time now is 11:32 AM.