yashsingh1/xdaforums huggingface dataset:
[Fire TV Original Android Development] Oswald Boelcke:
@Tukufu52 I've merged many, I repeat many, of your consecutive posts in this thread! The way you've flooded this thread with your posts could be considered by others e.g. the threadowner @Pro-me3us as spam or even trolling. If you need to add more information, please edit your post instead of creating new ones. If required use the multi-quote feature; if you don't know what this feature is, please refer to our RC @sd_shadow's great guide:

[Index] How to Navigate the XDA Forum

[INDEX] How to Navigate the XDA Forum Welcome, this thread has been created to encompass everything you may need to navigate the XDA Forum. Please only post in this thread with feedback on how to improve this document. Do not post "Thank you"...

xdaforums.com

Please review your posting "style". If you continue this way I'll have to revoke your write permissions in this thread. Thanks for your cooperation.

Regards

Oswald Boelcke

Senior Moderator
[Fire TV Original Android Development] Tukufu52:
Sorry, I didn't know how to edit when adding new lines. Didn't mean to cause any problems. My bad, sorry about that.
[Fire TV Original Android Development] Tukufu52:
G/Morning, question, if I Set My Fire TV Cube to never go to sleep with the proper command prompts, but then I command My Fire TV Cube to turn the TV off by voice, will this also put the Fire TV Cube to sleep, or will it just turn off my TV but still keep the cube from going to sleep?
[Fire TV Original Android Development] Tukufu52:
I GOT IT!!!! Yes!!! Sorry for being so annoying with asking so many questions but I really wanted to get this because the first two I had updated. Thanks XDA!!! Your The Best!!!!
[Fire TV Original Android Development] Tukufu52:
Yes!!! Thanks for the instructions. It worked like a charm!!!

I just want to add a helpful way to push the file if that's not working. On your PC, when you go to adblink2, tap on it once, then right click, tap on the line that says open file location, place the gazelle_shinker file here, then close it back, & use the application as usual. I noticed when I did this, I had no problem pushing the gazelle_shinker file to the correct location without even putting it on the device manually. After the root installation is complete, open back up the file location one adblink2 & remove the file that you put in there. I left a picture of what it will look like when you open the file location of abklink2, & temporarily put the gazelle_shrinker file here..😎
[Fire TV Original Android Development] sus67:
@Pro-me3us

please take a look if my device is working properly according to your awesome recommendations, thank you.

Spoiler content hidden.
[Fire TV Original Android Development] Pro-me3us:
I don't see any glaring problems. All the recommended apps from the OP are disabled. There aren't any apps going haywire constantly at the top of the list using +90% cpu.

gazelle_shrinker is pretty benign, after a reboot any traces it was run are gone.
[Fire TV Original Android Development] sintoo:
Hello friends. Does this method work with a FireStick 4k (not Max)?

I'm sorry: the button "Search this thread" doesn't work for me (it searches the whole forum).

Thank you.
[Fire TV Original Android Development] Pro-me3us:
No, this is a Mali GPU driver exploit. The Sticks don't have Mali GPUs.
[Fire TV Original Android Development] sus67:
@Pro-me3us

have you an idea to start automatically with own homescreen without profiles ?
[Fire TV Original Android Development] Pro-me3us:
gazelle:/ $ pm disable-user com.amazon.ftv.profilepicker

Disabling the profile picker app, disables that screen. The Cube will boot directly to the launcher, using the default profile on the Amazon account.

Can also be disabled with Debloat Toolbox (no root needed), to avoid needing ADB
[Fire TV Original Android Development] Tukufu52:
Ok, I didn't know this, I'm definitely going to try this. Thanks Friend.
[Fire TV Original Android Development] puppinoo:
Hi,

I tried to connect a NTFS formatted 128gb usb dongle on my 7613 Fire Tv Cube 3rd gen mainly to let kodi to read and write files bigger than 4gb.

Letting the device format the unit makes it format Fat32 filesystem so it's limited to 4GB size.

So I formatted in ntfs manually and created a Android/data/org.xbmc.kodi/files path. The device can see it but kodi can only read within it and has no permission to write into. Even with root status I cant write inside it (tried with adb manually).

I read that Fireos 7613 version lacks the MANAGE_EXTERNAL_STORAGE permission to grant to app manually to let them write to external storage but I'm not sure it depends on that cause it's very confusing (basically I tried to use this command "adb shell appops set org.xbmc.kodi WRITE_EXTERNAL_STORAGE allow" to allow older limited permission but it's still not working).

Can I use root status to force the write permission to be granted?

Thanks.
[Fire TV Original Android Development] Pro-me3us:
I'm pretty sure the NTFS module is read-only, even with root writing isn't possible. This is the case with most Android devices that can read NTFS. NTFS belongs to Microsoft and would have cost extra to license writing.

Paragon has an Android app with its own NTFS module that does allow writing, but that wouldn't work under other apps unless they have a plugin (like Total Commander).
[Fire TV Original Android Development] puppinoo:
Thanks a lot for reply.

Too bad to hear.

Of course other filesystems are not supported (extfat, ext4 etc)?

Cheers.
[Fire TV Original Android Development] Pro-me3us:
I don't have much experience with external storage, so this may not all be accurate. The FireOS kernel has support for many different filesystems (even the 2nd gen Cube). With root they can all be manually mounted, but the app needs root to access the mounted drive. Manually mounted drives aren't made accessible by FireOS like FAT32/NTFS are.

When you format a USB drive for internal storage, I think it's using ext4. I don't know if this extended storage is accessible by apps? Maybe if Kodi is moved to external storage it is?

I'm surprised that Kodi hasn't added native support for other filesystems in Android. There are a number of file managers that do this.
[Fire TV Original Android Development] puppinoo:
Thanks a lot for your advices. Much appreciated.,

Maybe Kodi has support for those and it's just that I'm not doing it correctly.

I have to test better and investigate more.

If any good news I'll update.

Cheers.
[Fire TV Original Android Development] Tukufu52:
I use CX File Explorer. I lets you get access to external storage on the Fire TV Cube 3rd generation. Once you have kodi installed, go to settings to make sure that when the application is installed it goes on to the flash drive. I let the Fire TV Cube format the flash drive. I'm only using a 64 GB SanDisk Flash drive Ultra.
[Fire TV Original Android Development] puppinoo:
Hi and thanks for the advice.

If I let the device format the unit, doesnt it format in FAT32?

I want Kodi to be able to write files bigger than 4GB so I need different filesystem (NTFS, EXT4, etc etc).

Thanks.
[Fire TV Original Android Development] Tukufu52:
No, I'll tell you why, because I formatted the flash drive myself on my PC before I put it in there, & when I put it in there it says that it's going to format it for the Fire TV Cube, so I have no idea what format it is. When you take it out of the Fire TV Cube & put it back in your PC, the PC reformatted back to that 32, so I'm not sure what format it's making it, but it's formatting it for the Fire TV Cube. Also, jus to let you know, I tried a lot of aftermarket remotes on this device, & this one seems to be one of the best so far that works with Bluetooth. You don't have to install Mouse Toggle, just tap the button & the mouse comes right out. You'll find it on AliExpress..
[Fire TV Original Android Development] puppinoo:
The ultimate test should be to upload (somehow) I file bigger than 4gb and see of it's uploaded correctly. I'll try when I'll further investigate your possibile solutions.

Cheers.
[Fire TV Original Android Development] Skel40:
Alright this will be a huge help for anybody learning commands as I only know the slight basics of adb in particular especially for anyone that wants to undo the Magisk files/gazelle shrinker files. Its all a learning process so these commands will give anyone here an idea so lets get started. Ok the first thing thats important is this is safe to remove these files from the /data/local/tmp as well as /data/local/tmp/bin only. REBOOT everytime you redo/undo the changes and wait 30-90 seconds for gazelle_shrinker to work properly

First type these commands from above

adb push gazelle_shrinker /data/local/tmp/ (drag and drop gazelle_shrinker into adb terminal either on Windows and Linux

chmod +x /data/local/tmp/gazelle_shrinker

IMPORTANT!!! (After typing this command below it will change from $ to # meaning you have root access but again be very careful and carefully follow this reverting guide closely)

adb shell

/data/local/tmp/gazelle_shrinker

Type in this after its in # root shell

cd /data/local/tmp

OR

cd /data/local/tmp/bin

Now this will direct you to the tmp folder where the files are located meaning you have control over its deletion or not now all we have to do is type this in

ls

What this is doing is its now showing the files that were put into those directories you have to remember you don't have to delete all of the files in the tmp but if you'd rather have that happen and undo everything from this guide type this in below

rm -r *

Type this in if you want to delete certain files

rm -r gazelle_shrinker

Type in ls and it should be gone
[Fire TV Original Android Development] Skel40:
A little sidenote too @Pro-me3us is the memory does get like this if you're doing a lot of commands with this code and for everybody else too just reboot and wait 30-90 seconds and let the Cube rest on the launcher:

failed, retry.
failed, retry.
failed, retry.
failed, retry.
failed, retry.
/data/local/tmp/gazelle_shrinker: Out of memory.: Success
[Fire TV Original Android Development] Eagle1337:
I can use this to disable the launcher and use flauncher right?
[Fire TV Original Android Development] Pro-me3us:
Yes

Once you have followed the instructions to remove the app 'package protections' you can enable/disable any app you want, Amazon launcher too. Use any custom launcher you like. You can use Launcher Manager to pick your custom launcher of choice, and use the 'old method' for instantaneous response.
[Fire TV Original Android Development] Jerri1240:
Sorry for more idiot questions but could you tell me how to disable custom launcher and use the old method in launcher manager.
[Fire TV Original Android Development] Pro-me3us:
Let Launcher Manager take care of the enabling/disabling of the launchers

The 'old method' works by disabling Amazon Launcher, and setting the custom launcher you have chosen from it's list, as your homescreen.
[Fire TV Original Android Development] Jerri1240:
ah! Sorry, I assumed I'd have to run some command via ADB to disable it. Thanks, I appreciate you taking the time to explain.
[Fire TV Original Android Development] roligov:
Nice work!

There is a typo in post #3, the APK has an underscore in the name, not a hyphen. eg: magisk_manager.apk
[Fire TV Original Android Development] Pro-me3us:
Thank you, fixed!
[Fire TV Original Android Development] ForbEx:
2 days ago I bought Cube 3 from Amazon, I hope there wont be P7633, I will post which FW it has, when I receive it.
[Fire TV Original Android Development] Skel40:
Awesome! Just be careful in case it's patched.
[Fire TV Original Android Development] Pro-me3us:
I just checked now, and I'm not seeing any newer firmware than PS7613/3701. However Amazon staggers their firmware roll-outs, so just because I don't see it doesn't mean it's not being provided to other 3rd gen Cubes.

If you want to be extra cautious, you can follow this guide to skip the forced update while registering your new Cube. From there, you can cautiously check what FireOS version your Cube is getting before you actually update.

Basically you check for updates, with an ADB window open ready to send the command:

pm clear com.amazon.device.software.ota

Entering this command will instantly freeze the update download. If settings indicates it's downloading a version higher that PS7613/3701, then block updates and stay on PS7299 for now.
[Fire TV Original Android Development] ForbEx:
Guys, I have received my CUBE today. I was extra cautious and followed guide to skip forced update during register. I can confirm its still working. My Cube was on FW PS7299/3052 from factory. After I successful logged in and it asked me to update to 7.6.1.3 I installed that update manualy. I followed guide to temporary root and disabled updates. Thank you for you hard work Pro-me3us and Skel40 what you do for community is awesome. My brand new Cube 3 is best now I'm so happy. :giggle:(y)

BTW for everyone who use temp root, use steps 1. 2. 3. and then follow this guide, because I was little bit minfu** and used adb shell in fourth step and it was giving me error.
[Fire TV Original Android Development] puppinoo:
Hi,

Same for me but I immediately blocked the updates so I dont have the 7.6.1.3 but still the PS7299/3052. Now I regret this.

Will there ever be custom firmwares to install manually?

Thanks for everything to developers.

Pino.
[Fire TV Original Android Development] roligov:
@puppinoo Why not just unblock the updates and update to the latest Cube 3 Firmware (PS7613/3701)? The exploit still works on the that as per the original post? Or is your device pulling a newer firmware update?
[Fire TV Original Android Development] papa dave:
I am able to get '#' and complete the process. But, when I type the 'pm Disable-user'... command, the reply is, "cannot disable protected package: com.amazon.device.software.ota. I am able to successfully use the pm clear.com.amazon.device.software.ota command. What is my problem? Can I verify the gazelle-shrinker script is correctly inputted? Does getting # "ok" the script input up to there? Thanks for your help. I am Almost there... I can smell the finish lne
[Fire TV Original Android Development] ForbEx:
There's no way to install custom firmware. You can Install 7.6.1.3 without problem and then block updates.

Read my last post carefully and it will work for you.
[Fire TV Original Android Development] Pro-me3us:
A 'cannot disable protected package' message means the PackageDenyList file hasn't been cleared, or it was cleared but the Cube hasn't yet been rebooted for the cleared list to take effect. If you did clear the list and reboot, make sure you also disable Arcus Proxy, because that app will re-create the PackageDenyList if it's left enabled.

gazelle_shrinker only generates root, so if gazelle:/ $ ---> gazelle:/ # it was successful. You then need to use that root access to follow the last couple steps in the OP.

PS as of today PS7601/3337 is still the newest firmware I'm seeing from Amazon.
[Fire TV Original Android Development] puppinoo:
I was a bit reluctant to reenable ota (I also have them blocked globally on my router) but since it will probably be the last firmware update in a long time I did and everithing worked so now I have 7.6.1.3 and root worked once again so disabled ota for good.

Thanks everyone for advices.

Pino.
[Fire TV Original Android Development] papa dave:
That is what I needed; To also disable arctus proxy if I reboot. I will give it a go. Its all good after going thru a couple of times I got errors. Thanks, I appreciate it
[Fire TV Original Android Development] Skel40:
@Pro-me3us I created a firmware page for this device (gazelle) and I was wondering if I could pull full firmware .bins when a new update occurs? I was only able to get the differential updates for it here.

https://xdaforums.com/t/fire-tv-cube-gen-3-gazelle-firmware-7-6-1-3-diff.4579475/#post-88461803
[Fire TV Original Android Development] Pro-me3us:
I will try to make it available when it comes, I don't want to step on anyone else's toes by talking about methods.
[Fire TV Original Android Development] Skel40:
Ok I appreciate the response. Understood.
[Fire TV Original Android Development] gsauce806:
After typing code /data/local/tmp/ i got this

gazelle: $ /data/local/tmp/

/system/bin/sh: /data/local/tmp/:cant exucute: is a directory

126lgazelle:/ $

my device software version : fire os 7.6.1.3 (PS7613/3701)

i need help noob thank you
[Fire TV Original Android Development] roligov:
You haven't followed the directions correctly. Copy and paste the commands in the posts by @Pro-me3us.
[Fire TV Original Android Development] Pro-me3us:
Make sure you have copied gazelle_shrinker to that folder to start (/data/local/tmp/)

That is covered in the second post

A couple people have said that it's easier if they just have a list of commands to copy and paste in. So once you have put gazelle_shrinker in /data/local/tmp/ you can follow these steps if it's clearer for you.
[Fire TV Original Android Development] insestito:
Fire TV stock 4k MAX has the same soc. It works on It?
[Fire TV Original Android Development] gsauce806:
THIS is my issue you are correct . Where am i extracting the gazelle_shrinker file to ?

and am i manually placing the file or pushing with a command?

sorry for the question and thanks
[Fire TV Original Android Development] Pro-me3us:
Download the gazelle_shrinker.zip to your computer, and unzip it to your ADB folder.

Then copy the unzipped gazelle_shrinker file to your Cube with the ADB command:

adb push gazelle_shrinker /data/local/tmp/

There are a lot of ways to get this file on your Cube into the folder /data/local/tmp/. I don't know if you are working with a phone, a computer, or trying to download the gazelle_shrinker.zip file directly from XDA to your Cube with Downloader?

The Sticks use MediaTek SOCs, the Cubes use Amlogic SOCs, but more importantly the root program uses a vulnerability in the Mali GPU driver.

The 4K / 4k Max / 3rd gen sticks don't use Mali GPUs, so the exploit won't work.
[Fire TV Original Android Development] gsauce806:
you know what i dont even have that folder on my cube wow !

should i create it?
[Fire TV Original Android Development] Pro-me3us:
The folder is there, but if you are using a file manager / browser it may not see it. That's why i was asking you how you are getting the shrinker file from XDA to your Cube, because there may be small differences depending on what program(s) or app(s) you are working with.
[Fire TV Original Android Development] gsauce806:
i was using xplore and es file explorer after i couldnt get adb to work
[Fire TV Original Android Development] Pro-me3us:
They won't see /data/local/tmp/

If you aren't using the adb program with the push command, then copy the extracted gazelle_shrinker to your Download folder on the Cube. Get it there however is easiest for you.

For the next steps you will need an adb shell to your Cube to enter the required commands, or you won't be able to run the root program. Open the Remote ADB Shell app or whatever program you are using to access the adb shell on your Cube, and move the file from the Download folder to the tmp folder with this command

gazelle:/ $ mv /sdcard/Download/gazelle_shrinker /data/local/tmp/gazelle_shrinker

Then copy and past the rest of the commands from post #11 to finished the process
[Fire TV Original Android Development] gsauce806:
this the error code im getting now
[Fire TV Original Android Development] Pro-me3us:
gazelle:/ $ mv /sdcard/Download/gazelle_shrinker /data/local/tmp/gazelle_shrinker

not

gazelle:/$ mv /sdcard/Download/gazelle/_shrinker /data/local/tmp/gazelle_shrinker

I'd copy and paste the commands, rather that retyping them.
[Fire TV Original Android Development] gsauce806:
you were 100% correct thank you
[Fire TV Original Android Development] Pro-me3us:
PS7646/3550 is rolling out to the 3rd gen Cube now. I assume this exploit is now patched, if anyone is on this firmware PM me.

For new Cubes that are shipped with PS7299/3052, I've posted instructions on how to manually update to PS7613/3701 and maintain root access.
[Fire TV Original Android Development] puppinoo:
Just curious.

Can't the procedure in the Instructions be used to flash custom firmware like a modified PS7646/3550 with the patch stripped out so that gazelle will still work?

Thanks.
[Fire TV Original Android Development] Pro-me3us:
The bug is in the GPU driver, which is in the kernel, within the boot image. The main issue is that the bootloader is still locked, so any modification of the boot image will lead to a signature failure during bootup. That would brick the device.
[Fire TV Original Android Development] puppinoo:
I got it now.

Thanks.
[Fire TV Original Android Development] Skel40:
Quick update here. Now @Pro-me3us the only issue with bootless Magisk on 7.6.1.3 is the app itself. Its saying "Unsupported Magisk Version, This version of the app does not support Magisk versions lower than v22.0, The app will behave as if no Magisk is installed, please upgrade Magisk as soon as possible." Any recommended fix for this?
[Fire TV Original Android Development] Pro-me3us:
You are running the versions included with the bootless Magisk shrinker release?

Magisk 21.4

Magisk Manager 8.0.7

Does Magisk Manager, show Installed 21.4 under Magisk? or does it show Installed N/A?

If it shows Installed N/A, then the bootless Magisk script didn't start. This can happen if gazelle_shrinker fails to spawn a root shell. Just be careful not to run the start.sh script more than once, it can cause issues. If it didn't start the easiest thing, is to reboot the Cube.

Another way to check if bootless Magisk started is to check the folder /sbin/, you should see a file labeled Magisk in there that is created when bootless Magisk runs.
[Fire TV Original Android Development] Osaka_23:
Hi,

I brought a Cube 3rd Gen during Amazon's Prime Day sales. I have managed to block auto updates and adep.

I was wonder is there are any benefits manually updating my Cube from PS7299 to PS7613. Has Amazon included more features?

Thanks again for this tutorial.
[Fire TV Original Android Development] Pro-me3us:
Well PS7299 is the first firmware, so the next couple firmware after that are small bug fixes. Some of the things that are missing are support for lossless audio passthrough, home theater mode (echo speakers) and the pro remote. In PS7299 the USB power turns off when the device goes to sleep, which was changed later. You can probably check out the early reviews on Amazon to see what people were complaining about, and some of those things may have been addressed.

Depending on your needs, none of the fixes may actually impact you.

It's really the bootloader specifically that can't be downgraded. And so far there have been 3 for the 3rd gen Cube.

PS7299/3052 ---> bootloader v1

PS7607/3166 - PS7613/3701 ---> bootloader v2

PS7646/3550 ---> bootloader v3

If you don't have any problems on PS7299, you can stay there as long as you like, there's no rush to update.

After updating to any firmware PS7607 and up, you can't go back to bootloader v1. And you can go as far as PS7613/3707 and stay on bootloader v2. That's why I recommend that firmware as a stopping point, because it fixes a lot of the release bugs, and hopefully bootloader v2 is still green enough that a future bug can be found for an unlock exploit.
[Fire TV Original Android Development] Osaka_23:
Thank you.

After I updated to PS7613, would I need to redo the Temp Root and disable auto updates and block Adep again?