[Shield Android TV General] lexyan77:
Bootimage with backported modules for PCTV 292e

Hi,

I have backported some modules from kernel 3.18 (official) into kernel 3.10 (shield base) for the PCTV 292e,

For those who want to test, package is in my dropbox here, you need to place the firmware file in '/system/etc/firmware', for unknown reason it don't want to load them from '/data/firmware'.

don't copy the file 'dvb-demod-si2168-b40-01.fw', it doesn't work

The modules must be loaded in this order : tuner.ko->tveeprom.ko->si2168.ko->si2157.ko->em28xx.ko->em28xx-dvb.ko

Don't forget to Create symlinks :

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
ln -s /dev/dvb0.net0 /dev/dvb/adapter0/net0
chmod 777 /dev/dvb/adapter0
chmod 777 /dev/dvb/adapter0/frontend0
chmod 777 /dev/dvb/adapter0/demux0
chmod 777 /dev/dvb/adapter0/dvr0
chmod 777 /dev/dvb/adapter0/dvr0.ts
chmod 777 /dev/dvb/adapter0/net0

Here is the dmesg output

[ 2340.267227] em28xx: New device PCTV PCTV 292e @ 480 Mbps (2013:025f, interface 0, class 0)
[ 2340.267238] em28xx: DVB interface 0 found: isoc
[ 2340.267383] em28xx: chip ID is em28178
[ 2342.272842] em28178 #0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x950dfb04
[ 2342.272850] em28178 #0: EEPROM info:
[ 2342.272856] em28178 #0: microcode start address = 0x0004, boot configuration = 0x01
[ 2342.280326] em28178 #0: AC97 audio (5 sample rates)
[ 2342.280332] em28178 #0: 500mA max power
[ 2342.280339] em28178 #0: Table at offset 0x27, strings=0x146a, 0x1888, 0x0a7e
[ 2342.280508] em28178 #0: Identified as PCTV tripleStick (292e) (card=94)
[ 2342.280516] em28178 #0: dvb set to isoc mode.
[ 2342.280582] usbcore: registered new interface driver em28xx
[ 2342.282573] type=1400 audit(1470215738.937:11): avc: denied { module_request } for pid=6522 comm="kworker/0:0" kmod="em28xx-dvb" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 2342.283032] type=1400 audit(1470215738.937:12): avc: denied { module_request } for pid=6522 comm="kworker/0:0" kmod="em28xx-rc" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 2345.037316] em28178 #0: Binding DVB extension
[ 2345.039023] i2c i2c-8: Added multiplexed i2c bus 9
[ 2345.039035] si2168 8-0064: Silicon Labs Si2168 successfully attached
[ 2345.040603] si2157 9-0060: Silicon Labs Si2157/Si2158 successfully attached
[ 2345.040628] DVB: registering new adapter (em28178 #0)
[ 2345.040642] usb 2-3: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[ 2345.047115] em28178 #0: DVB extension successfully initialized
[ 2345.047127] em28xx: Registered (Em28xx dvb Extension) extension

And when tvheadend start :

[ 2673.052052] si2168 8-0064: found a 'Silicon Labs Si2168' in cold state
[ 2673.056720] si2168 8-0064: please install firmware file 'dvb-demod-si2168-b40-01.fw'
[ 2673.056734] si2168 8-0064: downloading firmware from file 'dvb-demod-si2168-02.fw'
[ 2673.287227] si2168 8-0064: found a 'Silicon Labs Si2168' in warm state
[ 2673.341732] si2168 8-0064: found a 'Silicon Labs Si2168' in warm state