DVB-T dongle running on Nexus 7

Search This thread

impoze

Member
Aug 5, 2007
7
0
Where you from? There is a chance that DVB-T in your country could be MPEG-4 and that DroidTV might only support MPEG-2. Those are just speculations though. Is your dongle working fine with the same antenna via your PC?


Sent from my Nexus 7 using xda app-developers app


Thanks for the reply,

I have checked and we use mpeg-2 in australia,
I think it might be low reception?
how can I check the reception strength?

thanks
 

martintzvetomirov

Senior Member
Dec 13, 2008
211
136
Vratsa
martinmarinov.info
Look at the title bar when you try to view a broadcast. It should contain two numbers - the signal quality in % and the bit error rate. I don't think that DroidTv could show signals strength.

Sent from my Nexus 7 using xda app-developers app
 

micks_address

Senior Member
Apr 12, 2010
531
36
anyone have any luck getting the sony ps3 tuner to work? i have my nexus back so will try again.. in ireland though we are using mpeg4 for digital.. is that a problem?
 

SFVDan

Senior Member
Oct 31, 2006
70
8
Virginia
Seems as though the xc5000.ko module is not correct in some way. The insmod command indicates that the module is not in the correct exec format. I poked around on Goggle and found some reference to that module being somehow faulty, but found no solution.

Has anyone tried to use this module with success? Is this a known issue?

Thanks in advance...
 

martintzvetomirov

Senior Member
Dec 13, 2008
211
136
Vratsa
martinmarinov.info
Seems as though the xc5000.ko module is not correct in some way. The insmod command indicates that the module is not in the correct exec format. I poked around on Goggle and found some reference to that module being somehow faulty, but found no solution.

Has anyone tried to use this module with success? Is this a known issue?

Thanks in advance...

What's your Kernel version? If it's different from the one stated in the first post of the thread, you would need to recompile it yourself.

Sent from my Nexus 7 using xda app-developers app
 

SFVDan

Senior Member
Oct 31, 2006
70
8
Virginia
Seems as though the xc5000.ko module is not correct in some way. The insmod command indicates that the module is not in the correct exec format. I poked around on Goggle and found some reference to that module being somehow faulty, but found no solution.

Has anyone tried to use this module with success? Is this a known issue?

Thanks in advance...

What's your Kernel version? If it's different from the one stated in the first post of the thread, you would need to recompile it yourself.

Sent from my Nexus 7 using xda app-developers app

It is not. I have the specified kernel and meet all the other prerequisites.

I do not have the compiler skills to compile the xc5000.ko kernel module. Is there anyone out there who would be willing to compile it and send it to me? I know it's a quick job for someone with the right skill set. For me, it would be weeks!

Thanks again!
 

mchinand

Senior Member
Oct 26, 2011
126
39
Chicago
I do not have the compiler skills to compile the xc5000.ko kernel module. Is there anyone out there who would be willing to compile it and send it to me? I know it's a quick job for someone with the right skill set. For me, it would be weeks!

Thanks again!

I'm getting the same error after building the module myself (other modules from the same build load fine). Not sure what the problem is yet. I think this also requires a firmware file, but don't think that will be a problem until the device (Hauppauge WinTV-HVR-950Q, in my case) is plugged in and the firmware file is tried to be accessed.
 

SFVDan

Senior Member
Oct 31, 2006
70
8
Virginia
I'm getting the same error after building the module myself (other modules from the same build load fine). Not sure what the problem is yet. I think this also requires a firmware file, but don't think that will be a problem until the device (Hauppauge WinTV-HVR-950Q, in my case) is plugged in and the firmware file is tried to be accessed.

I have precisely the same dongle. I'll keep tinkering with it and see if there's something I'm missing. I'm usually pretty good at making stuff like this work, but this has me stumped.

Thanks much for the reply! Nice to know I'm not crazy. lol...
 

SFVDan

Senior Member
Oct 31, 2006
70
8
Virginia
I have precisely the same dongle. I'll keep tinkering with it and see if there's something I'm missing. I'm usually pretty good at making stuff like this work, but this has me stumped.

Thanks much for the reply! Nice to know I'm not crazy. lol...

I'm getting the same error after building the module myself (other modules from the same build load fine). Not sure what the problem is yet. I think this also requires a firmware file, but don't think that will be a problem until the device (Hauppauge WinTV-HVR-950Q, in my case) is plugged in and the firmware file is tried to be accessed.

I found the firmware here: http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-950Q

... but I can't seem to figure out where Android will be looking for it. There's no /lib/firmware/ folder, as all the instructions say. Next step is to make the directory and push it out to the directory and see if anything changes.
 

lionsh

Member
Apr 8, 2010
28
3
Hi guys,

I bought the same dongle as martin's (RTL2832u with E4000 tuner).
I ran the script, made sure all the files are there in the dvb folder.
All permissions are ok.
I even get the warmed state in dmesg.

But still, in droidtv i always get w_scan failed.
Can someone direct me to a possible solution?

Screenshot_2012-09-07-13-07-50.png
 

moryoav

Senior Member
May 2, 2009
63
7
I have the same problem as lionsh. At least I think I do.
I bought the same dongle as OP (RTL2832U), from the same ebay link he posted.
Script runs fine with no errors, files in dvb folder get 777 permissions, everything seems fine.
dmesg shows warmed state, but I get the same error as lionsh posted in his dmesg about "no frontend was attached by RTL2832U". I'm not sure if that's a problem or not.
Also, another interesting problem that I'm not sure if it's related or not, if I check the DVB folder in ES File Explorer I see 3 files instead of 4. The forth file is supposed to be frontend and it's only visible when I view the folder using "Root Explorer" app. If I use the "ls" command in the shell I do see all 4 files, this seems to be some weird problem with ES File Explorer perhaps?

DroidTV shows the usual error about not being able to load. What can I do? ideas?

Thanks...

Hi guys,

I bought the same dongle as martin's (RTL2832u with E4000 tuner).
I ran the script, made sure all the files are there in the dvb folder.
All permissions are ok.
I even get the warmed state in dmesg.

But still, in droidtv i always get w_scan failed.
Can someone direct me to a possible solution?

Screenshot_2012-09-07-13-07-50.png
 

gizmomelb

Member
Aug 4, 2012
9
0
wow, this is awesome! I'm also interested in SDR so was planning on buying one of these tuners anyways (was going to use it on my Raspberry Pi, but hey using it on the Nexus is even better :) )
 

martintzvetomirov

Senior Member
Dec 13, 2008
211
136
Vratsa
martinmarinov.info
What do you mean w_scan failed? Can you reach the "scan channels" activity and press "scan"? What output do you get? Can you change the country to something else and try again (from the DroidTV's scan channel activity)?

P.S. Make sure that the folder dvb has also the right permissions itself. Actually if it is a permission problem, DroidTV wouldn't even start. It will just say that the tuner is not found as far as I can remember.

P.S.S. Sadly I have paused my work on the app I was developing for this because of University... sheesh. Anyways, I will try to work on it whenever I can (I guess mostly around Christmas)

Hi guys,

I bought the same dongle as martin's (RTL2832u with E4000 tuner).
I ran the script, made sure all the files are there in the dvb folder.
All permissions are ok.
I even get the warmed state in dmesg.

But still, in droidtv i always get w_scan failed.
Can someone direct me to a possible solution?
 
Last edited:

couguar44

Member
Apr 12, 2012
6
0
Croatia
I followed this steps for installation, but i cant enable DVBt.
Im working on Ampe A10 with CM9, it have integrated kernel modules for my firmware and stick i have (RTL2832U)
Also i try manualy install like this topic say, but with no luck.
When i try to open DroidTV it say: Sorry, no device found. This application needs a working DVB device, plugged into your android device and set up with drivers, firmware and correct permissions.
is there any other way or im doing something wrong?
 

lionsh

Member
Apr 8, 2010
28
3
When I run the startdvb script it doesn't create the frontend0 file.
And DroidTV says no device connected.
When I create the file by myself, give the right permissions to it and run the script again - I can access droidtv.
But, as soon as i choose DVB-T, some country (is used several) and hit scan i get :
wscan failed(1) and in the background i see ERROR unable to determine frontend type.
main:3094 FATAL --- NO USEABLE DVB CARD FOUND

But I do see the light on the DVB stick on - indicating it is getting power and when i write dmesg i can see that it is recognized.
Although I also see a message about no frontend was attached.




What do you mean w_scan failed? Can you reach the "scan channels" activity and press "scan"? What output do you get? Can you change the country to something else and try again (from the DroidTV's scan channel activity)?

P.S. Make sure that the folder dvb has also the right permissions itself. Actually if it is a permission problem, DroidTV wouldn't even start. It will just say that the tuner is not found as far as I can remember.

P.S.S. Sadly I have paused my work on the app I was developing for this because of University... sheesh. Anyways, I will try to work on it whenever I can (I guess mostly around Christmas)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 34
    Note: The information below is quite dated. If you are interested in watching TV on Android without root with the RTL-SDR dongles check out Aerial TV on XDA.

    --------


    Ok guys, I am proud to announce that I was able to run a DVB-T tuner on my Nexus 7 :)


    If your kernel is 3.1.10-g52027f9 and your dongle is RTL2832U based

    If you have a rooted Nexus 7 with kernel 3.1.10-g52027f9 and a RTL2832U based DVB-T dongle, then you can also have your dongle up and running in a matter of minutes. Here are the steps:

    1. Download http://dl.dropbox.com/u/24106229/NexusDvb.rar
    2. Install droidtv.apk from the rar (you can also find it at https://github.com/chrulri/droidtv)
    3. Get a Terminal emulator and cd to the folder where you have extracted the rar. Type in:
      • su
      • sh startdvb
    4. Make sure that all of the files and folders inside /dev/dvb have highest permissions.
    5. Start DroidTV and enjoy!!!


    Different dongle, kernel 3.1.10-g52027f9

    If you have the same kernel and a dongle that has its drivers built in the kernel according to http://www.linuxtv.org/wiki/index.php/DVB-T_USB_Devices , then you can download this rar file - http://dl.dropbox.com/u/24106229/all-modules.rar (Last updated 20 Aug 22:22 GMT). Those are all of the kernel modules I compiled. You may be able to find your usb driver there.

    Compiling kernel modules

    If you don't have the same kernel or a dongle is not supported, you will need to get the kernel source and compile the modules yourself. Here's how you do that.
    • Make sure you are running Linux and have make and git already installed
    • Download dvbn7comp and put it into a new directory. Make sure dvbn7comp is executable by running chmod +x dvbn7comp inside the folder
    • Invoke the script like this ./dvbn7comp <kernel_version>. For example if you want to have the modules compiled for 3.1.10-g05b777c, you would run ./dvbn7comp 3.1.10-g05b777c
    • Wait - it may take a while. Usually about 15 minutes depending on your network and CPU speed.
    • After the script finishes running, the .ko files would be put in a directory called output_3.1.10-g05b777c

    That's it!

    Note: The script will download the kernel source and the toolchain and it will attempt to find the commit that contains the required kernel version. Then it will configure the kernel for DVB-T support and will compile the modules and copy them to the output folder. If you run the script again and the sources are already present, it will not download them again, so any subsequent runs of the script would be faster!

    Patching the precompiled binaries [NEW]

    For those who have another kernel version, you don't need to recompile dvb modules. If your kernel version is not in git revisions, you will just fail with 'fatal: ambiguous argument '3.1.10-xxxxxxxx': unknown revision or path not in the working tree'. Fortunately, there's a much faster and much simpler way to get dvb modules for your kernel version. You don't need git, make, toolchain, kernel source...
    Nearly every Android kernel for Nexus 7 is based on 3.1.10 linux kernel (because of nvidia's closed source driver for graphics card), so kernel version for your Nexus 7 will be always 3.1.10-xxxxxxxx.
    You can get directly precompiled binary modules (aka *.ko files) at post #1 and patch them for your kernel version:
    Code:
    perl -pi -e 's/3.1.10-g52027f9/3.1.10-xxxxxxxx/g' *.ko
    Alternaties: Get precompiled binary modules at post #80 (more complete than modules from post #1) and patch them:
    Code:
    perl -pi -e 's/3.1.10-g22b4fcd/3.1.10-xxxxxxxx/g' *.ko
    Alternaties 2: Post #129, the same way:
    Code:
    perl -pi -e 's/3.1.10-g05b777c/3.1.10-xxxxxxxx/g' *.ko
    Basically this command replaces 'magic version' in *.ko files. Version mismatch will prevent insmod with an 'exec format error'.
    Replace xxxxxxxx by your kernel-version, for example if your kernel version is 3.1.10-g30c5396, use:
    Code:
    perl -pi -e 's/3.1.10-g52027f9/3.1.10-g30c5396/g' *.ko
    That's it!
    More info: This way works with Cyanogen Mod kernels/ROMs!!!

    How to modify the startdvb script

    Code:
    echo "Starting DVB support"
    insmod dvb-core.ko # core support for DVB
    insmod dvb-pll.ko # I am not sure if this is even needed
    insmod rc-core.ko # Support for remote control, some drivers won't load otherwise
    insmod dvb-usb.ko # Support for usb tuners
    insmod dvb-usb-***** # Add here your driver. If more than one needed, add another line
    # if firmware is needed, make sure the firmware is in the right folder, it should be /lib/firmware, but I'm not 100% sure
    # Also some devices won't need the steps below
    echo "Waiting for device"
    sleep 5
    cd /
    mkdir /dev/dvb
    mkdir /dev/dvb/adapter0
    cd /dev/dvb/adapter0
    ln -s /dev/dvb0.frontend0 frontend0
    ln -s /dev/dvb0.demux0 demux0
    ln -s /dev/dvb0.dvr0 dvr0
    ln -s /dev/dvb0.dvr0 dvr0.ts
    chmod -R 777 /dev/dvb* # The original script doesn't have it, but try adding a -R before 777 might ease things a bit
    echo "DONE!"

    Troubleshooting

    If any error message occurs, type in dmesg in the terminal. This will give more information why something failed.


    How do I know if I'm successful

    To check whether you have insmoded the kernels right and after connecting the device whether it has been discovered, use dmesg and look for message similar to "Found DVB device xxx in warm state".

    I got it running!!!

    If you got it running, please do share with us! It seems like there's a lot of fiddling for some devices to be done so any information will prove invaluable for somebody!!!

    NOTE: I don't have the time to support this thread any more, sorry if I am not responding to it! All of the directions above are still valid and working! Browse the comments, you might find that someone has compiled the correct modules for your device/kernel or you might ask someone to do it for you! If you want any of the information above to be edited, please PM me!
    5
    I actually have compiled all of the drivers that come with the Linux kernel as well

    You can get them from here - http://dl.dropbox.com/u/24106229/all-modules.rar

    If your device is listed as compatible somewhere here - http://www.linuxtv.org/wiki/index.php/DVB-T_USB_Devices then you may be lucky :) You just need to know which kernel module to load with insmod (see the startdvb script to see how to do it).

    If it's not there or you have a different kernel version, you will need to follow https://source.android.com/source/building-kernels.html . Except for you only need to build the modules, and you need to fiddle around with the Makefiles in order to force some of the components (like the dvb-usb.ko) to be compiled as modules. Good luck!

    As far as the tuner I am using, it's http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=120958257586 this one. I actually got it for another purpose (http://sdr.osmocom.org/trac/wiki/rtl-sdr), which if I have the time I can try to build an app to bring it to the Android as well :)
    3
    Hi there,
    it is so interesting topic for me, but i dont have a nexus 7 device :(

    i want to try it in my htc Sensation and maybe HTC flyer. but as you know RTL2832U is not in standart linux kernel.
    which driver/module you are using to compile? and how to integrate it to android kernel?

    I used this RTL2832U driver.

    ---------- Post added at 11:28 AM ---------- Previous post was at 11:04 AM ----------

    No, i did not have it working before. Im using custom kernel for 4.2.2 and thus under tablet information it says only the version 3.... Not the letter combination after it.

    You may have to compile them for your specific kernel. Here are the additional lines I added to the tegra3_android_defconfig file. Use the link above for the RTL2832U kernel module source. It must not be set, but I thought there was a kernel option that would not require the kernel and modules versions to match exactly. Does anyone know?
    3
    Compiling kernel modules

    Ok, guys. I've made a script that will compile the kernel modules for Nexus 7 for an arbitrary kernel version. Here's what you need to do:

    • Make sure you are running Linux and have make and git already installed
    • Download dvbn7comp and put it into a new directory. Make sure dvbn7comp is executable by running chmod +x dvbn7comp inside the folder
    • Invoke the script like this ./dvbn7comp <kernel_version>. For example if you want to have the modules compiled for 3.1.10-g05b777c, you would run ./dvbn7comp 3.1.10-g05b777c
    • Wait - it may take a while. Usually about 15 minutes depending on your network and CPU speed.
    • After the script finishes running, the .ko files would be put in a directory called output_3.1.10-g05b777c

    That's it!

    Note: The script will download the kernel source and the toolchain and it will attempt to find the commit that contains the required kernel version. Then it will configure the kernel for DVB-T support and will compile the modules and copy them to the output folder. If you run the script again and the sources are already present, it will not download them again, so any subsequent runs of the script would be faster!

    Any comments, success or failure stories would be much appreciated!
    2
    defconfig for v4l-dvb all nexus

    First post but log time linux dev. I have been in the dvb development hobby for over 7 years so you can trust my posts. Here is the defconfig I used for dvb modules building cyanogenmod from source. All modules will be built into your rom if you follow the cyanogenmod source build to the T. find your build at cyanogenmod.org Build_for_manta or whatever you devices nickname is...

    I will also post this in the Nexus 10 forum for others to use since I am on a N10 not N7. Regardless this will work for your N7. ;)


    Here are the extra lines to add to your cyanogenmod_yourdevicehere_defconfig

    CONFIG_VIDEO_DEV=y
    CONFIG_VIDEO_V4L2_COMMON=m
    CONFIG_DVB_CORE=m
    CONFIG_DVB_NET=y
    CONFIG_USB=y
    CONFIG_RC_CORE=m
    CONFIG_VIDEOBUF_DVB=m

    # CONFIG_MEDIA_TUNER_SIMPLE is not set
    # CONFIG_MEDIA_TUNER_TDA8290 is not set
    # CONFIG_MEDIA_TUNER_TDA827X is not set
    # CONFIG_MEDIA_TUNER_TDA18271 is not set
    # CONFIG_MEDIA_TUNER_TDA9887 is not set
    # CONFIG_MEDIA_TUNER_TEA5761 is not set
    # CONFIG_MEDIA_TUNER_TEA5767 is not set
    # CONFIG_MEDIA_TUNER_MT20XX is not set
    # CONFIG_MEDIA_TUNER_MT2060 is not set
    # CONFIG_MEDIA_TUNER_MT2063 is not set
    # CONFIG_MEDIA_TUNER_MT2266 is not set
    # CONFIG_MEDIA_TUNER_MT2131 is not set
    # CONFIG_MEDIA_TUNER_QT1010 is not set
    # CONFIG_MEDIA_TUNER_XC2028 is not set
    # CONFIG_MEDIA_TUNER_XC5000 is not set
    # CONFIG_MEDIA_TUNER_XC4000 is not set
    # CONFIG_MEDIA_TUNER_MXL5005S is not set
    # CONFIG_MEDIA_TUNER_MXL5007T is not set
    # CONFIG_MEDIA_TUNER_MC44S803 is not set
    # CONFIG_MEDIA_TUNER_MAX2165 is not set
    # CONFIG_MEDIA_TUNER_TDA18218 is not set
    # CONFIG_MEDIA_TUNER_TDA18212 is not set

    #
    # Texas Instruments WL128x FM driver (ST based)
    #
    CONFIG_RADIO_WL128X=m
    CONFIG_DVB_MAX_ADAPTERS=8
    CONFIG_DVB_DYNAMIC_MINORS=y
    CONFIG_DVB_CAPTURE_DRIVERS=y

    #
    # Supported SAA7146 based PCI Adapters
    #NONE

    #
    # Supported USB Adapters
    #
    CONFIG_DVB_USB=m
    # CONFIG_DVB_USB_DEBUG is not set
    CONFIG_DVB_USB_A800=m
    CONFIG_DVB_USB_DIBUSB_MB=m
    # CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
    CONFIG_DVB_USB_DIBUSB_MC=m
    CONFIG_DVB_USB_DIB0700=m
    CONFIG_DVB_USB_UMT_010=m
    CONFIG_DVB_USB_CXUSB=m
    CONFIG_DVB_USB_M920X=m
    CONFIG_DVB_USB_GL861=m
    CONFIG_DVB_USB_AU6610=m
    CONFIG_DVB_USB_DIGITV=m
    CONFIG_DVB_USB_VP7045=m
    CONFIG_DVB_USB_VP702X=m
    CONFIG_DVB_USB_GP8PSK=m
    CONFIG_DVB_USB_NOVA_T_USB2=m
    CONFIG_DVB_USB_TTUSB2=m
    CONFIG_DVB_USB_DTT200U=m
    CONFIG_DVB_USB_OPERA1=m
    CONFIG_DVB_USB_AF9005=m
    CONFIG_DVB_USB_AF9005_REMOTE=m
    CONFIG_DVB_USB_PCTV452E=m
    CONFIG_DVB_USB_DW2102=m
    CONFIG_DVB_USB_CINERGY_T2=m
    CONFIG_DVB_USB_ANYSEE=m
    CONFIG_DVB_USB_DTV5100=m
    CONFIG_DVB_USB_AF9015=m
    CONFIG_DVB_USB_CE6230=m
    CONFIG_DVB_USB_FRIIO=m
    CONFIG_DVB_USB_EC168=m
    CONFIG_DVB_USB_AZ6007=m
    CONFIG_DVB_USB_AZ6027=m
    CONFIG_DVB_USB_LME2510=m
    CONFIG_DVB_USB_TECHNISAT_USB2=m
    CONFIG_DVB_USB_IT913X=m
    CONFIG_DVB_USB_MXL111SF=m
    CONFIG_DVB_USB_RTL28XXU=m
    CONFIG_DVB_TTUSB_BUDGET=m