DVB-T dongle running on Nexus 7

Search This thread

martintzvetomirov

Senior Member
Dec 13, 2008
211
136
Vratsa
martinmarinov.info
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!
 
Last edited:

lionsh

Member
Apr 8, 2010
28
3
Where to get the DVB tuner

Hi,
Thanks for posting. it is very interesting.
can you post where did you buy the tuner from and the price?
the only one i could find with RTL2832U is priced at 27$ from ebay.

How can i compile the kernel modules for a different device?

thanks.
 

martintzvetomirov

Senior Member
Dec 13, 2008
211
136
Vratsa
martinmarinov.info
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 :)
 
Last edited:

lionsh

Member
Apr 8, 2010
28
3
another question

Thanks for the quick reply!

I couldn't find the right *.ko file in the modules you attached (it is supposed to be af9005 and af9015, and for my other dvb-t - IT9135)
Could i bother you to upload these, since i have no idea how to compile them.

I tried using af9013.ko that you attached but with no success, most likely because i had to use af9005 instead.

I added insmod af9013.ko to your script, attached is a screenshot from my emulator:


Thanks again. Your help is much appreciated!
 

Attachments

  • Screenshot_2012-08-20-09-53-10.jpg
    Screenshot_2012-08-20-09-53-10.jpg
    28.6 KB · Views: 8,020

micks_address

Senior Member
Apr 12, 2010
531
36
Hi, I was wondering about this a few weeks ago.. great to see it working.. do you know if the Sony Play TV tuner would work? I have one of those...

Cheers,
Mick

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


---------- Post added at 09:37 AM ---------- Previous post was at 08:49 AM ----------

Here is the driver i need... i assume i need to be able to produce a .ko file some way for it?

http://linuxtv.org/wiki/index.php/Sony_PlayTV_dual_tuner_DVB-T#Drivers
 

lionsh

Member
Apr 8, 2010
28
3
aspletec this

Hi.

In the file Martin attached with all the modules there is a module for you DVB-T, it's called dib0070.ko
Try this one.



Hi, I was wondering about this a few weeks ago.. great to see it working.. do you know if the Sony Play TV tuner would work? I have one of those...

Cheers,
Mick



---------- Post added at 09:37 AM ---------- Previous post was at 08:49 AM ----------

Here is the driver i need... i assume i need to be able to produce a .ko file some way for it?
 

martintzvetomirov

Senior Member
Dec 13, 2008
211
136
Vratsa
martinmarinov.info
OK guys, my bad! I didn't originally submit all of the files. Please, redownload again - http://dl.dropbox.com/u/24106229/all-modules.rar

I didn't compile the usb drivers, the ones that you would actually need :) Now everything should be there.

Thanks for the quick reply!

I couldn't find the right *.ko file in the modules you attached (it is supposed to be af9005 and af9015, and for my other dvb-t - IT9135)
Could i bother you to upload these, since i have no idea how to compile them.

You will need dvb-usb-af9005.ko and possibly dvb-usb-af9005-remote.ko

Hi, I was wondering about this a few weeks ago.. great to see it working.. do you know if the Sony Play TV tuner would work? I have one of those...

You will need dvb-usb-dib0700.ko and the firmware from the web page you pointed me at.

I edited the startdvb file to reference the dib0070.ko but i get init failed.. i wonder doesn the nexus have enough power to power the tuner via USB?

It was able to properly power my tuner without external power but surely this won't be the case with all of them. That can't cause the init to fail though! Use dmesg to get more info on why this has happened.

you need to update the startdvb script to inclue ismode yourdriver.ko

Yes, that's right. So here's how to do it

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 ***** # 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!"

Hope this helps!

If any error message occur, type in dmesg in the terminal. This will give more information why something failed. Also to check whether you have insmoded the kernels right and after connecting the device it has been discovered, use dmesg again and look for message similar to "Found DVB device xxx in warm state"
 
Last edited:
  • Like
Reactions: Psych0Chimp

lionsh

Member
Apr 8, 2010
28
3
Hi Martin,

first of all many thanks!

i used 9005,9005-remote and 9015 ko files and updated the script as follow:
Code:
echo "Starting DVB support"
insmod dvb-core.ko
insmod dvb-pll.ko
insmod rc-core.ko
insmod dvb-usb.ko
insmod dvb-usb-af9005.ko
insmod dvb-usb-af9005-remote.ko
insmod dvb-usb-af9015.ko
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*
echo "DONE!"

I receive several errors.
first i get 9015.ko file not found, i'm attaching screen shot with ls that clearly lists the file (WTF?!)
and *dvr0.ts file is also written as no such file/dir.

I even copied the .fw files for 9005 and 9015 to etc/firmware

can you take a look ,i must be missing something stupid.
also, is there a dvb-usb-IT9135.ko file?

many thanks for your contribution.

Screenshot_2012-08-21-10-30-39.png
 
Last edited:

lionsh

Member
Apr 8, 2010
28
3
I created the files :
frontend0
demux0
dvr0
dvr0.ts

in /dev/dvb/adapter0 and now i don't get an error on running sh startdvb (except on *9015.ko being not found)
when i open droid tv and select DVB-T and some country using dvb-t i get an error of unable to determine frontend
so something still missing/wrong.

UPDATE

using dmesg i saw an error for init 9015.ko - Unknown symbol af9013_attach (err 0)
maybe the compilation of this driver was not right, since it is 9015 and not 9013?

I do hope that it's the lack og 9015.ko which is keeping me from watching DVB-T. If I had the dvb-usb-IT9135.ko file i could try a different DVB-T tuner.
 
Last edited:

birdster

Senior Member
May 11, 2010
52
2
Loving the progress on this, for me dtv isn't what I'm looking for I would love to see a working live video input displayed on my nexus for a project I'm working on using a usb composite video in Interface the type you use to rip vhs to the computer, I'm guessing and hoping the solution is pretty much the same? Any advise and help on this please?
Thanks
 

Psych0Chimp

Senior Member
Aug 7, 2010
104
13
Great work on this, so far I've managed to get my DVB tuner properly configured and connected!

The only issue is Droid TV seems very unstable... Are there any alternatives?

I get reboots when scanning for channels. Might try recompiling a newer version of w_scan when I get a minute.

The channels I manually added only have a signal of 20% with no picture. The signal is fine when the tuner is connected to my PC though.
Maybe the Nexus doesn't give it enough power?
 

lionsh

Member
Apr 8, 2010
28
3
Hi,

Can you state which module do you use for your DVB-T tuner?

Great work on this, so far I've managed to get my DVB tuner properly configured and connected!

The only issue is Droid TV seems very unstable... Are there any alternatives?

I get reboots when scanning for channels. Might try recompiling a newer version of w_scan when I get a minute.

The channels I manually added only have a signal of 20% with no picture. The signal is fine when the tuner is connected to my PC though.
Maybe the Nexus doesn't give it enough power?
 

Sikki

Member
Nov 29, 2010
33
6
I created the files :
frontend0
demux0
dvr0
dvr0.ts

in /dev/dvb/adapter0 and now i don't get an error on running sh startdvb (except on *9015.ko being not found)
when i open droid tv and select DVB-T and some country using dvb-t i get an error of unable to determine frontend
so something still missing/wrong.

UPDATE

using dmesg i saw an error for init 9015.ko - Unknown symbol af9013_attach (err 0)
maybe the compilation of this driver was not right, since it is 9015 and not 9013?

I do hope that it's the lack og 9015.ko which is keeping me from watching DVB-T. If I had the dvb-usb-IT9135.ko file i could try a different DVB-T tuner.

I have an A-Link dongle that seems to be running Afatech inside. Among the things you have done, I also attached and insmodded af9013.ko and got my receiver mounted in warm state and its actually scanning the channels in DroidTV as we speak. (No luck on the first try).

I have dvb-usb-af9015, 9005, 9005-remote, af9013 and the af9015 firmware (in the etc/firmware folder).

These seemed to do the trick.
 

lionsh

Member
Apr 8, 2010
28
3
that is so strange, i tried all these combinations, including af9013.ko with no luck.
did you get an error on af9015 like i did?

i have copied the firmware also. did you d\l it from http://linuxtv.org/wiki/index.php/DVB-T_USB_Devices#DVB-T_USB_Devices?
when you ran startddvb script did you receive any errors? I get an error that the files in /dev/dvb/adapter0 are missing.
only when i create the files manually it passes, but then i can't initialize droid tv.
which kernel version do you use? i have 3.1.10 g52027f9
can you upload the files+script that you used?

I have an A-Link dongle that seems to be running Afatech inside. Among the things you have done, I also attached and insmodded af9013.ko and got my receiver mounted in warm state and its actually scanning the channels in DroidTV as we speak. (No luck on the first try).

I have dvb-usb-af9015, 9005, 9005-remote, af9013 and the af9015 firmware (in the etc/firmware folder).

These seemed to do the trick.
 
Last edited:

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