[UNOFFICIAL] LineageOS 16.0 for the Project Tango Tablet (ATAP)

Search This thread

npjohnson

Recognized Developer
lineage-os-logo.png

Google Project Tango Tablet

Code:
- Your warranty is now void.
- You have been warned.
- Use at your own risk.

Introduction:
This is the Unofficial Lineage OS 16.0 thread for the Google Project Tango Tablet, codename yellowstone.

How to Install:
Please follow the instructions on our Unofficial ODS Wiki page here.

If you don't follow these instructions, please don't expect support here. You NEED to flash the PSCI firmware via the process described in the wiki above, or you run a significant chance of bricking your device.

We also don't support 3rd party add-ons (Magisk/XPosed/Dolby/Viper/etc.), so please don't seek support if you use these.

Known Issues:
  • Camera's and flashlight don't and likely won't ever work due to incompatibilities in proprietary binaries.
  • Due to the fact the cameras are broken, the ATAP/Tango apps will crash upon opening.
  • USB Tethering is broken for some people.
  • SELinux is permissive (if you're a developer, you can help on this one!)

Downloads:

How to build yourself:
  • Follow the ODS Wiki Guide here here, except just after running
    Code:
    . build/envsetup.sh
    run
    Code:
    repopick -f 279494
    then proceed as described.

Returning to Stock:


XDA:DevDB Information
[UNOFFICIAL] LineageOS 16.0 for the Project Tango Tablet (ATAP), ROM for the Nvidia Shield Tablet

Contributors
npjohnson, ryanbg, steel01
Source Code: https://github.com/LineageOS/android_device_google_yellowstone

ROM OS Version: 9.x Pie
ROM Kernel: Linux 3.10.x
ROM Firmware Required: Latest Stock KitKat

Version Information
Status: Stable

Created 2020-10-16
Last Updated 2020-10-16
 
Last edited:

ShapeShifter499

Senior Member
Sep 13, 2009
474
160
I wanted to ask, what exactly needed changing to the bootloader stuff that allows newer custom ROMs to boot? I'm legitimately curious and I would like to know if those modifications basically open it up so that it all lands on the OS side for getting stuff like cameras working in the future if that's even possible.

---------- Post added at 10:04 PM ---------- Previous post was at 10:02 PM ----------

Thanks!

Could be me, but it looks like the links to the add-ons are 404. These should work, right?

https://download.lineageos.org/extras


The link provided is working for me but I don't see why you couldn't use those extras. Just make sure to grab the ones for LineageOS 16.0. But @npjohnson please correct me if I'm wrong.

EDIT: The main link works to the list of extras downloads but none of the extra downloads on the page work.
 
Last edited:

ShapeShifter499

Senior Member
Sep 13, 2009
474
160
there is an issue with the script.

[[email protected] yellowstone_pie_psci]$ ./flash.sh
Nvflash 4.13.0000 started
unknown command: --g
[[email protected] yellowstone_pie_psci]$

there appears to be a typo. The last part of the command seems to be --go Got it working here

---------- Post added 17th October 2020 at 12:15 AM ---------- Previous post was 16th October 2020 at 11:48 PM ----------

Unless I'm wrong there's also a typo on the wiki page you made.

Lines like:
With the device powered off, hold Volume Down + <kbd+ Power until a menu is displayed. Use Volume Down to highlight “Recovery mode”, then press Power to select

Should probably be like:
With the device powered off, hold Volume Down + Volume Up + Power until a menu is displayed. Use Volume Down to highlight “Recovery mode”, then press Power to select
 

ShapeShifter499

Senior Member
Sep 13, 2009
474
160
Well I did some testing and for the most part the tablet works better than it's ever had. Before I had an issue with it powering off with a "dead battery" but flashing a full charged battery icon after powering off. That issue has gone away now.

Thank you and anyone who has helped bring this ROM to life, it's really amazing to see newer software working so well on these old tablets. I honestly didn't think it would ever happen.
 
Last edited:

npjohnson

Recognized Developer
Thanks!

Could be me, but it looks like the links to the add-ons are 404. These should work, right?

https://download.lineageos.org/extras

Fixed.

I wanted to ask, what exactly needed changing to the bootloader stuff that allows newer custom ROMs to boot? I'm legitimately curious and I would like to know if those modifications basically open it up so that it all lands on the OS side for getting stuff like cameras working in the future if that's even possible.

---------- Post added at 10:04 PM ---------- Previous post was at 10:02 PM ----------




The link provided is working for me but I don't see why you couldn't use those extras. Just make sure to grab the ones for LineageOS 16.0. But @npjohnson please correct me if I'm wrong.

EDIT: The main link works to the list of extras downloads but none of the extra downloads on the page work.

Fixed.

And to answer the question - It's a hybrid of tn8's (Shield Tablet) nvboot and a heavily disassembled/reassembled applications bootloader to support the newer TLK/Secure World and PSCI kernel from tn8, allowing us to use kernel 3.10 from nv-tegra as opposed to 3.4 from Google. Much cleaner, must snappier, plus it lets us use Shield Tablet proprietary files for graphics, etc. which has an official Nougat release, which is way easier to work with than KitKat blobs from stock. We split out and use as many tn8 blobs as we can, and yellowstone stock where we need to.

It was designed almost entirely by @ryanbg -he's a legend, and one of the big reasons this device got anything more than cm-14.1 - I did most of the Android-side bringup (which was rough), but his work on kernel and firmware enabled it :)

there is an issue with the script.

[[email protected] yellowstone_pie_psci]$ ./flash.sh
Nvflash 4.13.0000 started
unknown command: --g
[[email protected] yellowstone_pie_psci]$

there appears to be a typo. The last part of the command seems to be --go Got it working here

---------- Post added 17th October 2020 at 12:15 AM ---------- Previous post was 16th October 2020 at 11:48 PM ----------

Fixed - don't know how I missed that, sorry.

Unless I'm wrong there's also a typo on the wiki page you made.

Lines like:
With the device powered off, hold Volume Down + <kbd+ Power until a menu is displayed. Use Volume Down to highlight “Recovery mode”, then press Power to select

Should probably be like:
With the device powered off, hold Volume Down + Volume Up + Power until a menu is displayed. Use Volume Down to highlight “Recovery mode”, then press Power to select

Fixed.

Well I did some testing and for the most part the tablet works better than it's ever had. Before I had an issue with it powering off with a "dead battery" but flashing a full charged battery icon after powering off. That issue has gone away now.

Thank you and anyone who has helped bring this ROM to life, it's really amazing to see newer software working so well on these old tablets. I honestly didn't think it would ever happen.

Yeah, that was an old bootloader bug. Plus we swapped to newer battery graphics to match Lineage branding :cool:


Also, not responding to anyone in specific, just noting, I also added instructions to build at home to the OP!
 
Last edited:

ShapeShifter499

Senior Member
Sep 13, 2009
474
160
And to answer the question - It's a hybrid of tn8's (Shield Tablet) nvboot and a heavily disassembled/reassembled applications bootloader to support the newer TLK/Secure World and PSCI kernel from tn8, allowing us to use kernel 3.10 from nv-tegra as opposed to 3.4 from Google. Much cleaner, must snappier, plus it lets us use Shield Tablet proprietary files for graphics, etc. which has an official Nougat release, which is way easier to work with than KitKat blobs from stock. We split out and use as many tn8 blobs as we can, and yellowstone stock where we need to.

It was designed almost entirely by @ryanbg -he's a legend, and one of the big reasons this device got anything more than cm-14.1 - I did most of the Android-side bringup (which was rough), but his work on kernel and firmware enabled it :)

I was looking into it seeing if maybe I could help. I had been looking at the tos.img alone thinking that was it. But wow man I probably would have never gotten to the bootloader like that. Thank you and @ryanbg for putting all the work in.
 
  • Like
Reactions: ryanbg

ShapeShifter499

Senior Member
Sep 13, 2009
474
160
So I have a new issue. My IMEI is blank and my sim card doesn't work. I had this sim working before on stock firmware, service through t-mobile

---------- Post added at 02:46 AM ---------- Previous post was at 02:25 AM ----------

I redownload the zip and the script inside still has an issue for Linux

[[email protected] yellowstone_pie_psci]$ ./flash.sh
Nvflash 4.13.0000 started
unknown command: --g
[[email protected] yellowstone_pie_psci]$
 

npjohnson

Recognized Developer
So I have a new issue. My IMEI is blank and my sim card doesn't work. I had this sim working before on stock firmware, service through t-mobile

---------- Post added at 02:46 AM ---------- Previous post was at 02:25 AM ----------

I redownload the zip and the script inside still has an issue for Linux

[[email protected] yellowstone_pie_psci]$ ./flash.sh
Nvflash 4.13.0000 started
unknown command: --g
[[email protected] yellowstone_pie_psci]$

This is weird... I use t-mobile on yellowstone - and it works fine. Can you get me logs?
 

ShapeShifter499

Senior Member
Sep 13, 2009
474
160
This is weird... I use t-mobile on yellowstone - and it works fine. Can you get me logs?

I was able to use the package you uploaded to revert to kitkat stock and confirmed the t-mobile sim works with this tablet. It just doesn't work on the latest build you have.

This is from a fresh reinstall. Installed are the LineageOS Recovery (lineage-16.0-20201009-recovery-yellowstone.img), the LineageOS 16.0 main build (lineage-16.0-20201009-UNOFFICIAL-yellowstone.zip), and the LineageOS SuperSU add on (addonsu-16.0-arm-signed.zip). I grabbed a logcat from first boot, I tried to use the option to use the cellular network which failed and I skipped all google sign in so I could try toggling cellular network in the settings.

Logcat: https://gist.github.com/ShapeShifter499/51f14342a14416a44ed1fdec27c071cc

Here is one more logcat, taken after first boot. I toggled the "Airplane mode" in settings to no avail, SIM was still not detected and no network connection was made over cellular.

Logcat: https://gist.github.com/ShapeShifter499/856e638f29e33f1aac156ca19dc2c790
 
Last edited:

npjohnson

Recognized Developer
I was able to use the package you uploaded to revert to kitkat stock and confirmed the t-mobile sim works with this tablet. It just doesn't work on the latest build you have.

This is from a fresh reinstall. Installed are the LineageOS Recovery (lineage-16.0-20201009-recovery-yellowstone.img), the LineageOS 16.0 main build (lineage-16.0-20201009-UNOFFICIAL-yellowstone.zip), and the LineageOS SuperSU add on (addonsu-16.0-arm-signed.zip). I grabbed a logcat from first boot, I tried to use the option to use the cellular network which failed and I skipped all google sign in so I could try toggling cellular network in the settings.

Logcat: https://gist.github.com/ShapeShifter499/51f14342a14416a44ed1fdec27c071cc

Here is one more logcat, taken after first boot. I toggled the "Airplane mode" in settings to no avail, SIM was still not detected and no network connection was made over cellular.

Logcat: https://gist.github.com/ShapeShifter499/856e638f29e33f1aac156ca19dc2c790

Dmesg as well pls
 

thew-tab

Senior Member
Mar 22, 2012
75
10
I tried to install the recovery listed in the downloads page. It failed and said-- FAILED (remote: (InvalidSize)) I copy and pasted the name of the file, so that should have been ok. Not sure what I did wrong, and ideas would be helpful.
 

ShapeShifter499

Senior Member
Sep 13, 2009
474
160
@npjohnson If I wanted to fork some of the repos to do my own edits, tests, and maybe port a different ROM to get working. Which of the repos contain the latest accepted edits? The LineageOS github ones or the ones on your own github? I figure at least I would get the proprietary blobs from your github or the last ROM.

Also got any ideas about the SIM card issue? I suspect this error I see in the dmesg is it but I don't know for sure "init: Could not find service hosting interface [email protected]::IRadio/slot1" which led me to this https://stackoverflow.com/questions...nterface-android-hardware-radio-config1-0irad
 

npjohnson

Recognized Developer
@npjohnson If I wanted to fork some of the repos to do my own edits, tests, and maybe port a different ROM to get working. Which of the repos contain the latest accepted edits? The LineageOS github ones or the ones on your own github? I figure at least I would get the proprietary blobs from your github or the last ROM.

Also got any ideas about the SIM card issue? I suspect this error I see in the dmesg is it but I don't know for sure "init: Could not find service hosting interface [email protected]::IRadio/slot1" which led me to this https://stackoverflow.com/questions...nterface-android-hardware-radio-config1-0irad

SIM is now fixed. And that error by proxy. Yes, just use lineage.dependencies to trace dependencies, all on lineageos org, and vendor is on themuppets as always.

17.1 doesn't boot at all, but that's a tegra t124 wide chipset issue - graphics crashes and panics the device. 16.0 is near to perfect.


Okay, this was an issue on my end - I fixed it, newest build via OTA fixes it.
 

ShapeShifter499

Senior Member
Sep 13, 2009
474
160
Okay, this was an issue on my end - I fixed it, newest build via OTA fixes it.

Perfect, I can now connect to LTE, though I only seem to ever get slow H or H+ connections over T-Mobile. Same as on Stock. Probably the old cellular chipset to blame.

I do see two other issues but I don't know how fixable they are.

1) Charging over USB micro-B barely works when booted in. It doesn't like to draw much current. As example, one of my power banks shuts off when this tablet is plugged in to it. Another being that it seems to discharge when plugged into a USB wall wart rated at 5V 2A. I know with some devices it was possible to change the kernel to force a higher charge rate or temporarily toggle it. Does anyone happen to know if that's possible here?

2) 1080p videos work amazing when they are under 60FPS, 60FPS videos will studer but not slow down the system. Videos 1080p 30FPS play perfectly. 60FPS videos also play perfectly if they are under 1080p of quality.
I don't expect it to play anything higher than 1080p in quality but I wonder why the 60FPS is the limit for 1080p when 30FPS seems smooth.
 

npjohnson

Recognized Developer
Perfect, I can now connect to LTE, though I only seem to ever get slow H or H+ connections over T-Mobile. Same as on Stock. Probably the old cellular chipset to blame.

I do see two other issues but I don't know how fixable they are.

1) Charging over USB micro-B barely works when booted in. It doesn't like to draw much current. As example, one of my power banks shuts off when this tablet is plugged in to it. Another being that it seems to discharge when plugged into a USB wall wart rated at 5V 2A. I know with some devices it was possible to change the kernel to force a higher charge rate or temporarily toggle it. Does anyone happen to know if that's possible here?

2) 1080p videos work amazing when they are under 60FPS, 60FPS videos will studer but not slow down the system. Videos 1080p 30FPS play perfectly. 60FPS videos also play perfectly if they are under 1080p of quality.
I don't expect it to play anything higher than 1080p in quality but I wonder why the 60FPS is the limit for 1080p when 30FPS seems smooth.

It's not older chipset -- it's missing bands :/ - unfixable

1. Charging can't be fixed. The regulators are MESSED UP, and it is charging the best it possibly can. The dock quick-charges it safely. - Working as intended
2. Totally expected, older hardware, and the app may be using software rendering instead of hardware - the top result for "1080p 60fps" on youtube plays fine.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    may i ask two questions about the dec 16th build?
    1- charging by USB MICRO stops working after installing this update. what changed in the update?(weirdness part, if plugged into a QCS 3.0, starting from a cold boot, it charges for the short boot moment then stops just as the LINEAGE logo transitions to home screen. -- wont charge when off, and wont charge when on, only this short window from boot)
    2-under display , themes, the green color if selected, turns everything blue?
    I will look into this. The drivers for the charger and the external connector (dock charging component) were written for 3.4, and the driver is SUPER hacky. I had to port it to 3.10, but it really needs a clean rewrite to play nicely. The tablet has a pretty high power budget and often the MicroUSB port might not be able to provide enough amperage while the device is in use. The NVidia charging code is somewhat cryptic and it takes a while to reverse what is actually going on. There's some odd behavior with the interrupts handling switching between USB and the dock for charging. Inside the charging IC there is a switch to enable 12V input (charging via dock), and sometimes this can get into an inconsistent state. There's technically TWO batteries wired together as one battery that requires a higher voltage (~8V) than say your typical battery which is usually running at 3.7V.

    Part of the problem is that in order to use 3.10 effectively (Secure Storage, some DRM stuff, etc...), we need ARM PSCI support (especially if we look beyond 3.10 in the future). TN8 (Shield Tablet) received this while Yellowstone was still stuck on Trusted Foundations TEE. There's a handful of binaries that use some of the newer TOS functionality as well.

    I had to kang the TN8 early bootloader (nvtboot) in order to load the newer PSCI-compatible TOS (TrustZone image) according to the newer mechanism (Yellowstone OEM bootloader doesn't support this loading mechanism). One problem is that the TN8 early bootloader doesn't support the charging or battery ICs on the Yellowstone, so the chips come up from boot in an inconsistent state that needs to be cleaned up by the kernel.

    I did come across a more recent TOS image that was released for Yellowstone that fixes some of the off-mode charging and standby/sleep charging, but it still doesn't address loading the PSCI TOS image correctly. I had to reverse engineer both bootloaders and do some patches to make it play nicely with the newer kernel as well. It may be possible to embed the TOS loading code into the Yellowstone early bootloader, but this is extremely tedious and time consuming and requires extensive testing.

    I did start writing the PSCI code from scratch in assembley for their PSCI implementation so I could have u-boot replace the early stage bootloader, but it requires a significant amount of effort and intimate knowledge of the hardware. I simply don't have the time to do so.

    I took a hiatus from programming about a year ago because I had spent about 18 months working on this device non-stop and other security research work and burned out. It wasn't fun for me anymore and I didn't have as much time. I will have a bit more time now and the will is returning so I am hoping to pick up where I left off.
    2
    Many thanks, the November Version works again very well!!!

    Regards
    Send from my freshly updated Project Tango Tablet
    1
    And to answer the question - It's a hybrid of tn8's (Shield Tablet) nvboot and a heavily disassembled/reassembled applications bootloader to support the newer TLK/Secure World and PSCI kernel from tn8, allowing us to use kernel 3.10 from nv-tegra as opposed to 3.4 from Google. Much cleaner, must snappier, plus it lets us use Shield Tablet proprietary files for graphics, etc. which has an official Nougat release, which is way easier to work with than KitKat blobs from stock. We split out and use as many tn8 blobs as we can, and yellowstone stock where we need to.

    It was designed almost entirely by @ryanbg -he's a legend, and one of the big reasons this device got anything more than cm-14.1 - I did most of the Android-side bringup (which was rough), but his work on kernel and firmware enabled it :)

    I was looking into it seeing if maybe I could help. I had been looking at the tos.img alone thinking that was it. But wow man I probably would have never gotten to the bootloader like that. Thank you and @ryanbg for putting all the work in.
    1
    I'm using this : https://updater.oddsolutions.us/yellowstone#/devices/shieldtablet/builds
    And this topic is in Shield Tablet.
    Is it a bug from the new XDA ?
    Project Tango has no forums of it's own, so we are using Shield Tablets as a home for now.

    Additionally, the shiledtablet builds you linked are unsupported test builds - there will be no support provided for those.
    1
    may i ask two questions about the dec 16th build?
    1- charging by USB MICRO stops working after installing this update. what changed in the update?(weirdness part, if plugged into a QCS 3.0, starting from a cold boot, it charges for the short boot moment then stops just as the LINEAGE logo transitions to home screen. -- wont charge when off, and wont charge when on, only this short window from boot)
    2-under display , themes, the green color if selected, turns everything blue?