yashsingh1/xdaforums huggingface dataset:
[Fire TV Original Android Development] Pro-me3us:
To stop Bootless Magisk, uncheck the 'Execute on Boot' box in the Launcher Manager ADB command that you created

Then reboot your device. Now Bootless Magisk will no longer auto-start with FireOS.

The thread above says the NowTV root check will fail if MagiskManager is installed, even if the device is not rooted. So you'll probably need to disable MagiskManager too.

pm disable-user com.topjohnwu.magisk

To make the process more convenient, create 2 new Launcher Manager commands, one that disables MagiskManager and a second that enables it.

pm enable com.topjohnwu.magisk

When you want to use Magisk Manager, first tap on the enable Magisk command in Launcher Manager, then tap on the Start Magisk command to manually start it. You will still want to start Magisk soon after (60-90sec) a fresh reboot, to increase the chance of raven_shrinker successfully granting root to the start.sh script.

Since you will be manually starting Magisk from Launcher Manager, you can remove the 30sec pause

sleep 30 && /data/local/tmp/start.sh ---> /data/local/tmp/start.sh

If you only want occasional ADB root access, you don't even need Magisk, run raven_shrinker from the adb command line.

raven:/ /data/local/tmp/raven_shrinker
[Fire TV Original Android Development] votkalivirgul:
Sorry but I actually used "Bootloader unlock" method. Can I use same method for this?

edit:

Did disable Magisk but no luck.
[Fire TV Original Android Development] Pro-me3us:
Oh the Bootloader unlock method is a lot different, you have a fully functional version of Magisk. Disabling Magisk Manager won't be enough, the Magisk process still runs in the background independent of the Manager.

Rather than unroot the Cube you may be able to beat root detection. Try installing this Magisk module, universal safetynet fix. Be sure to enable Zygisk in MagiskManager settings, and reboot. FireOS doesn't use safetynet, but maybe one of the fixes in the module will help.

Did you download TVNow from the Amazon App Store or sideload it? If the safetynet module doesn't work, send me the TVNow apk.
[Fire TV Original Android Development] votkalivirgul:
universal safetynet fix doesn't work.

I download via Amazon app store, you can find it below:

com.bskyb.nowtv.beta--nowtv-base.apk
[Fire TV Original Android Development] Pro-me3us:
Thanks, installing & opening the app I see that it force closes. I'm assuming this is what you are seeing, and indicating is root detection?

EDIT: I'm not sure that you need Shamiko. If you use the MagiskManager "hide the Magisk app" option, AND add NowTV to the Denylist, and enable Enforce DenyList, this was enough to let me view trailers. You can go ahead and follow the steps below if this doesn't work. Some apps have more sophisticated root detection, where Shamiko is actually required.

I'm able to bypass the force quitting, and browse the app by doing the following:

1) The NowTV app has permission to see what other apps are installed, so MagiskManager needs to be renamed.

MagiskManager / Settings / Hide the Magisk app

2) NowTV is able to detect Magisk processes, so the app needs to be isolated. The best way to do this is use the Shamiko Zygisk module for Magisk. Shamiko v0.6 is compatible with Magisk v25.2 which is probably what you have installed (?), so use that version.

3) To use Shamiko,

MagiskManager / Settings / enable Zygisk

MagiskManager / Settings / Configure DenyList / Check NowTV (both processes)

** Don't enable Enforce DenyList, Shamiko won't work if it's enabled. Shamiko will enforce

4) Reboot your Cube so that the Zygisk and Shamiko installation is complete. Clear the data and cache for NowTV. And open NowTV
[Fire TV Original Android Development] votkalivirgul:
I was able to hide it when I upgraded the magisk v26.1. it may be a guide for those who are experiencing the same thing want to run Now tv. thanks for your detailed interest.
[Fire TV Original Android Development] Pro-me3us:
Regarding updating Magisk, stick to the stable line

MagiskManager / Settings / Update Channel / Stable

The bootloader unlock install puts everyone on canary (pre-beta) updates by default. The pre-beta builds are risky, especially without DFU recovery.

It's best to check here before updating Magisk, to make sure that there are no major bugs for the Cube.

v26.100 is fine, I've been using it for a couple months.
[Fire TV Original Android Development] cityhunter_1919_xyz:
Recently, I got a cube(2nd) at a flea market, and I was lucky enough to install TWRP because the OS version was PS7292.

However, 5GHz of wifi is unstable and communication speed does not come out.

I purchased a new cube(2nd) in May of this year, but the communication speed does not come out with 5GHz of wifi as well. The other 2K(3rd) and 4K/4K-max I'm using have 300Mbps, but only the cube is unstable at 5Mbps to 50Mbps.

Is this a specification(problem) in cube(2nd)?
[Fire TV Original Android Development] Pro-me3us:
How are you testing the speed?

If I do an FTP transfer to test sustained transfer rate with a 2GB file on a local network

Upload

WiFi: ~64Mbps, constant throughout the entire transfer

Wired (gigabit adpater): ~250Mbps, constant throughout the entire transfer

**Unsure if device that was downloading the file can write faster than 32MB/s --250Mbps

Download

WiFi: ~64Mbps, fluctuates

Wired: ~96Mbps, fluctuates

**The eMMC Cube write speed is not great. Direct USB to eMMC write speed was 152Mbps (19MB/s)

** Cube eMMC read speed is 150MB/s (tested with hdparm)

If I stream video content locally with Plex, and check nerd stats

WiFi: ~120-140Mbps peak

Wired: ~350Mbps peak

**My device is normally wired, it's position might not be ideal for WiFi, being next to speaker and under a TV

Streaming is going produce higher speeds since eMMC writing isn't involved. Are you having video playback issues with high bitrate (70-90Mbps) video?

But yeah, WiFi is not going to compete with ethernet.

I'd be curious if the 4k Max could sustain a 300Mbps transfer for over 1min. That type of constant speed will make a device hot, likely thermal throttle, especially a device with a cheap passive heat sink.
[Fire TV Original Android Development] cityhunter_1919_xyz:
Sorry for the late reply because I was traveling, but I tested the communication speed using the Launch Network Advisor in the Developer Tools Menu (5.01) and the Fast.com site.

I don't know the exact cause, but today I was messing around with cube and changed the system language from JP to English (US), and the communication speed came out at 5GHz of wifi. (100-150Mbps)

After that, even if the language is returned to JP again, the communication speed of 5GHz has not slowed down.
[Fire TV Original Android Development] Pro-me3us:
@cityhunter_1919_xyz That's odd, but at least it's faster for now. I haven't tried FireOS's builtin speed test yet, I forgot it was added. I trust Analiti in the App Store. WiFi speeds are definitely nowhere near the theoretical limits. As long as people are getting at least 100-200Mbps, most probably don't notice.
[Fire TV Original Android Development] fire_cuber:
Hello I would also like to root my Cube.

I am still on PS7229/1850N

As far as I have read the method would be advisable

Bootloader unlock, install TWRP & Magisk (PS7292/2984 or older)

I have now reached point 4.

Open a root shell and run the install_root.sh script

Code:

adb shell

/data/local/tmp/raven_shrinker

/data/local/tmp/install_root.sh

I get at the first step

/data/local/tmp/raven_shrinker

Thereby I get the message, unable to match build id : Success

raven:/ $ /data/local/tmp/raven_shrinker

fingerprint: Amazon/raven/raven:7.0/PS7229/1850N:user/amz-p,release-keys

/data/local/tmp/raven_shrinker: unable to match build id

: Success

1|raven:/ $

What does it mean?

Can I move on to the next step?

/data/local/tmp/install_root.sh

I am a bit cautious and prefer to ask before I scrap my cube.
[Fire TV Original Android Development] Pro-me3us:
I have to make an entry for every firmware that raven_shrinker will run on. I don't have an entry for PS7229/1850, but the required addresses are likely the same as PS7229/1853. I've added a new entry to allow it to run on PS7229/1850, try the attached version below.

Assuming this opens a root shell, can you make me a copy of your boot.img for the archives before you proceed to the root_install script. Run this after gaining root with raven_shrinker:

raven:/ # dd if=/dev/block/boot of=/sdcard/download/boot_7229-1850.img

That will copy the boot.img to your downloads folder, and name it boot_7229-1850.img
[Fire TV Original Android Development] fire_cuber:
Thank you very much for your effort. :)

I will test it in a moment.

Yes, of course I'll make you a copy of my boot.img for your archives.

That's the least I can do for you in return. ;)
[Fire TV Original Android Development] fire_cuber:
OK, that seems to have worked with the new file. (y)

Attached is the copy boot_7229-1850.img.

Everything went through cleanly.

My Cube2 is now root and I can finally kill the ole startup sound in the boot animation.

Thank you for your work. 👏
[Fire TV Original Android Development] Pro-me3us:
Great, thank you!

That's a bit of work for a simple thing :D

dm-verity was disabled with the install_root script, but I still like to do everything the Magisk way, avoiding direct edits to the system partition.

You can add your new bootanimation.zip to this directory, and it will appear as a Magisk module in MagiskManager that you can toggle off and on. This will automatically replace the stock bootanimation/audio.

raven:/ # /data/adb/modules/bootanimation/system/media/bootanimation.zip
[Fire TV Original Android Development] fire_cuber:
The changed bootanimation doesn't really work.

I have loaded the orignale from the Cube and replaced only the audio.wav by a silent audio.wav like it also already on my Firetv4kStick have done.

Then I pushed it via ADB /data/adb/modules/bootanimation/system/media/bootanimation.zip

There is no annoying sound anymore, but only the first and the last image of the whole animation is shown at the end.

This is very strange, it looks like the Magisk module does not manage to play.

[EDIT]

Error found. :)

Was zipped with wrong compression. bootanimation files need to be zipped using compression method as 'store', not 'normal
[Fire TV Original Android Development] Pro-me3us:
I've made added a post for booting CoreELEC on unlocked 2nd gen Cubes here.

CoreELEC is a minimal Linux OS that only runs Kodi. This boots and runs 100% from a USB stick, and will not affect FireOS at all. Simply plug the USB drive into your Cube, reboot, and it will boot from the USB stick. Shutdown CoreELEC when you are done, unplug the USB stick, press the 'action' button on the Cube and it will boot back to FireOS.

A few of the benefits include lossless audio passthrough support for TrueHD/DTS-MA etc. OS only uses about 400-500MB of the 2GB available.

This is still a beta in testing. Looking for feedback on what is an isn't working
[Fire TV Original Android Development] cityhunter_1919_xyz:
It's a 2nd gen cube and for about a minute after starting the silk browser, the buttons become unresponsive as if frozen.

If I leave it alone for a while it works fine, but is there any solution?

Also, I can't get tasker to trigger logcat to trigger a task, is this a specification?
[Fire TV Original Android Development] Pro-me3us:
I haven't witnessed either of these issues myself.

To help diagnose Silk, open logcat (raven:/ $ logcat) then open Silk and look for any repeating errors or messages.

I'd also check top (raven:/ $ top) to see if the CPU's are being bogged down by any specific processes. I use top whenever making system changes, like disabling a bunch of apps, to make sure that there aren't any obvious problems. I've seen some issues where one app will repeatedly try to communicate with a disabled app in a loop, causing the Cube to slow down. Or when manually installing a new version of something like Alexa on an older FireOS firmware, Alexa will slow down the system trying to communicate with services that don't exist on the older firmware.

For Tasker, do you mean you have identified an event in logcat through Tasker, that you are trying to use as a trigger, but when the event occurs Tasker doesn't react? What's the trigger?
[Fire TV Original Android Development] cityhunter_1919_xyz:
Sorry for the late reply.

Even when I looked at the logcat, I couldn't really understand it due to my lack of skill.

There were times when the speed on Wi-Fi 5GHz was slow due to poor compatibility with the router, so I tried to open a speed test site when I started Silk browser to check, but that seems to be the cause.

When I changed to another site at startup, the freeze did not occur.

When I press the home button on xposed edge, it is set to always force close the foreground and background apps, and all apps are refreshed every time.

Regarding tasker, it can be used in other Fire TV series, but only in Cube (2nd gen), tasks triggered by logcat are not executed.
[Fire TV Original Android Development] Pro-me3us:
You got 1 of 2 problems solved in that case :)

The kill foreground/background commands leave a lot of processes open, and some apps will reopen within seconds after they are force stopped. That's why I use top, it shows everything that is running, as well as how much CPU & RAM it's using up.

There could be a process that is malfunctioning, running in the background 24-7, constantly using up 200-300% of the CPU, and it may not be immediately be noticeable to the user. But the Cube would run 10-20C hotter, and seem sluggish when performing other tasks that tax the CPU.

You can also check the SOC temperature. If the idle temp is over 45-50C it's an indicator of a problem

raven:/ # cat /sys/class/thermal/thermal_zone0/temp

What's the Tasker logcat trigger and task? Have you given the app all the required permissions? I have used logcat dependent triggers on raven previously.
[Fire TV Original Android Development] Pro-me3us:
Neil has added a few more DFU HDMI dongles to Tindie. This can be used on any 2nd gen Cube that still has an intact DFU fuse, to recover from ANY bricked situation.

The DFU fuse is intact on PS7242 or older firmware, or any devices that were on these older firmware when they were rooted.

The DFU fuse was burned on any devices that received an OTA firmware PS7273 or newer directly from Amazon.

PLEASE DON'T buy more than one, or buy one if the DFU fuse was burned on your device (the dongle is useless). This is a $5 insurance policy on your 2nd gen Cube.
[Fire TV Original Android Development] boxster03:
@Pro-me3us Thank you for all your help. I am trying to figure out what is causing buffering that happens at times during streaming on my Cube2. Sometimes it just freezes after streaming well for about say 45 minutes. Then only way I could resolve is getting out of the app/player and begin again and fast-forward.

First I thought it may be a memory issue. I added a flash drive allocating 50% to internal and 50% to external storage and moved a bunch of apps to the flash drive. It increased Cube2 internal storage from about 1GB to 3.5GB. Now I think this is only for storage space and doesn't effect the ram memory. Is ram in Cube2 separate from this and like 2GB?

I checked temperature when using an app and seems normal cool 40.7.

It's on wi-fi and checked analiti speed test and only got 60 down / 23 up Mbps. Is seems too low...? I'm paying for supposedly 300 Mbps internet service.

Do I have to do a ethernet wire connection to increase speed? to eliminate buffering during streaming.

When I ran "top", it showed mem 2037368k ; 1933108k used : is that a lot used with 1 app? Tasks 2 running

I also have the fast task killer app which I run before an app and it releases about 250-450MB memory to available about 1GB. Is that a good app? Is there an alternative option to kill unnecessary memory hogs?

My apologies for the long post. Thanks again for everything in this forum.
[Fire TV Original Android Development] Pro-me3us:
Is the buffering limited to one, or more apps? Which apps? What FireOS version are you on?

The Cube can handle significantly more than 60Mbps down / 23 Mbps up over WiFi. There are a number of variables involved. Analiti has an option to test the network speed between two devices within your home network. Install Analiti on a second Android device, ethernet wired if possible. Then you can test the Cube's WiFi performance without any performance limitations that might be present with your ISP. If you are still only getting 60Mbps, try moving the Cube around, away from other electronic devices to see if you can get any better speeds. 60Mbps is still plenty fine, and above UHD streams. 4k HDR streams from Netflix and AppleTV max out at 25-30Mbps.

Only having 1GB of internal storage isn't great, internal storage is still needed to caching. 3.5GB should be good. The 2GB of RAM is completely separate of the 16GB of eMMC storage space. I'm not a believer in android app killers, they are snake oil :LOL:. Android is not Windows, it manages RAM automatically, and will close background apps when more RAM is needed. The only people promoting app killers these days are people on YouTube trying to sell crap or get views. In some circumstances these apps can hurt system performance and stability.
[Fire TV Original Android Development] boxster03:
@Pro-me3us I always learn something new from this thread - didn't know until now that app killers are unnecessary for Android and RAM is automatically managed. I'm not going to bother with fast task killer app anymore.

I now have about 4GB of free internal space and also moved the cube a little to a higher shelf and so far haven't experienced buffering for the short span. I'll have to get a Ethernet hub for a wired connection to do the WiFi speed test. I downloaded Analiti app on to an Android phone. Still trying to figure out how to test phone to cube WiFi speed??

In the meantime I did a WiFi speed test from the Android phone (using a different WiFi speed test app) at different locations in the room and at the cube location was showing >200 speeds.

The Cube2 is on Fire OS 7292/2984. Buffering wasn't just a particular app - it was happening regularly on a few streaming apps for ex. BeeTV, FilmPlus, Cyberflix, Cinema, Kodi, Seems to work well for now ...fingers crossed. Thank you for all the info.

For anyone who wants to clear cache to release memory:

I came across a great adb command in these forums to clear cache on all apps in one shot:

adb shell pm trim-caches 128G

(the "128G" is a flexible number but chose a high enough number so cache from apps will be released trying to meet that memory goal)
[Fire TV Original Android Development] cityhunter_1919_xyz:
The wifi speed of the cube (2nd) I use is sometimes slow, but I assign wifi on/off to the long press (Alexa) of the unused voice input button. In my case, the wifi returned to a stable state by switching on/off.

However, I have another cube (2nd) that I haven't used for about a month, and recently when I turned it on, it connects to wifi but I can't use the network. It doesn't work if you connect with another line or wire.

Similar symptoms occur on a 4K/stick lite that has TWRP installed and can be cured by initializing it, but what should I do with the cube (2nd)?

cube (2nd) can use TWRP.(Fire OS PS7292.)
[Fire TV Original Android Development] Pro-me3us:
@boxster03 I hadn't used Analiti in a while, the LAN speed test is now a paid feature. You can still download and install the older version to use it for free.

If you don't have an ethernet-wired Android device, install iperf on Windows. Then run the iperf executable as server from Windows command line, eg:

c:\ iperf.exe -s

In Analiti use the iperf3 client option in the left side panel, type in the IP address of your computer.

With underground apps like BeeTV, Cyberflix etc, it's hard to know if streaming problems are on your end or their end. Can you run a 4k@60fps video on YouTube/SmartTube for +1hr without any buffering problems? Or stream a movie from a home media server with Plex, Emby, Kodi? How about Prime Video or another commercial streaming service?

I get about 100-125Mbps on WiFi on my 2nd gen Cube. I don't know if this is the limit of this device, or my WiFi AP because I get the same speed with the 3rd gen Cube, that I know can achieve +350Mbps over WiFi. Wiring the 2nd gen Cube with a gigabit ethernet adapter I get 250-300Mbps.

@cityhunter_1919_xyz You can try toggling WiFi on/off. This is the equivalent adb command:

raven:/ # svc wifi disable && svc wifi enable

Or more extremely enable and disable airplane mode, which will toggle all wireless conenctions, BT too:

raven:/ # settings put global airplane_mode_on 1 && am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true && settings put global airplane_mode_on 0 && am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false

I don't think a data wipe should be necessary. If this is happening on more than one FireTV device, I would be suspicious of the router. Try a router reboot.

When you say initializing in TWRP, do you mean running a data wipe? You can run a data wipe in TWRP, but be very careful not to let the Cube update when re-registering it. Either reflash the Magisk OTA Blocker module in TWRP or when the Cube boots to the FireOS for registration use USB ADB to disable updates before entering your WiFi information (pm disable-user com.amazon.device.software.ota). If you reflash the firmware in TWRP, remember to reflash Magisk in TWRP immediately after.
[Fire TV Original Android Development] cityhunter_1919_xyz:
Neither command recovered.

I can connect to each device via another router or mobile, but I can't connect to the network. So I don't think the router is the cause.

The light bar on the cube body is always glowing orange on the left and right sides.

I will initialize it (factory reset with TWRP) when I have time.
[Fire TV Original Android Development] Pro-me3us:
Try deleting the WiFi config file with all the saved settings. Then do a fresh reconnect.

raven:/ # rm /data/misc/wifi/WifiConfigStore.xml

I don't know that this will help if Ethernet isn't working either, but it's worth a shot if you are going to do a data wipe anyway.
[Fire TV Original Android Development] boxster03:
@Pro-me3us Yes probably issues at their ends for these apps because I don't have any buffering issue watching Youtube. Thank you for the instructions on analiti and iperf.
[Fire TV Original Android Development] cityhunter_1919_xyz:
I tried it, but it didn't recover.

Thank you very much for all your advice.
[Fire TV Original Android Development] shyguy88:
Greetings Pro-me3us and all,

First thank you very much for the tool and your effort in maintaining it. I was able to use it successfully on my cube with 7614 for temp root.

I was alerted to a post on your 3rd gen root thread of the ability to keep the stock launcher but disable the home page, as below.

Is there any such way to do the same thing on the 2nd gen? The command "pm disable com.amazon.tv.launcher/.ui.HomeActivity_vNext" did not work for me on my 2nd gen, giving the response "cmd: Can't find service: package"

Just wondering if this would be possible on the 2nd gen or not.

Thank you
[Fire TV Original Android Development] Pro-me3us:
In short it's possible, but probably not worth the extra effort for most poeople.

Raven and Gazelle have different kernel versions, and so different methods used to open the root shell. A consequence of the raven strategy is that services can't be accessed from the spawned root shell. Package Manager (pm) is a service, and that's why you got that error.

A possible solution is to use the spawned root shell to start bootless Magisk, and Magisk can then spawn a working root shell with access to services.

Problem is bootless Magisk is experimental and there were two reports of bricked Cubes (both were on PS7614). People normally only post when they have a problem, so I don't know how many people out of the +150 downloads are actually using it.

If that's worth the extra work to you, I can give you a few tips, including updating from PS7614 to PS76224.