yashsingh1/xdaforums huggingface dataset:
[Google TV General] NEDruid:
Noob here. Having trouble with the install.

I believe I have the Onn unlocked ok and have the new Recovery img loaded.

When I try to push the new OS down using ADB I get this:

E: failed to verify whole-file signature

Update package verification took 38.9 s (result 1).

E:Signature verification failed

E: error 21

Install from ADB completed with status 2.

Installation aborted.

When I restart the device, it just loads the stock OS as if nothing happened.

I'm using the latest Lineage zip file on the downloads page for the Onn device.

Onn device has Firmware 1.01.32

Version 10

Android security patch level August5. 2021

Build onn-user 10 QT 20210902 release-keys

Any idea what I'm doing wrong?
[Google TV General] npjohnson:
you're not in lineage recovery - you're in the stock one.
[Google TV General] rczrider:
As npjohnson pointed out, you're in such recovery, not LineageOS. However, it can be a little tricky. Check out this post.
[Google TV General] NEDruid:
That was it. The instructions in the post from rczrider worked fine. Thanks for the help from both of you.
[Google TV General] itsfitts:
Hey everyone!

First, let me say I was surprised and excited to see development on these super budget friendly ATV devices! Brings so much more value to the purchase.

I actually don't own the Onn 4k box, I had read about the upcoming device and purchased the cheaper 2k stick the day it became available in my local walmart. I believe it's codenamed 'stephen'.

My question (which i googled fervently before asking) is whether this is applicable to my device as well? I saw somewhere that this stick is using an Amlogic S805Y SoC but i may be wrong there.

Clarification would be GREATLY appreciated so i can decide whether I'm buying the 4k box, which is now only $20 at wally-world.

THANKS in advance!!!
[Google TV General] npjohnson:
No, the stock isn't compatible. AFAIK is s905x, which isn't supported by these builds.

Nor is it trivial to support.
[Google TV General] JoshuaDoes:
I know I'm extremely late but I finally got around to testing a build with hardware OMX, seems like amlogic's decoder is just outright not allowed to access /dev/v4lvideo (even after making sure selinux was permissive and that there's at least r/w on that device for everyone) and I can't find any other errors prior to it. Made sure v4lvideo was enabled in the kernel config and all too (obvs the device wouldn't be there if it wasn't enabled), so I'm not sure yet
[Google TV General] Big Dumb Object:
I still don't have the device to test this my own and very wonder if the Magisk root is preserved during OTA like in the good old days before Android 8.0, or if we want to enjoy the benefits of root, we must be prepared to patch the boot.img manually with every OS update? Has anyone checked?
[Google TV General] JoshuaDoes:
Magisk has support for LineageOS's init.d extension, which allows Magisk to patch the new boot image in a post-install script that runs as soon as the OTA finishes installing. Any LineageOS ROM will have it, but other custom ROMs require init.d support (which can even be solved with the init.d injector Magisk module!)
[Google TV General] rczrider:
Are you referring to OTA for LineageOS or OTA for stock (after bootloader unlock and root with Magisk)?

Another user answered for the former, so I'll answer for the latter (for dopinder, the ONN device): yes, with each OTA you will need to re-root with Magisk. This can be done either by flashing the Magisk APK (replace the .apk extension with .zip) by booting (not flashing) Lineage recovery (and requires a micro USB OTG Y cable so you can use a keyboard, as the hardware button won't work), or by extracting boot.img from the factory image zip and patching using Magisk once booted.

AFAIK, the second way doesn't really work right now because (again, AFAIK) no one has captured the OTA file for boot.img to be extracted. You can't set up a new ONN device without completing the setup wizard, which downloads the OTA before completion. Since you can't enable USB debugging (for doing a logcat and capturing the OTA URL) until after setup completes, it would take someone whose device is setup, has not received the OTA, and can do a logcat while the device updates in order to grab the OTA.

That leaves us with the first option of using a micro USB OTG Y-cable and Lineage recovery.

Something I don't know (which perhaps @npjohnson can comment on) is whether a stock OTA can re-lock the bootloader and and either brick the device (due to modifications that were done using root) or at the very least prevent us from unlocking again.
[Google TV General] Big Dumb Object:
The first one.

Correct me if I'm wrong, but all modern devices with A-only and A/B partition scheme tend to rewrite the volumes that are essential to preserving Magisk during OTA. My Xiaomi Mix 2S (polaris) acts exactly that way, and it is very annoying. Here is a note in the official Magisk guide: https://topjohnwu.github.io/Magisk/ota.html
[Google TV General] JoshuaDoes:
You're right, but that's the purpose of the init.d extension. When Magisk patches a boot image and detects init.d support, it installs its init.d script and magiskboot to the boot image's ramdisk so that access to /data isn't needed to repatch after the OTA. And because Lineage Recovery also has init.d support, it knows to copy out the init.d scripts before replacing the boot image with the new unpatched one.
[Google TV General] Big Dumb Object:
This is strange and contradicts my own experience, since I only found out about this issue because my polaris (A-only device), which has been running solely on official LineageOS or LOS for MicroG since the first day, inevitably removes root after OTA, while the presence of init.d support is confirmed by AFWall+ firewall app.

So, if anyone has any real success updating the flashed dopinder/sabrina/wade with Magisk — that would be the best answer to my query.
[Google TV General] JoshuaDoes:
I can't say why that's the case for you, but it should be working on those devices and sounds more like a bug. Regardless, I forgot to directly state it but it does successfully repatch the boot image with Magisk when I run an OTA on my dopinder box (one of the first things I tested when I bought it), both with np's builds as well as my own local builds.
[Google TV General] Big Dumb Object:
Thank you! It seems like a fairly unproblematic device. Can't wait for the work to be finished so I can make the purchase with confidence (want to buy a batch of dopinders at once for all my home screens).
[Google TV General] npjohnson:
So, per device it's different:

deadpool/dopinder/wade: you can't update while you're rooted or have any sort of modification to system, it breaks. Breaks AVB, now. If you just have a magisk patched boot image, that should be fine I think, Magisk has OTA handling.

Sabrina: Don't update anything ever, this device will re-lock itself and probably brick itself if you do, once the exploit is run, you're unlocked and should leave it. As such, you can flash back to stock like the thread details, but beyond that, which will mean you can never unlock again, don't do anything like that.
[Google TV General] rczrider:
Is this in reference to LineageOS or stock? I assume the former ("breaks AVB") refers to LineageOS, while the latter ("Magisk patched boot image") refers to stock?

Unrelated: thank you for being so active in this thread, and for all the work you and others do to bring LineageOS to those who mostly just ask dumb questions or complain :P
[Google TV General] npjohnson:
All of that was in reference to stock.

Lineage can be safely updated after pretty much any modification as it flashes a full OTA, and disables AVB. Will persist magisk through OTAs
[Google TV General] Broman400:
This might be off topic but does anyone know if it’s possible to get the Fire Stick remote microphone to work with any of the listed Android TVs. All the buttons work, but the microphone doesn’t detect any voice or sound
[Google TV General] lessslanted:
In case this helps anyone, this is how I've been getting USB debugging on without a google account and without updates.

Turn device on...

-connect remote control

-select language

-skip phone setup

-hit settings key on remote "cog-wheel"

-go to "apps" > "see all apps"

-select "update" and force stop

-select "show system apps"

-select "dynamic system updates" and force stop

-select and disable (or force stop):

*(it probably doesn't need to be all of these but I got sick and tired of narrowing it down)

google

google one time init

google partner setup

google play services

google services framework

market feedback agent

second screen setup auth bridge

settings suggestions

setup wizard (force stop)

setupcustomizer

-back out, back out, back out, until...

-setup remote again

-select language again

!!! - Pay attention directly after the next step. If you see anything other than "successfully connected to internet" then you missed something and it's going to download the update - hit settings button and wifi off

-sign in to network (It should say "checking connection" "successfully connected to internet")

-as soon as you see the screen with a black background and "updating apps" message

-hit settings button on remote

-turn off WiFi

Now developer options can be enabled and USB debugging turned on.
[Google TV General] npjohnson:
Nope - proprietary software receiver app/Audio HAL tie-ins.

Don't do this... You want the update. On dopinder/wade/deadpool you should absolutely take the OTA it recommends before starting.
[Google TV General] ferbulous:
Hi guys, I'm using walmart onn 4k with sony receiver.

I can use the onn remote to control the receiver volume but it failed to power on/off the receiver (tried all 9 attempts but none worked during power setup)

I had no problems to control both volume/power with my firetv stick 4k.

Is there a way I can configure the remote to learn IR for the power control?
[Google TV General] UnionBlvd:
Not on wade, at least not anymore. As someone else mentioned, the latest Dynalink update disables unlocking, and even after using the recovery tool to flash the older factory ROM I could no longer unlock mine.
[Google TV General] npjohnson:
I'm really doubtful here.

Especially considering you don't even need to toggle the switch, and you can always use brin mode to unlock by hand... I just really don't believe that.
[Google TV General] Big Dumb Object:
It's alarming! If the Walmart has declared war on this thread, we may soon be left with no cheap options for purchase. Can you clarify the release date of the nasty update? Apparently, all Dynalinks (and possibly Onns) manufactured later that date can be left in the store with calm. (But confirmation still needed.)
[Google TV General] UnionBlvd:
What is brin mode? I cannot find a reference to this anywhere else.
[Google TV General] npjohnson:
* burn mode.
[Google TV General] UnionBlvd:
I think the update was released in late Sep, I just got it last week after returning my Dynalink to stock. I had flashed a self-built Lineage image and the device wouldn't boot, flashing it back to stock was the only thing that got it going again.
[Google TV General] npjohnson:
Okay, so if you can flash things, the bootloader is already unlocked, and as I suspected, that's not the worry.

Self built lineage wouldn't boot until about a month ago, as selinux policy wasn't done.
[Google TV General] npjohnson:
Again, please stop spreading this, I just updated mine, and it is still unlockable
[Google TV General] UnionBlvd:
I could flash things prior to the latest Dynalink OTA - I cannot flash anything now. I'm setting up my PC with the burn mode tools as we speak, will report back.
[Google TV General] npjohnson:
I keep hearing that "Unlocking is disabled" - can someone please send me the failure command of them trying to do so?
[Google TV General] UnionBlvd:
FAILED (remote: 'unlock_ability is 0, can not unlock')

fastboot: error: Command failed

This is after booting into the libusb-WorldCup mode, then using the Amlogic bootloader console to init fastboot, then issuing fastboot flashing unlock.

After some trial and error I got the burn tool to recognize my device (had to use version 2.1.7.1, the latest version would not work) - but it looks like it's meant for installing complete .img packages, how can I unlock the device with this without bricking it?
[Google TV General] npjohnson:
Did they put a toggle in Dev Settings?

Try this from bootloader mode

fastboot oem 'setenv lock 10101000;save'

fastboot reboot bootloader

fastboot flashing unlock
[Google TV General] UnionBlvd:
That did the trick (y) strangely I could not get the Lineage recovery to stick at first, even after rebooting to confirm the data wipe I kept getting back to the stock recovery. Only by going into stock recovery, then fastboot, then flashing the Lineage recovery was I able to get the Lineage recovery going.

Successfully sideloaded the 11/18 build and all looks good so far.
[Google TV General] npjohnson:
Okay, so this is fun, I know exactly what they did here, and it's not intentional, I reported a bug to the underlying ODM sometime ago, and have had no response, looks like they fixed part of it!

I'll end up posting a write-up on our work blog at some point. I'll link it here, but for now, that method will work to unlock all of these boxes except for Sabrina.
[Google TV General] hp420:
I'm sure you saw, but I just want to mention TWRP has just updated for android 11 😊
[Google TV General] npjohnson:
Cool!

TBH still not gonna support it here, especially not on an ATV device with no good way to navigate it.
[Google TV General] hp420:
well that's a kick in the balls. why don't you just tell me santa doesn't exist while you're at it 🤷😊
[Google TV General] retyre:
The biggest challenge with TWRP is encryption. If you're willing to remove encryption on your device (I'm not sure a $20 TV dongle is deserving of encryption, TBH), . BTW, removing encryption will require a factory reset (of course, backup your apps+data with Swift Backup and copy everything from /sdcard to USB or PC before reset; you will have to set up your device from scratch, though).

If you're ready to do the above, post here and we can take this to PM.
[Google TV General] Averix:
Ok, I've tried this and about everything else on here. I seem to have gotten the ONN unlocked, I can fastboot and flash the lineage recovery image. No matter what order I do it in or using the stock recovery first, I cannot get the lineage recovery to stick. When I boot off of an external lineage recovery file, it appears, but not sure that gets me anywhere without an OTG hub and keyboard. Any advice?

EDIT: Nevermind. Followed this sequence that was way earlier in this thread. Worked to get things up and running!

#after unlocking and re-enabling USB debug

adb reboot bootloader

fastboot flash recovery lineage-18.1-20210805-recovery-dopinder.img

fastboot boot lineage-18.1-20210805-recovery-dopinder.img

adb reboot sideload

adb sideload lineage-18.1-20210805-UNOFFICIAL-dopinder.zip

# if successful then load bootloader and factory reset

adb reboot bootloader

fastboot -w

fastboot reboot
[Google TV General] hp420:
i don't have a setup capable of a build environment unfortunately...but thank you for offering to help!! 😊
[Google TV General] retyre:
No one's telling you to build, yo:

Well, one can only offer.
[Google TV General] npjohnson:
If you're looking to distribute, please start your own thread.

Also, nice work!
[Google TV General] zaxiby:
Referring to an ONN. firmware *0902.

Does installing LineageOS allow me to regain write privileges to external usb storage? I'm not talking about the adopted storage trick. I want to write to a sd card for DVR purposes. After rooting with Magisk I'm able to write to the card (and anywhere else) through ADB. FX explorer complains about no support for the "Android Storage Access Framework".

Yeah I'm aware that external write privileges were stolen after the last update and if there's a work around, damned if I can find it. No offence to the LineageOS fans, but otherwise I'm happy with stock.
[Google TV General] hp420:
well now we're talking!!! ☺️ i can ditch all my stuff and start from scratch on the fly, no big deal. everything's just a couple apps since storage is so lacking. i don't even need any of the good widevine stuff for netflix, hulu, etc. drop me a pm with some details please, and i'll fire this sucker up.

thank you!!!
[Google TV General] Averix:
Random question. Is there anyway to skip the Google sign in during set up? We used to be able to do that on older Android TV versions, but at some point Google started forcing users to log in. I'm wondering if there's something in this build that can be set or changed to disable that and go back to an account less setup.
[Google TV General] npjohnson:
not if you use GApps sadly.
[Google TV General] Averix:
I figured something like that would be the case. Thanks.
[Google TV General] Big Dumb Object:
It seems that npjohnson will not refuse to provide us a tablet version of this ROM eventually, which will be able to work without GApps and becomes the basis for the separate MicroG builds (or give us the opportunity to install GApps/MicroG with our own hands). Isn't that what you were looking for?
[Google TV General] npjohnson:
There will be ATV Gapps less builds as well. Just not while we figure out OMX.

And yeah tablet builds at some point.
[Google TV General] Big Dumb Object:
Before this thread was started, I considered investing in building a DIY ATV box with Raspberry Pi 4, but abandoned this idea because of a similar issue: the developers of android builds for Pi4 for years now can't get the HW video decoder to work. Looks like some kind of universal scourge...

Does this also apply to Odroid C4? Because LineageS for C4 and other Odroid boards has existed for a long time, so maybe its author knows the solution.
[Google TV General] npjohnson:
I'm in contact with him.

It's broken there too, and due to newer kernel, theirs can't ever work.

Ours has a chance but us broken as hell lol
[Google TV General] lordsolrac2:
Hello. I'm a bit stuck with a Dynalink (wade). I've been trying to flash the Lineage Recover (20211118) but it always remains on stock; even after reflashing stock (downgrading from Aug'21 update to Feb'21). I can boot into the recovery (via fastboot boot recover.img) but I get stuck on sideloading, as adb stops working for me when I go to Update->Update from ADB. So I'm not sure if I'm doing something wrong

I'm following the instructions as-is, except that fastboot reboot recovery isn't working for me (so I just reboot to system, enable adb and continue)

Edit:: After Fiddling around a few times; I managed to get it installed. -- Very unfortunate to deal with google again
[Google TV General] vodik7:
Anyone know where UART pins on Onn Uhd (dopinder) board?
[Google TV General] npjohnson:
Yeah, 4 small pins next to the micro usb port. middle two are what you want.
[Google TV General] retyre:
Details here: link

I didn't want to get in there more than once, so I did this:
[Google TV General] Big Dumb Object:
Could you guys please share your thoughts on the potential workability of such a solution with dopinder and others? It would be nice to use it in conjunction with a cheap USB splitter to overcome the lack of physical ports (especially the wired Internet), and I especially like the lack of requirement for a dedicated power here, but I can't know how it would work and which option (USB 2.0 or 3.0) to prefer for greatest compatibility.
[Google TV General] vandyman:
I saw this (below) from feabay for $7.

I am thinking this should work, because it was made for the fire tv crap.
[Google TV General] fathergweedo:
3-pack of similar on Amazon for the same price. One is enough to plug in a keyboard to navigate the Lineage recovery, and I didn't try to daisy-chain a 2nd one for other things.
[Google TV General] vandyman:
Yeah, my thinking is plugging in the power y adapter that I post above.

Then plug in a hub from there.
[Google TV General] fathergweedo:
This one from Amazon works for me with ethernet and a keyboard. Haven't added a flash drive as of yet tho I suspect it will work.
[Google TV General] Big Dumb Object:
Nice! I think they are very similar internally. Is your unit exactly the USB 2.0 one?
[Google TV General] fathergweedo:
Yes, no real need for USB3 on this IMO.
[Google TV General] CriticalComposer:
I'm having issues launching Disney+ and HBO Max videos on my Onn. Is this is user problem or do these two services fall under the OMX umbrella? The OP only mentions Netflix specifically so I thought I was good. I haven't tried other services yet as I just installed Lineage.
[Google TV General] vandyman:
They are part of the Amazon cloud storage service.

Amazon cloud service was down yesterday. I really do not know if it is back yet as I do not use Disney or HBO.

Try a rebooting..

Just throwing this out there.
[Google TV General] CriticalComposer:
Thanks for the reply but AWS isn't the issue. I just tried a few services on my PC without any issues. However on my Onn 4K running Lineage I tried AMC+, Disney+, HBO Max, Hulu, Pluto TV, KODI, and Amazon Prime Video. I could navigate all of these just fine, it was only when selected something to stream did something happen. AMC, HBO, and Hulu threw up error codes, Amazon Prime locked up the whole device, Disney would restart the app. Pluto and KODI played just fine. KODI is local DRM-free stuff so that makes sense and Pluto I don't *think* uses DRM which would explain why it works.

I guess I'll be returning to stock unless the ETA on the OMX issue is relatively soon. I could deal with a paperweight for another month tops. But I doubt the devs will announce an ETA on the fix, which is probably the smart move to make for them.
[Google TV General] fathergweedo:
Yet another OT post here (sorry) but I am curious about this in developer options. Any idea?
[Google TV General] Mogul345:
Just wondering - does this ROM remap the keyboard such that backspace is no longer mapped to the hardware back button on the Onn Box?
[Google TV General] zyxmon:
It looks like a problem with Linage. Stock firmware does not have these problems.
[Google TV General] npjohnson:
we use the same keylayout as stock.
[Google TV General] npjohnson:
Yeah it's a hardware OMX issue - and I have no leads on OMX atm.
[Google TV General] Big Dumb Object:
Could you please explain if the described problematic behavior only applies to DRM-protected content, or any other unprotected H.264/H.265 stuff can also suffer in some way?
[Google TV General] npjohnson:
All hardware codecs (.amlogic or .secure codecs) fails with a shared memory error.

Not just DRM anything that tries to use it
[Google TV General] castone123:
I think i am rooted but i cannot delete apps in system apps with root file manager. I am on stock, never flash lineageos rom just flash magisk because it is still beta. How do i go about deleting system apps?
[Google TV General] vodik7:
dopinder... any way to exit from this mode? ubt sees it, but there is no firmware
[Google TV General] Big Dumb Object:
A noobish question, but how do manufacturers meet this challenge?

Perhaps your /system is mounted as read-only. Sometimes I use the TWRP's built-in file manager for such tasks. (TWRP was discussed a few pages earlier.)
[Google TV General] CriticalComposer:
The FAQS says to go back to stock to grab the stock image and "flash it just like you would for a Pixel device." I assume that means using the flash_all.sh but ideally I think all I need to do is flash the system.img and wipe userdata/cache. However the Onn 4K stock image doesn't have a system.img. There is a large super.img but I'm not sure where I should flash that. I doubt "fastboot flash system super.img" is the way to go about it. I also don't know about the dtb and dtbo files. I've never seen those in a stock image before and don't know what they do. Would I need to flash these as well or should super/system be good enough?

I guess my question is: what should I be flashing from the stock zip and where should I be flashing them to in order to return to stock on the Onn 4K, possibly without giving up the custom recovery or unlocked bootloader?