yashsingh1/xdaforums huggingface dataset:
[Google TV General] npjohnson:
https://github.com/npjohnson/android_external_u-boot - you can edit and build this. I have it reboot to fastbootd, which won't work for you, but you could have it fall through to fastboot pretty easy.

The sabrina-unlock repo details packing it up correctly.
[Google TV General] p0werpl:
Thank you. Which defconfig should I go with? And the only edit is to change "reboot fastboot" to "reboot bootloader"?
[Google TV General] npjohnson:
I'm not entirely sold that would work but you could try - you may need to issue the u-boot command "fastboot" somehow. likely easily done via the same `env` command we use to write the unlock variable. and you should build the sabrina defconfig I imported in the TAR commit.
[Google TV General] p0werpl:
Thank you. Assuming no user error in the uart setup, can you see (in the above log) why I am not able to interrupt u-boot? That should be the easiest way to get into fastboot.
[Google TV General] npjohnson:
It's not a user-error, like I said you hit a very special and sad case lol - if your reboot reason is stuck on recovery the delay is skipped, and your boot reason won't clear. The only way to do that is from the kernel/OS (which crashes) or from u-boot (which you can't access due to boot delay being skipped).

The only way to fix it is building u-boot and getting to fastboot like I described above. Once there reflash sabrina's recovery image or the factory image linked in OP and all will be golden.
[Google TV General] p0werpl:
Given the unique nature of my error and the awesome manner in which I got there, would you be so kind as to build a u-boot with fastboot? I can try but it wil l be really tough sledding.
[Google TV General] npjohnson:
Maybe, this week of work is nuts. Hit me up this weekend.
[Google TV General] npjohnson:
Okay, this may be easier than I thought, re-run unlock.sh with UART hooked up, and interrupt in in that version of u-boot (which /should/ allow autoboot).
[Google TV General] p0werpl:
There was no attachment or link in your post.
[Google TV General] p0werpl:
No luck. Not able to interrupt.
[Google TV General] npjohnson:
To clarify, you ran the exploit, and when you saw u-boot begin, you spammed enter?

Weirdness. You sure TX is working?
[Google TV General] p0werpl:
Yes. There are only two points of interest on the PCB. Not sure what can go wrong there. Can you provide a link to the u-boot that boots into fastboot?
[Google TV General] npjohnson:
My attempt at it: https://download.ods.ninja/Android/purgatory/sabrina.bootloader.bin - but it doesn't work for some reason. But it might clear your reboot reason?
[Google TV General] p0werpl:
No. Did not boot to fastboot or clear the reboot reason.
[Google TV General] npjohnson:
sad. Well, I'm not sure if there is a better route. All you need to do is boot into a different boot-more to clear out the reboot reason.

Not sure what to do. I pushed a build script to the u-boot repo to help you build it if you want to play with it.

Build u-boot as per build.sh, run ./scripts/decrypt_bootloader.sh, copy build/u-boot.bin to bootloader/, then run ./scripts/repack_bootloader.sh, and re-run unlock.sh.
[Google TV General] tokoam:
Question is TWRP being built for this chipset ?
[Google TV General] kennkanniff:
I would like to try if I can make the exploit boot into recovery. Do you mean build_uboot.sh?

export CROSS_COMPILE=/home/$redacted/bin/toolchains/gcc-linaro-aarch64-none-elf/bin/aarch64-none-elf-
export CROSS_COMPILE_T32=/home/$redacted/bin/toolchains/gcc-linaro-arm-none-eabi/bin/arm-none-eabi-
make sm1_sabrina_v1_defconfig
make

Does not work:

make[1]: Circular dovi <- u-boot dependency dropped.
mkdir -p ../../../../build/drivers/display/osd/
cp dovi.a ../../../../build/drivers/display/osd/dovi.o
cp: cannot stat 'dovi.a': No such file or directory
make[2]: *** [Makefile:4: dovi.o] Error 1
make[1]: *** [/home/user/android_external_u-boot/Makefile:878: dovi] Error 2
make: *** [Makefile:147: sub-make] Error
[Google TV General] p0werpl:
Where is the "reboot reason" stored? Can I zero out those blocks in burn mode?
[Google TV General] npjohnson:
build.sh - you missed make distclean before building. You need the toolchain in place and to replace the tc path with where you have it too ofc.

misc, but you don't want to wipe that fully.
[Google TV General] p0werpl:
How would I zero out the first few bytes of misc from burn mode? From my experience, the reboot reason (e.g., "recovery") is explicitly written in the first few bytes.
[Google TV General] npjohnson:
this I'm not sure tbh - you could read the misc partition, edit it, then write it?
[Google TV General] kennkanniff:
I can not find build.sh anywhere in https://github.com/npjohnson/android_external_u-boot. I did downloaded and set my toolchain variables correctly, thanks.
[Google TV General] npjohnson:
Forgot to push it, done.
[Google TV General] kennkanniff:
I see it, thank you. Same error though.

make[1]: Circular dovi <- u-boot dependency dropped.
mkdir -p ../../../../build/drivers/display/osd/
cp dovi.a ../../../../build/drivers/display/osd/dovi.o
cp: cannot stat 'dovi.a': No such file or directory
make[2]: *** [Makefile:4: dovi.o] Error 1
make[1]: *** [/home/user/android_external_u-boot/Makefile:878: dovi] Error 2
make: *** [Makefile:147: sub-make] Error 2

build/drivers/display/osd/dovi.o does not exist.
[Google TV General] npjohnson:
hrm - odd - I hit that as well, distclean solves it.

Can you reclone it, then immediately runt he script and see?
[Google TV General] p0werpl:
I was able to run the fastboot payload in usbdl from here: https://github.com/frederic/amlogic-usbdl/tree/main/payloads. However, that appears to be a limited fastboot that does not support the usual commands.

Any pointers on how to make it work?
[Google TV General] npjohnson:
There's a reason I didn't toss that at you, it's not you boots fastboot, it's a much lower level fastboot that is totally broken. No clue.
[Google TV General] kennkanniff:
Still same error, can you maybe compile one that reboots to recovery?
[Google TV General] npjohnson:
Sure. Will do tonight.
[Google TV General] npjohnson:
Fun, there's a race condition in the dovi driver's build sequence!

So, I fixed it, it's hacky, and crappy, but it should now build with build.sh for you.
[Google TV General] kennkanniff:
Thanks

It works! The combination of the sabrina.bootloader.bin you posted before with my modified uboot.bin boots the device into fastbootd (with lineageos logo) after the exploit. But button and fastboot commands don't work so I can't do anything. If I reboot I have to run an unmodified version of the exploit again before being able to reboot to fastbootd again.
[Google TV General] npjohnson:
Well, sounds like progress!

Can you take a photo of the screen you see?
[Google TV General] kennkanniff:
Indeed, please see attachment.
[Google TV General] npjohnson:
USB doesn't work in that mode?

It should.

Try doing reboot reason as recovery instead maybe?
[Google TV General] kennkanniff:
After updating fastboot to the latest version I was able to boot to recovery over USB but the button does not work so I can not enable ADB in recovery. The button worked before I flashed LineageOS.
[Google TV General] npjohnson:
Other keyboard to navigate to advanced menu. Then select enable adb.
[Google TV General] kennkanniff:
Not sure how I can do that since I get thrown into fastboot immidetely after the exploit so I can't hook up a USB hub. If I dissconect the device it does not boot to fastboot anymore.
[Google TV General] npjohnson:
There are powered USB hubs that would allow this.
[Google TV General] p0werpl:
Were you able to confirm tx working in uart (e.g., by interrupting u-boot) in your original testing? I have tried with a number of usb ttl adapters without luck. I will try with the pcbite tools later today to confirm it is not my inability to hold the pins on the rx and tx points on the pcb.

In your writeup, you talked about the folks at exploiteers figuring out the uart pinout for this device. I wasn't able to find any info about that on their site. How did you id the pinouts?
[Google TV General] kennkanniff:
Would this work? https://www.amazon.de/Adapter-Splitter-Schnellladung-kompatibel-Chromecast-silber/dp/B091GGQJKD/
[Google TV General] npjohnson:
Fred told me the pin-out - told me he got it on exploiteers - he might have meant the IRC channel.

On stock u-boot for sabrina, you can't interrupt at all as Stricted reminded me - should only be able to interrupt on our custom u-boot after running the exploit.

Maybe - it would need to allow you to boot up with 2 cables attached, a PC to provide the exploit, and power, then you'd need to swap the PC out for a keyboard.
[Google TV General] hp420:
could you all please take this to private message? there's 3 pages of messages from you talking about fixing one user's device. we all keep getting notifications for every message you post 🤷

thank you 😊
[Google TV General] npjohnson:
This is all relevant information that anyone who gets in this situation would benefit from.

You can turn off the notifications, or set up daily summaries?
[Google TV General] kingsleycao:
Would you please tell me how to flash lineage-16.0-20210816-UNOFFICIAL-fugu.zip ?

I found it on https://updater.oddsolutions.us/#/devices/fugu/builds .

After flashed the file, it couldn't boot into system but rebooted to recovery automatically.

Thx.
[Google TV General] npjohnson:
That has nothing to do with this thread, and there's a reason I don't post links to those builds - they're broken in multiple ways.

Why do people insist on using builds I don't post links to lol
[Google TV General] meber:
Any notable changes in today's release? Thanks for all your work!
[Google TV General] Big Dumb Object:
The developers kindly keep change logs for us: https://updater.oddsolutions.us/#/devices/dopinder/changes
[Google TV General] meber:
Those are all changes for lineage - I was wondering if any of the changes have specific effects on the onn or other devices in this thread.
[Google TV General] npjohnson:
they're in there too, under g12: and dopinder: tags
[Google TV General] meber:
they are not listed on the oddsolutions site, however, if I go here are these the relevant changes?

https://review.lineageos.org/q/dopinder

https://review.lineageos.org/q/g12
[Google TV General] npjohnson:
yes they are, there just haven't been any changes for them lol - just platform changes.

But we think we fixed dopinder/wade's button issue and the soft keyboard issue. Will get a new build up soon.

https://review.lineageos.org/q/project:LineageOS/android_device_amlogic_g12-common+status:merged

https://review.lineageos.org/q/project:LineageOS/android_device_askey_dopinder+status:merged

are what you're looking for
[Google TV General] criscodecookies:
New official OTA update released for dopinder in case anyone needs it

onn-user 10 QT 20210902

https://android.googleapis.com/packages/ota-api/package/6b095a0fb74fa5087b609aeb87281553c58759d3.zip
[Google TV General] npjohnson:
how did you check for this? Just logs?
[Google TV General] hp420:
been looking for a way to dump the factory image. thank you!
[Google TV General] criscodecookies:
Yeah bugreport instead of logcat
[Google TV General] hp420:
fyi, running a stock ota update on an unlocked bootloader DID NOT relock it. It did replace recovery, but that's to be expected. I guess it would be trivial enough for them to trigger a relock in any future update, but this one didn't do so, at least. I ran the unlock command again just to be sure and when it rebooted my apps were still installed, and I was able to reinstall custom recovery.
[Google TV General] npjohnson:
sabrina support is live, enjoy.
[Google TV General] tokoam:
how do I install the ota update ? When I do it In Andriod Tv OS it it boots to recovery and tells me failed signature check . How do we install this update ? via posted link . Also I have a silly question when we flash the recovery does it still retain the stock recovery ? . I'm asking cause it looks as if it booted to the stock recovery .
[Google TV General] npjohnson:
The update he linked is the stock OS - you'd need to install it from the stock recovery.
[Google TV General] tokoam:
Thank you I will reflash the stock recovery and retry .
[Google TV General] JJ2017:
Excellent news, thanks for posting - I have installed it successfully (y)

One issue I'm finding: remote gets 'locked out' after a few minutes - a reboot is required to get connected again - anyone else?
[Google TV General] npjohnson:
This only happens on first boot for me still happening for you?
[Google TV General] kennkanniff:
Same here, also after reboot.
[Google TV General] npjohnson:
Huh I'll look into it.

As for Gapps - yeah at some point when this goes official.
[Google TV General] kennkanniff:
Thanks. Is it already save to compile from source? Should I use TheMuppets or your github for vendor?
[Google TV General] hp420:
It's also worth noting, the update i installed was a TRUE OTA update, not sideloaded. I don't know if that makes a difference or not 🤷 I'm using the factory rom and I was prompted to install an update via popup notification.
[Google TV General] npjohnson:
The muppets, BUT you will need to pick a few commits:

https://review.lineageos.org/c/LineageOS/android_device_google_sabrina/+/314269

https://review.lineageos.org/c/LineageOS/android_device_amlogic_g12-common/+/314262

https://review.lineageos.org/c/LineageOS/android_device_amlogic_g12-common/+/314261

https://review.lineageos.org/#/c/315903

And because it's dynamic you won't be able to flash Gapps until we calculate their size, you'd either need to bake them in or not use them.
[Google TV General] kingsleycao:
Oh, I'm sorry.
[Google TV General] p0werpl:
Has anyone been able to disable encryption (say, by flashing the disabler zip)?
[Google TV General] npjohnson:
You should be able to adb root && adb remount after enabling it in dev settings, then adb shell and edit /vendor/etc/fstab.amlogic to remove the encryption options, reboot, fastboot -w, and boot up.

But idk why you would - it won't make things faster.
[Google TV General] p0werpl:
To be able to do a file-based backup of /data in twrp without worrying about encryption issues.
[Google TV General] npjohnson:
you have TWRP up and running?
[Google TV General] p0werpl:
Yes (without encryption). Some graphics issues (the display has weird colors and font), but it's functional.

About your suggestion to edit fstab.amlogic, aren't those partitions forced read-only? Have you been able to remount them rw?

Does wireless adb work in lineage? How?
[Google TV General] p0werpl:
Finally:
[Google TV General] npjohnson:
adb root && adb remount on lineage. on stock yeah, not possible. Nice! I can help with this if you want to add me to your TWRP device tree.

For colors it's pixel type, see the lineage tree.
[Google TV General] p0werpl:
I will PM the device tree. I will warn you there isn't much there. I just had enough to build and be able to backup (unencrypted) data using twrp commandline.

The bigger challenge was expanding /vendor (and other individual partitions in /super). Since they are dynamically created from super.img, mounting them rw is only a small part of the challenge. There's no space in vendor.img to make any changes to fstab (even if it can be mounted rw).

So, the first step is to expand the sizes of the individual partitions and then repack them into a super.img. I used this: https://xdaforums.com/t/script-android-10-universal-mount-system-read-write-r-w.4247311/. The issue here is that the script does everything on the device and there isn't enough space on /dev/block/data for the original super.img, the individual (vendor, system, product, and odm) partitions, and the repacked super.img. So, this will need a usb-c otg hub with a flash drive to store the original and repacked super images and only the intermediate files (individual partitions) will need to be stored on /data (for which there's enough space).

After this new super.img (with expanded vendor.img) is fastboot-flashed onto the device, one can remount /vendor rw and edit the fstab to delete the encryption flag. It's then a matter of doing a factory reset, setting everything up, and booting my dirty twrp to do a data backup in commandline.
[Google TV General] fixsony:
Hi, I need help box stock in recovery boot loop
[Google TV General] npjohnson:
as I went over with you on the other thread - follow the wiki and it will work - I just flashed a build an hour ago, it works fine.
[Google TV General] Big Dumb Object:
It's been a month and a half since we discussed the possibility of the tablet-flavored (non-TV) release. It seems that the number of complaints has decreased and the basic quality of builds has improved enough to bother you again in this regard: are there any positive changes in this direction, or it is not worth expecting to get a full-featured Android on dopinder? (I'm still following this thread carefully to make a buying decision.)
[Google TV General] npjohnson:
Eh, soon, sure.

I'll look into making a buildable target
[Google TV General] Ebonator:
Hiya! I cant seem to find the download links for the rom or recovery for Wade. Was this project taken down?
[Google TV General] shinji257:
I've been watching this closely and at the moment I'm not going to be flashing it (the broken hardware omx is a bit of a breaker at the moment) but due to more recent experiments I've done is adoptable storage on LineageOS for these targets enabled and is it stable?

I forced it on Android TV 10 (stock) and it seemed to "work" but it made the whole OS unstable while accessing the drive. It would reboot randomly while transferring data or sometimes when just enumerating the installed applications. Occasionally it would fail to properly mount in the device and while it was listed it also said that the drive wasn't present. Eventually I gave up and removed it for the time being.
[Google TV General] npjohnson:
New builds are going up tonight/tomorrow with October ASB

hardware OMX isn't that big a deal, all media still plays, and there's no "battery life" to worry about.

And yeah, adoptable storage is a bad idea, it isn't internal storage, and is at USB2 speeds - yeah, nah.
[Google TV General] R3s1du3:
I have a quick problem (hopefully) picked the Onn 4k Tv box last week got force updated on start running stock OS 10 QT 20210902 firmware 1.01.32 I'm hitting a wall OEM unlock doesn't show up and I cant fastboot option doesn't detect device. I feel like I might be missing something or they changed something and started locking out mods. I followed the instruction cant figure out what's wrong
[Google TV General] phony07:
First off, would like to start by thanking all the team for this project.

I just received my Onn device after two weeks of shipping :) and was ready to start the flashing.

But, first, October’s build are not yet ready I think (`An unknown error occurred`), and second, after reading the message of @R3s1du3, I’m hesitant to boot my device. The instructions clearly specify that:

> Warning: Before following these instructions please ensure that the device is on the latest Android 10 firmware.

but at the same time, it seems that connecting it to the internet would force an update that, a priori, disables OEM unlocking, at least option not visible in the Developer options.

What should I do?
[Google TV General] npjohnson:
I'm fairly certain the update doesn't block oem unlocking... worst case scenario bulkcmd commands are still available.

So, factory reset, set up (not on VPN or custom DNS), and go to dev settings, it's greyed out?

Hold off if you want but I struggle to believe they locked the bootloader forcibly.
[Google TV General] phony07:
Well, it works! Sure, "OEM unlock" does not appear in Developer settings, but I was able to unlock just fine. I also followed the instruction given by @criscodecookies in https://xdaforums.com/t/unofficial-...-g12-sm1-family-devices.4313743/post-85434073.

1. Settings > Privacy > Ads > Opt out of Ads Personalization ;

2. Disable automatic updates from Play Store ;

3. Enable "Developer options" and "USB debugging" ;

4. I recommend people to downgrade Android TV Home to version 2 :

adb install -d './com.google.android.tvlauncher_2.3.1-340788485-f-1010901809_minAPI26(nodpi)_apkmirror.com.apk'

5. Download and sideload F-Droid ;

6. Install Aurora Store from F-Droid app and spoof "Realme 5 Pro" within the app ;

7. Because Netflix TV is not yet supported by this ROM due to OMX, search and install Netflix from within Aurora Store ;

8. Generate and sideload an Android TV shortcut for the sideloaded Netflix using this generator :

Name: Netlfix Launcher
Package: com.netflix.mediaclient
Logo: https://play-lh.googleusercontent.com/TBRwjS_qfJCSj1m7zZB93FnpJM5fSpMA_wUlFDLxWAb45T9RmwBvQd5cWR5viJJOhkI=s180
Banner: https://play-lh.googleusercontent.com/ybf8V_yUFpSgW-rs1r7oigzSAWIQcSHCwHd2EYkxRD0KGz8CNBp0DN8T1Rz17KvJJSYl

9. Sideload MATVT and follow these instructions after installation to get a working virtual mouse (by default, long press on "mute button" will toggle between scroll and mouse mode) ;

That being said, I’ve not been able to login into Netflix using the remote :/
[Google TV General] npjohnson:
nice. I need to update the wiki anyway, I'll do it.
[Google TV General] phony07:
Can someone confirm that this OTG cable works with dopinder? I would like to power it AND use the usb port.
[Google TV General] R3s1du3:
It works for me but Amazon has terrible quality control so it should work for you
[Google TV General] bydo:
Any limitations to this version of Netflix? If it's software decoding, can it smoothly play 4K HDR?
[Google TV General] R3s1du3:
I finally got it working not sure what the issue is had the sideload rom 3 times before it stopped erroring out aside from the Netflix and HBOmax issues I noticed everything displays fairly well on a 4K monitor but if i switch over to a 1080p display things are fuzzy (text apps) and I cant adjust display settings in OS
[Google TV General] iPack:
@npjohnson I am unable to ADB into the Walmart Onn UHD Box (dopinder). When I enable Developer Options, it says " Developer options are not available for this user". I would like to get LineageOS on this box. Any help is appreciated. Thanks.
[Google TV General] eyetek:
I'm wanting to test this on one of my ADT-1 developer boxes. Which version should I use?
[Google TV General] tokoam:
cannot connect to 10.0.0.18:5555: No connection could be made because the target machine actively refused it. (10061) . This is the error I get when trying to connect to ADB wirelessly . I never get a prompt any reason why ?it never seems to want to connect . USB debugging is enabled I have tried to turn it off and on but no go .
[Google TV General] buzz86:
does this include like a desktop mode to do some basic computing, and internet browsing?
[Google TV General] npjohnson:
1080p
[Google TV General] npjohnson:
any android app will run.
[Google TV General] npjohnson:
the toggle for network debugging is broken we are trying to fix it right now
[Google TV General] npjohnson:
Yeah, 4k support for the UI is a WIP - scaling is hard without the proprietary algorithms.

You didn't wipe data coming from stock - or you've installed something that pissed the system off lol - if you reflash and factory reset it should work fine.

ADT-1? Molly? No, the best you can do is the PureNexus 6.0.1 build from 2015 I made - it's super old. If you have an ADT-3, you can use the deadpool build. 100% different devices. Not a single shared component.
[Google TV General] jpage4500:
This looks very interesting to me. I've got several Fire TV 4k sticks and was wondering how the Walmart onn device compares? I don't use Netflix - just Amazon Prime and YouTube TV apps primarily.. assuming they'd still work.

Honestly, the Fire TV stick does just about everything I need with 1 exception - supporting Chromecast. I also personally would love the idea of running Lineage instead of a Fire OS.

So, big question for me is -- is Chromecast receiving supported fully?