android rk3066 kernel dvb module compile ( my dvbt stick is a af9015 ) 
Pull rk3066 kernel source from omegamoon
git clone git://github.com/omegamoon/rockchip-rk30xx-mk808

With the toolchain (4.6) from omegamoon on dvbt usb stick plugin i got with dmesg
af9015: command failed:166
af9015: command failed:1
af9015: command failed:39
af9015: command failed:3
af9015: eeprom read failed:-1
dvb_usb_af9015: probe of 2-1.3:1.0 failed with error -1

With toolchain (4.4.3) taken from Android NDK it worked

Run default config with this script
TOOLCHAIN=./omegamoon/toolchain/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
ARCH=arm CROSS_COMPILE=$TOOLCHAIN make mk808-hdmi-720p_defconfig

Select needed dvb modules for kernel config with
make menuconfig

Compile with this script
TOOLCHAIN=./omegamoon/toolchain/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
ARCH=arm CROSS_COMPILE=$TOOLCHAIN make -j2

If everything is ok copy the modules with adb and insmod them
adb push dvb-core.ko /mnt/sdcard
adb shell
root@android:/ # cd /mnt/sdcard
root@android:/ # insmod dvb-core.ko
root@android:/ # dmesg

if module loading failed and you see in dmesg output
Unknown symbol _GLOBAL_OFFSET_TABLE_ (err 0)

add -fno-pic to CFLAGS_MODULE of the main Makefile

For my af9015 i need these modules
af9013.ko dvb-core.ko dvb-usb.ko mt2060.ko mxl5007t.ko tda18271.ko
dvb-pll.ko dvb-usb-af9015.ko mc44s803.ko mxl5005s.ko qt1010.ko tda18218.ko

with this firmware dvb-usb-af9015.fw
adb remount
adb push dvb-usb-af9015.fw /etc/firmware

To load i use the script startdvb
insmod dvb-core.ko
insmod dvb-pll.ko
insmod dvb-usb.ko
insmod af9013.ko
insmod mc44s803.ko
insmod mt2060.ko
insmod mxl5005s.ko
insmod mxl5007t.ko
insmod qt1010.ko
insmod tda18218.ko
insmod tda18271.ko
insmod dvb-usb-af9015.ko
mkdir /dev/dvb
mkdir /dev/dvb/adapter0
ln -s /dev/dvb0.frontend0 /dev/dvb/adapter0/frontend0
ln -s /dev/dvb0.demux0 /dev/dvb/adapter0/demux0
ln -s /dev/dvb0.dvr0 /dev/dvb/adapter0/dvr0
ln -s /dev/dvb0.dvr0 /dev/dvb/adapter0/dvr0.ts
chmod 777 /dev/dvb*

To unload i use the script stopdvb
rmmod dvb_usb_af9015
rmmod af9013
rmmod mc44s803
rmmod mt2060
rmmod mxl5005s
rmmod mxl5007t
rmmod qt1010
rmmod tda18218
rmmod tda18271
rmmod dvb_usb
rmmod dvb_pll
rmmod dvb_core
rm /dev/dvb/adapter0/frontend0
rm /dev/dvb/adapter0/demux0
rm /dev/dvb/adapter0/dvr0
rm /dev/dvb/adapter0/dvr0.ts
rmdir /dev/dvb/adapter0
rmdir /dev/dvb

test and upload
adb shell
root@android:/data # cd /data
root@android:/data # mkdir dvb
adb push . /data/dvb
root@android:/data # cd dvb
root@android:/data/dvb # ./startdvb

lsmod shows loaded modules
dmesg shows kernel logs

For testing i pushed droidtv.apk and installed with
root@android:/ # pm install droidtv.apk

compile against linux media


git clone git://linuxtv.org/media_build.git
cd media_build

i use following script to compile
#!/bin/bash
export ARCH=arm
export CROSS_COMPILE=$(pwd)/../android-toolchain-14/bin/arm-linux-androideabi-
export DIR=$(pwd)/../rockchip-rk30xx-mk808
export MYCFLAGS=-fno-pic

./build
#make -j4

when you see something like

CC [M] XXXXX.o

press Ctrl-C

remark "./build" and unremark "make -j4"

make menuconfig

//[ ] Misc devices --->

uncheck

Multimedia support / Encoders, decoders, sensors and other helper chips --->
< > SMIA++/SMIA sensor support

if not unchecked you get something like

./media_build/v4l/smiapp-core.c: In function 'smiapp_registered':
./media_build/v4l/smiapp-core.c:2359: error: implicit declaration of function 'devm_regulator_get'
./media_build/v4l/smiapp-core.c:2359: warning: assignment makes pointer from integer without a cast

to build dib9000.ko uncheck "Multimedia support / Autoselect"

if you see "exported twice. Previous export was in vmlinux" then
this happens for modules built into rk3066 kernel and selected as modul.

[ view entry ] ( 3276 views )   |  print article

<<First <Back | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Next> Last>>