Full DVB-C/T/T2/S PVR running tvheadend and stock based kernel (incl NTFS support)!

Search This thread

lexyan77

Senior Member
Jan 23, 2010
64
68
Paris
If you want to check if your download is good :
  • for file boot_7.2.3_darcy_userdebug.img
    • SHA256 = DDA1917BAFEB7FE3A8586D0A877E4CE46196B54311D5C119B714E17E482D404E
    • MD5 = 629A2E78208CC9C4C8141E041B5CF770
  • for file boot_7.2.3_foster_userdebug.img
    • SHA256 = 7163B981725549C76A9BAD160B8FB528D2CD6F7FD1113127698834F04EC0B5C4
    • MD5 = 8CD4588206CEEF07B32A914A90C66BB8

I have 7.2.3, and did all the steps maybe the img I downloaded was corrupted, I'll retry that, thank you
 

locki

Senior Member
Feb 1, 2008
203
47
boot only:

c:\adb>fastboot boot boot_7.2.3_foster_userdebug.img
downloading 'boot.img'...
OKAY [ 0.531s]
booting...
OKAY [ 0.004s]
finished. total time: 0.539s


check kernel:

foster:/ # uname -r
4.9.109-tegra-g2dafed3-dirty


after connection usb tuners:

Code:
[  587.382218] usb 1-3: new high-speed USB device number 4 using tegra-xusb
[  587.402627] usb 1-3: config 1 interface 0 altsetting 0 bulk endpoint 0x86 has invalid maxpacket 188
[  587.403209] usb 1-3: language id specifier not provided by device, defaulting to English
[  587.405027] usb 1-3: New USB device found, idVendor=0572, idProduct=c688
[  587.405034] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  587.405422] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/power/control 1000 1000 644
[  587.406882] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/power/autosuspend_delay_ms 1000 1000 644
[  587.406964] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/power/wakeup 1000 1000 644
[  587.407035] dvb-usb: found a 'Mygica T230 DVB-T/T2/C' in warm state.
[  587.417402] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/1-3:1.0/power/control 1000 1000 644
[  587.417501] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/1-3:1.0/power/autosuspend_delay_ms 1000 1000 644
[  587.417579] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/1-3:1.0/power/wakeup 1000 1000 644
[  587.650564] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[  587.650748] DVB: registering new adapter (Mygica T230 DVB-T/T2/C)
[  587.659090] i2c i2c-7: Added multiplexed i2c bus 8
[  587.659096] si2168 7-0064: Silicon Labs Si2168-B40 successfully identified
[  587.659099] si2168 7-0064: firmware version: B 4.0.2
[  587.660776] si2157 8-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[  587.660793] usb 1-3: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[  587.661255] input: IR-receiver inside an USB DVB receiver as /devices/70090000.xusb/usb1/1-3/input/input6
[  587.661442] keychord: using input dev IR-receiver inside an USB DVB receiver for fevent
[  587.661445] dvb-usb: schedule remote query interval to 100 msecs.
[  587.661539] dvb-usb: Mygica T230 DVB-T/T2/C successfully initialized and connected.
[  587.671529] type=1400 audit(1557254238.817:13451): avc: denied { write } for pid=4021 comm="Binder:4021_18" name="timerslack_ns" dev="proc" ino=124347 scontext=u:r:system_server:s0 tcontext=u:r:untrusted_app:s0:c512,c768 tclass=file permissive=0
[  587.671538] type=1400 audit(1557254426.169:13482): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=124294 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.671686] type=1400 audit(1557254426.169:13482): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=124294 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.671692] type=1400 audit(1557254426.169:13483): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126000 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.671753] type=1400 audit(1557254426.169:13483): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126000 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.671759] type=1400 audit(1557254426.169:13484): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126002 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.672187] type=1400 audit(1557254426.169:13484): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126002 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.672194] type=1400 audit(1557254426.169:13485): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126004 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.672465] type=1400 audit(1557254426.169:13485): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126004 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.672472] type=1400 audit(1557254426.169:13486): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126006 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.674310] audit: audit_lost=12790 audit_rate_limit=20 audit_backlog_limit=64
[  587.674313] audit: rate limit exceeded


foster:/ # ls /data/dvb/
dvb-demod-mn88472-02.fw dvb-demod-si2168-b40-01.fw dvb-tuner-si2158-a20-01.fw dvb-usb-dib0700-1.20.fw firmware hts tvheadend tvheadend.out
foster:/ # ls /data/firmware/
dvb-demod-mn88472-02.fw dvb-demod-si2168-b40-01.fw dvb-tuner-si2158-a20-01.fw dvb-usb-dib0700-1.20.fw




It looks like tuner is correctly recognized, but i still cant see any tuner in web if i have correct tvheaderd backend ....

what are next step ?
 

lexyan77

Senior Member
Jan 23, 2010
64
68
Paris
You can check if your tuner is visible in "/dev/dvb" with command "ls -lar /dev/dvb", tvheadend scan this folder to find adapter


boot only:

c:\adb>fastboot boot boot_7.2.3_foster_userdebug.img
downloading 'boot.img'...
OKAY [ 0.531s]
booting...
OKAY [ 0.004s]
finished. total time: 0.539s


check kernel:

foster:/ # uname -r
4.9.109-tegra-g2dafed3-dirty


after connection usb tuners:

Code:
[  587.382218] usb 1-3: new high-speed USB device number 4 using tegra-xusb
[  587.402627] usb 1-3: config 1 interface 0 altsetting 0 bulk endpoint 0x86 has invalid maxpacket 188
[  587.403209] usb 1-3: language id specifier not provided by device, defaulting to English
[  587.405027] usb 1-3: New USB device found, idVendor=0572, idProduct=c688
[  587.405034] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  587.405422] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/power/control 1000 1000 644
[  587.406882] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/power/autosuspend_delay_ms 1000 1000 644
[  587.406964] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/power/wakeup 1000 1000 644
[  587.407035] dvb-usb: found a 'Mygica T230 DVB-T/T2/C' in warm state.
[  587.417402] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/1-3:1.0/power/control 1000 1000 644
[  587.417501] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/1-3:1.0/power/autosuspend_delay_ms 1000 1000 644
[  587.417579] ueventd: fixup /sys/devices/70090000.xusb/usb1/1-3/1-3:1.0/power/wakeup 1000 1000 644
[  587.650564] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[  587.650748] DVB: registering new adapter (Mygica T230 DVB-T/T2/C)
[  587.659090] i2c i2c-7: Added multiplexed i2c bus 8
[  587.659096] si2168 7-0064: Silicon Labs Si2168-B40 successfully identified
[  587.659099] si2168 7-0064: firmware version: B 4.0.2
[  587.660776] si2157 8-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[  587.660793] usb 1-3: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[  587.661255] input: IR-receiver inside an USB DVB receiver as /devices/70090000.xusb/usb1/1-3/input/input6
[  587.661442] keychord: using input dev IR-receiver inside an USB DVB receiver for fevent
[  587.661445] dvb-usb: schedule remote query interval to 100 msecs.
[  587.661539] dvb-usb: Mygica T230 DVB-T/T2/C successfully initialized and connected.
[  587.671529] type=1400 audit(1557254238.817:13451): avc: denied { write } for pid=4021 comm="Binder:4021_18" name="timerslack_ns" dev="proc" ino=124347 scontext=u:r:system_server:s0 tcontext=u:r:untrusted_app:s0:c512,c768 tclass=file permissive=0
[  587.671538] type=1400 audit(1557254426.169:13482): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=124294 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.671686] type=1400 audit(1557254426.169:13482): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=124294 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.671692] type=1400 audit(1557254426.169:13483): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126000 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.671753] type=1400 audit(1557254426.169:13483): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126000 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.671759] type=1400 audit(1557254426.169:13484): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126002 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.672187] type=1400 audit(1557254426.169:13484): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126002 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.672194] type=1400 audit(1557254426.169:13485): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126004 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.672465] type=1400 audit(1557254426.169:13485): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126004 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.672472] type=1400 audit(1557254426.169:13486): avc: denied { write } for pid=4021 comm="Binder:4021_D" name="timerslack_ns" dev="proc" ino=126006 scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=file permissive=0
[  587.674310] audit: audit_lost=12790 audit_rate_limit=20 audit_backlog_limit=64
[  587.674313] audit: rate limit exceeded


foster:/ # ls /data/dvb/
dvb-demod-mn88472-02.fw dvb-demod-si2168-b40-01.fw dvb-tuner-si2158-a20-01.fw dvb-usb-dib0700-1.20.fw firmware hts tvheadend tvheadend.out
foster:/ # ls /data/firmware/
dvb-demod-mn88472-02.fw dvb-demod-si2168-b40-01.fw dvb-tuner-si2158-a20-01.fw dvb-usb-dib0700-1.20.fw




It looks like tuner is correctly recognized, but i still cant see any tuner in web if i have correct tvheaderd backend ....

what are next step ?
 

locki

Senior Member
Feb 1, 2008
203
47
You can check if your tuner is visible in "/dev/dvb" with command "ls -lar /dev/dvb", tvheadend scan this folder to find adapter

1|foster:/ # ls -lar /dev/dvb
total 0
drwxr-xr-x 2 root root 120 2019-05-07 20:40 adapter0
drwxr-xr-x 19 root root 2600 2019-05-07 21:05 ..
drwxr-xr-x 3 root root 60 2019-05-07 20:37 .
foster:/ #

downloaded probably latest tvheadend.3.14.19.apk from https://androidfilehost.com/?fid=1395089523397917101

and my tuner is recognized there ... scaning and tuned all but problem again ... i try add live chanels in tvheaded on android tv but i every time get wrong user password... i created user same way like there: https://www.youtube.com/watch?v=rDQyHFZ-l9Y tryed hostname like localhost 127.0.0.1 actual shield ip 192.168.101.5 but still wrong password like it cant connect :(
 
Last edited:
I have to say, there must be something pretty wrong with my ShieldTV, with file: boot_7.2.3_darcy_userdebug.img, i plug a USB mouse and it does not work, next i flash the original boot.img and the mouse is working again; i can even connect the PCTV461e and i have:

Code:
darcy:/ $ sudo dmesg | grep dvb
[    9.316971] em28xx: Registered (Em28xx dvb Extension) extension
[   69.482895] type=1400 audit(1557267711.723:948):[B] avc: denied { open } for pid=5899 comm="libtvheadend.so" path="/dev/dvb"[/B] dev="tmpfs" ino=34443 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:device:s0 tclass=dir permissive=1
[   87.167379] em28xx 1-3:1.0: dvb set to isoc mode.

darcy:/ $ sudo dmesg | grep PCTV
[   86.773156] usb 1-3: Product: PCTV 461
[   86.773159] usb 1-3: Manufacturer: PCTV
[   86.774498] em28xx 1-3:1.0: New device PCTV PCTV 461 @ 480 Mbps (2013:0258, interface 0, class 0)
[   87.167374] em28xx 1-3:1.0: Identified as PCTV DVB-S2 Stick (461e) (card=92)

But i does not show up in TVheadend, the driver is not loaded.

How can i completely wipe my Shield TV 2017 16GB?

Thanks
 
Last edited:

locki

Senior Member
Feb 1, 2008
203
47
I have to say, there must be something pretty wrong with my ShieldTV, with file: boot_7.2.3_darcy_userdebug.img, i plug a USB mouse and it does not work, next i flash the original boot.img and the mouse is working again; i can even connect the PCTV461e and i have:

Code:
darcy:/ $ sudo dmesg | grep dvb
[    9.316971] em28xx: Registered (Em28xx dvb Extension) extension
[   69.482895] type=1400 audit(1557267711.723:948):[B] avc: denied { open } for pid=5899 comm="libtvheadend.so" path="/dev/dvb"[/B] dev="tmpfs" ino=34443 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:device:s0 tclass=dir permissive=1
[   87.167379] em28xx 1-3:1.0: dvb set to isoc mode.

darcy:/ $ sudo dmesg | grep PCTV
[   86.773156] usb 1-3: Product: PCTV 461
[   86.773159] usb 1-3: Manufacturer: PCTV
[   86.774498] em28xx 1-3:1.0: New device PCTV PCTV 461 @ 480 Mbps (2013:0258, interface 0, class 0)
[   87.167374] em28xx 1-3:1.0: Identified as PCTV DVB-S2 Stick (461e) (card=92)

But i does not show up in TVheadend, the driver is not loaded.

How can i completely wipe my Shield TV 2017 16GB?

Thanks

in adroid is somewhere in setting to fastory defaults, try tvhedend from my post ... did you tryed: ls -lar /dev/dvb ???? what it show?
 
in adroid is somewhere in setting to fastory defaults, try tvhedend from my post ... did you tryed: ls -lar /dev/dvb ???? what it show?

I've clear the cache and uninstalled tvheadend and installed the version from your post.

And then:
Code:
c:\Adb_Fastboot_143_Portable>adb root

c:\Adb_Fastboot_143_Portable>adb shell
1|darcy:/ $ ls -lar /dev/dvb
ls: /dev/dvb: No such file or directory
1|darcy:/ $ ls -lar /dev/dvb
total 0
drwxr-xr-x  2 root root  160 2019-05-08 21:26 adapter1
drwxr-xr-x  2 root root  160 2019-05-08 21:26 adapter0
drwxr-xr-x 19 root root 2600 2019-05-08 21:26 ..
drwxr-xr-x  4 root root   80 2019-05-08 21:26 .
darcy:/ $

In case you wonder the first "ls -lar /dev/dvb" is without the checkbox "Enable root for USB tuners" checked. Afterward, i checked and got 2 adapters. Still i can't see it in the config DVB Inputs / TV Adapters tab, but this is because it is the original boot.img, since the other image provided by lexyan as well as mine that i have compiled don't have Wi-Fi neither USB Ports!?!?!?
 
Last edited:
I have 7.2.3, and did all the steps maybe the img I downloaded was corrupted, I'll retry that, thank you

One more thing you can try if after flashing a modified boot.img that end's up in a boot loop.

Flash the original boot.img image (hope this will boot up your shield)

With USB Debugging
Code:
[B]adb root[/B]
[B]adb disable-verity[/B]
 Verity disabled on /vendor
 Verity disabled on /system
 Now reboot your device for settings to take effect
[B]adb reboot bootloader[/B]

Then on fastboot
Code:
[B]fastboot oem disable_dm_verity[/B]

Flash your modified boot.img again
 

locki

Senior Member
Feb 1, 2008
203
47
yesturday i clear data in tvheadend reinstaled, tuned and now it works... i can stream to my KODI on PC and my mobile phone ... it should work also on Kodi on Shield!!! :) finally .... usb keybord works, but not working sheild gamepad i thing i must check it again after flashing boot image.... i didnt had time for this yesturday ...
 
Last edited:
Ended my day with a factory reset. All clean, started from sctratch. Used "flashall.bat" from nvidia 7.2.3 rooted image.
Installed magisk and patched the original boot.img, flashed and booted ok.
All other builds (mine and lexyan's) dvb enabled images boot with no Wi-Fi nor USB ports, although debug port still works.
I wish i would't be so stubborn this is so frustrating.
 
Last edited:

lexyan77

Senior Member
Jan 23, 2010
64
68
Paris
Hi chapas,

If the source from Nvidia are buggy, I can't do nothing.

Why using pre rooted image from Nvidia instead of official recovery image, when I tried magisk with firmware 5.x (long time ago) the rooted image partially brick my Shield.


Ended my day with a factory reset. All clean, started from sctratch. Used "flashall.bat" from nvidia 7.2.3 rooted image.
Installed magisk and patched the original boot.img, flashed and booted ok.
All other builds (mine and lexyan's) dvb enabled images boot with no Wi-Fi nor USB ports, although debug port still works.
I wish i would't be so stubborn this is so frustrating.
 

BenouLM

Senior Member
Jun 23, 2016
59
1
Good morning, everyone,

Here I have a ShieldTv 2017 with firmware 7.2.3.
On ShieldTv 2015 I managed to install the drivers for the Sony playtv.

But on version 2017 I can't do it. I don't know where to put the fw file.
Apparently it's in the vendor folder but it's write-protected.

Not all manipulations of this subject work.

Do you have any ideas?

Thank you. Thank you.
 

lexyan77

Senior Member
Jan 23, 2010
64
68
Paris
Hi BenouLM,

If you use my modified kernel, you can copy needed firmware in '/data/dvb/firmware', it's a special folder I have created with read write permissions and correct SePolicy rules.
The system and vendor partition are protected with some checksum, if you try to copy files on it you can softbrick your shield.




Good morning, everyone,

Here I have a ShieldTv 2017 with firmware 7.2.3.
On ShieldTv 2015 I managed to install the drivers for the Sony playtv.

But on version 2017 I can't do it. I don't know where to put the fw file.
Apparently it's in the vendor folder but it's write-protected.

Not all manipulations of this subject work.

Do you have any ideas?

Thank you. Thank you.
 
  • Like
Reactions: BenouLM

BenouLM

Senior Member
Jun 23, 2016
59
1
Hi BenouLM,

If you use my modified kernel, you can copy needed firmware in '/data/dvb/firmware', it's a special folder I have created with read write permissions and correct SePolicy rules.
The system and vendor partition are protected with some checksum, if you try to copy files on it you can softbrick your shield.

Thank you for your answer,

I don't have your modified kernel because it seems you have trouble with 7.2.3, right?

So I wanted to install the playtv drivers in an "official" way

Isn't there a solution?
 

lexyan77

Senior Member
Jan 23, 2010
64
68
Paris
Thank you for your answer,

I don't have your modified kernel because it seems you have trouble with 7.2.3, right?

So I wanted to install the playtv drivers in an "official" way

Isn't there a solution?

Right,
my kernel work great with Shield 2015 but unfortunately the source for shield 2017 broke wifi and probably usb
 
  • Like
Reactions: BenouLM

BenouLM

Senior Member
Jun 23, 2016
59
1
Right,
my kernel work great with Shield 2015 but unfortunately the source for shield 2017 broke wifi and probably usb

Okay, I tried to put boot_7.2.3_darcy_userdebug.img on shieldtv 2017 and I have a bootloop. So don't work.

I also have a 2015 shieldtv that is unlock but not root. And here I can't put or boot on boot_7.2.3_foster_userdebug.img ( replace by boot_7.2.3_shield2015_userdebug.img in my code) by the fastboot command...

Code:
PS C:\adb> adb reboot bootloader
PS C:\adb> fastboot flash boot boot_7.2.3_shield2015_userdebug.img
target reported max download size of 67108864 bytes
sending 'boot' (14526 KB)...
FAILED (data transfer failure (Unknown error))
finished. total time: 5.043s
PS C:\adb> adb reboot bootloader
PS C:\adb> fastboot boot boot_7.2.3_shield2015_userdebug.img
downloading 'boot.img'...
FAILED (data transfer failure (Unknown error))
finished. total time: 5.040s

I don't understand why...
 

Top Liked Posts

  • There are no posts matching your filters.
  • 25
    About the Shield TV PVR Project
    I wanted to use my NVidia Shield TV not just for gaming and Netflix, but did not like the idea to loose the (in my view) really cool wifi remote and gamepad by switching to 'that other full android' image that is currently available on xda. So i decided to jump on the road and add those few additional features I was missing to the stock system by myself..

    After some (many) hours of work to get the nvidia supplied source packages trimmed down and fixing bugs in the kernel, I can finally say its running pretty good now!

    Here is what is working right now:
    - A full kernel compile can be done in just about 3-8 minutes contrary to more than one and a half hours when using the unmodified nvidia package

    - The stripped down development package I built is only taking about 1.5 GB of harddrive space, there is no need to download all of these 20+ GB of mixed stuff from the slow nvidia servers anymore, no need to wait for the repo tool to unpack and etc - its just fetch and compile a bootimage right away.

    - I have added full NTFS (r+w) support to the kernel, so you can just plug-in any ntfs formatted harddrive or usb stick and use it like the fat32 formatted drives that were already supported.

    - I have added DVBAPI support back into the kernel so you can plug-in a supported DVB-C/DVB-S/DVB-S2/DVB-T/DVB-T2 tuner stick and use it to watch, record and stream live TV from your shield - full PVR powers baby! :) (I had to patch the base kernel to allow that as there was some 32/64 bit ioctl compatibility issue that I think was one of the reasons why nvidia did not include dvbapi - it took a long time googling around to get this working..)

    - I have built the latest tvheadend server version from source aswell, on my shield it gets started using a bootscript and its really easy to install using adb

    This is my current setup:
    I have connected 3 DVBSky DVB-C/T/T2 USB tuner sticks to a powered USB 3.0 hub and plugged that into the shield. Since there were no drivers for my usb stick brand available, I have patched the dvbsky branch of the kernel tree with a backported version of these drivers. (For those of you that have different brand sticks, there are 2 other branches available, one with all the stock kernel-supplied dvb drivers, one with all the drivers from media_tree). It is now easily possible to

    watch live TV (using Kodi with tvheadend htsp plugin) with full EPG etc

    stream live TV to the kids room (my kids are using kodi installed on a fire tv stick that is connected to an old 19" lcd screen)

    stream transcoded (bandwidth saving) live tv to my tablet and smartphone over the internet

    record tv shows on demand, timers can be programmed using a smartphone (tvheadend helper app) aswell as through the kodi interface

    All these features are in heavy use by my family right now and without any real impact on the overall speed of the shield console - read: completely transparent in the background! (I have attached a 500 GB USB 3.0 hard drive (ntfs formatted) to the shield for storage of the recorded tv shows - obiously.)

    Get yourself a Shield PVR
    Just grab a linux-supported tuner stick and a harddrive, flash one of the precompiled kernels and install tvheadend from my androidfilehost area - it surely is not for the fainthearted as there are currently no step-by-step instructions, but I think everyone with a little knowledge on how to use adb and fastboot can do it.

    Of course I will try to help out if you run into problems, you can post your questions/suggestions/bug reports into the issue tracker or to my thread at xda.

    Contribute
    If you want to say thanks and help continuing my work you can hit that donate button on my androidfilehost area, it is not in any way required tho. If you want to contribute code/patches/ideas - just do so using the usual channels (issue tracker, xda thread).

    How do I get set up for development?
    Check the official repo wiki page, I have added some scripting code examples and etc to the wiki there.

    Check my twitter account aswell for latest updates and a preview video showing my actual shield in action!

    Code:
    Androidfilehost (prebuilt images): https://androidfilehost.com/?w=files&flid=48701
    Github repo: https://bitbucket.org/nopnop9090/shieldtv-kernel
    Wiki: https://bitbucket.org/nopnop9090/shieldtv-kernel/wiki
    5
    Hi all,

    Sources for Shield Experience 5.1 are on my bitbucket repo aprox 1GB to download instead of 15GB for official source.

    Precompiled kernel for 16gb shield[2015] on my dropbox here

    For 2017 shield and pro version, you can compile your kernel from my source.


    New link here
    5
    The developer is probably busy.
    If there are any other devs out there that can contribute.. don't be shy

    Hi All,

    I have compiled the kernel for SATV-3.0 with static drivers and ntfs-rw support. My cheap RTL2832U usb tuner works great.
    To autostart tvheadend provided by nopnop9090, i need to install SuperSu 2.65 through TWRP and put boot script in /su/su.d.
    You can find it in my dropbox. https: // www . dropbox . com / s / zosrn6j759bal01 / SATV.3.0.dvb.static.tar.bz2 ? dl=0

    Some adapter needs firmware files to work.

    Any reviews are appreciated.
    4
    Kernel with DVBSky module and NTFS support for 16GB Shield would be great :)

    Kernel for 16G version recompiled with builtin loadable modules and media_build modules.
    I have modified kernel to search firmware files in /data/firmware to avoid modifying /system.

    You need to load kernel modules in the right order (tuner module before dvb-usb* modules)

    https: // www. dropbox. com/s/1xbw11x4obfhf6j/kernel-modules-media_build.tar.gz?dl=0
    4
    So Firmware 3.0 is out now.
    Can you provide new modified Kernels for the new firmware?
    sorry for being away lately and thanks to slamride, crnkoj and all the others that help out each other... as for the marshmallow update, i am waiting for nvidia to release the 3.0 sources, the updated package will be available shortly after.

    tvheadend status: as there are issues getting hdhomerun network tuners working I am trying to patch the needed code into it - its progressing slowly because I have to wait for some testers to check out each build etc, but that way it may be even possible to get full hw accelerated transcoding to work (more on that later)

    general status: there are some issues with the shield usb 3.0 controller and my usb tuners if there is more than 1 tuner connected to the shield at once. I am now trying to build a "immediate filter driver" that sits between the dvbsky t330 driver and the usb subsystem to filter out some garbage data - as with the tvheadend part, there is already some progress but there are definately not enough hours in a single day ..