yashsingh1/xdaforums huggingface dataset:
[Fire TV Original Android Development] Pro-me3us:
Yes, and then follow the EEPROM flashing instructions.

You would plug the working HDMI dongle into the HDMI port of the Cube, and connect the USB port to your computer. Then power on the Cube, and it should immediately boot into DFU mode and stay there.

I think you will have to be very lucky to get a woot Cube with pre PS7273 firmware. The two Woot Cubes I know of came with PS7279 and PS7292. If the Cube has post PS7273 firmware, the HDMI dongle method will not work. PS7273+ firmware burns an eFuse that disables USB DFU mode.

The easiest way find out what software version your Cube is using is to register it and check the settings. Follow the instructions in the link that @Michajin provided. In addition to that, when you are entering your WiFi password, if you select 'advanced' and use Ighor's DNS address for DNS1 + DNS2, the Cube will be blocked from checking updates immediately.

If your Cube is on post PS7273 firmware then you will just have to use the new unlock method, that installs the same exploit, TWRP and Magisk versions.

The primary advantage of devices with DFU access is that they are pretty much unbrickable.
[Fire TV Original Android Development] Michajin:
@boxster03

If you are just trying to get it going. After finally booting, do not let it go idle. If the update has downloaded all the way unplug it if not in use. If it hasn't downloaded all the way, turn off the WiFi to prevent it from going on. I use a teathered hotspot on it phone for really slow network during this process, then kill the network after setup. It won't update if you don't let it, usually updates happen when the device is idle from what I seen. Seeing the os you're on, you can probably run the disable and clear for updates without root.
[Fire TV Original Android Development] boxster03:
Thanks @Michajin and pro-me3us.

I was able to stop the Amazon's update attempt at initial set up.

Date point: The recent refurb cube 2 deal from Woot came with Fire OS 7.2.9.2 (PS7292/2984)

DFU dongle won't work on it so I'll be reading pro-me3us 's other thread to try root it.
[Fire TV Original Android Development] Michajin:
I did my woot 7.2.9.2 cube this morning with option 3. Worked just fine, fast and simple. Good luck. Don't connect it to WiFi anymore until you see the ota block on in magisk.
[Fire TV Original Android Development] boxster03:
Sorry for asking basic questions.

I started the option 3 Bootloader unlock ; the step 2 push command wasn’t taking with the * after raven_root_shrinker/ in

adb push raven_root_shrinker/* /data/local/tmp/

Does the * instruct to copy all files within the raven_root_shrinker folder?

It was telling me: adb: error: cannot stat ‘raven_root_shrinker/*’: no such file or directory

I had copied the raven_root_shrinker folder to C:/ after extracting the zip file (in my laptop adb works from C).

/* was not going through.. then I ran the push command w/o the * and it said it pushed 13 files. Looks it copied the whole folder raven_root_shrinker thereby changing the path for the other commands. So I stopped.

Do I need to undo and start over?

How do I delete what was copied before starting over? What adb commands will do it?

Also don’t understand why /* was not working for me. Did I not properly extract the zip file? I did extract all into the same folder in Downloads folder then only copied the raven_root_shrinker folder to C. (raven_root_shrinker folder was within raven_root_shrinker_v2.2 folder). Also noticed there is another amzn_ota_block zip folder within raven_root_shrinker folder (now copied to the cube still as a zip file folder.) I don’t know if it should be there as a zip folder.

Sorry for the long post. Appreciate all the help.
[Fire TV Original Android Development] Pro-me3us:
The short answer is that the 7 files within raven_root_shrinker folder just need to be transferred to /data/local/tmp/ on your Cube. You currently have them at /data/local/tmp/raven_root_shrinker/

Yes, the '*' means to copy all the files within the directory. The instructions are making two assumptions that probably aren't clear. 1) that the 7 files are being unzipped with the folder raven_root_shrinker 2) that the adb push command isn't being run from within the raven_root_shrinker folder, but one directory up. It may be better if the instructions were to transfer the 7 files individually to cut down on any confusion.
[Fire TV Original Android Development] Pro-me3us:
@Osaka_23 if you decide to update to PS7614+ there's a fair chance that some of the pro remote functions require Amazon Launcher, like the recent button on the 3rd gen Cube remote.

Wolf Launcher and Amazon Launcher can both be active, so that no Amazon Launcher related functions are broken while keeping Wolf Launcher the default launcher.

Instructions

1) Install the Magisk module Terminal Systemizer version 1.7.4 through Magisk Manager.

2) Reboot the Cube for the module to become active, and open an ADB shell, open Systemizer to make Wolf Launcher a system app

adb shell
systemize

1 - Systemize Installed Apps (Listed)
Select the number for Wolf Launcher
2 - /system/priv-app

3) Exit Systemizer, and enable Amazon Launcher, but keep FireHomeStarter disabled

pm enable com.amazon.tv.launcher
pm disable-user com.amazon.firehomestarter

Done! Reboot the Cube for the effects to kick in. Voice search from the home screen will now work, as well as any other features that run through Amazon Launcher. It is important to actually disable FireHomeStarter, or the Cube will be under constant heavy CPU load, so don't skip that.
[Fire TV Original Android Development] boxster03:
Thanks @Pro-me3us I was able to copy individually to the tmp folder.

I’m stuck at step 4. install_root.sh : “This script must be run as root” How to get a root shell ? My be something simple but I have no idea.
[Fire TV Original Android Development] Pro-me3us:
That's what raven_shrinker does.

Reboot the Cube, wait until you see your homescreen, then wait another 90sec to make sure all the background processes have loaded.

Then run

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

If you see raven:/ $ --> raven:/ # you are root

Then run

raven:/ #/data/local/tmp/install_root.sh

If raven_shrinker doesn't grant you root, reboot and try again, it doesn't work 100% of the time.

Checkout this post forward, @teschke just troubleshooted through the process, and it might help
[Fire TV Original Android Development] boxster03:
@Pro-me3us Reboot worked to get root access and completed the process. Thank you for all the work.
[Fire TV Original Android Development] Osaka_23:
Thank you for the reply and for your awesome work.

I am planning to rooting my devices this weekend. I will report back.
[Fire TV Original Android Development] errut:
@Pro-me3us​

you recommended to block future Updates in the router (FB6591). Should i block the IP of the Cube? The Cube won’t work.

Thank you for your work, which i continuously follow in this Forum.

PS7633/3445
[Fire TV Original Android Development] Pro-me3us:
The easiest way to block updates is to use Ighor's DNS method.

You can apply this block directly to the Cube by using his DNS server for DNS1 + DNS2. His DNS server blocks the Amazon update server addresses for you automatically.

You can also use apps like Adguard DNS, RethinkDNS, or NextDNS to do similar DNS based blocking. Rethink DNS is nice because it can function as a firewall to block individual apps on your device from accessing the internet.
[Fire TV Original Android Development] Pro-me3us:
I've made 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] Pro-me3us:
Neil has added a few more DFU HDMI dongles to Tindie.

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 unbricking insurance policy on your 2nd gen Cube.
[Fire TV Original Android Development] thrashman69:
Can someone please help a semi-noob. I was sold a blacklisted 2nd gen fire cube and don't want it to go to waste. I can't access FIRE OS to change settings like ADB etc. I'd like to be able to use the cube in some way either by using an alternate OS or fire OS. I was able to do option 1 to "automatically root the Cube." I plugged in the HDMI cable and the fire tv just sits on the "firetv" logo and stops. I attached a paste from my terminal.

It does have a " fastboot: invalid option -- 'c' " error but I'm not sure what the problem is.
[Fire TV Original Android Development] Pro-me3us:
Are you sure you are using raven boot v2.2 from the OP? That error means the script isn't using the fastboot binary included in the raven_boot zip. The v2.2 version of the menu script should fix that. Rerun option 1) to root & patch the Cube.

Was your Cube able to boot to the FireOS registration screen before you tried rooting the device?

After you patch the Cube, boot to FireOS, and you will have USB ADB access. To skip the registration process run the following commands

raven:/ # settings put global device_provisioned 1

raven:/ # settings put global com.amazon.tv.oobe.RESTRICT_REMOTE_BUTTONS 0

raven:/ # settings put secure user_setup_complete 1

raven:/ # settings put secure tv_user_setup_complete 1

At this point you will be able to use FireOS normally but not any Amazon services. You can install a custom launcher and use Aurora Store as your app store. If you want you can install the Google Play store, but it's not needed, you may as well save the system resources.

I don't remember how functional the Amazon Launcher is when it can't call home. If you need you can install apps from ADB to get your custom launcher up and running.

PS What firmware version is your device on?
[Fire TV Original Android Development] thrashman69:
After booting FireOS It still does the "unable to update". I'm not sure how to bypass that on a blacklisted device. Maybe I could run corelec now that I have TWRP working. It'd be cooler if I didn't have to boot from a flash drive though.
[Fire TV Original Android Development] Pro-me3us:
The root patching process doesn't bypass registration. But it does give you adb access at the registration screen.

When you get to the update/registration screen, make an ADB connection to the Cube so that you have access to it's command line.

If you're computer is USB attached, open a terminal window on your Linux computer and type:

adb shell

If you are using ethernet / WiFi you would type:

adb connect <Cube-IP-ADRESS>

adb shell

If you see this prompt

raven:/ #

This means you are now running commands directly on the Cube. Copy and paste the 4 commands above. This will 'complete' the registration process, without actually registering. Then you exit the Cube terminal

raven:/ # exit

Install Launcher Manager 1.1.6 with adb. In the Linux terminal type

adb install launcher-manager.apk

And install whatever custom launcher you want to use, eg:

adb install wolf-laucher.apk

Then run this command to open Launcher Manager on the Cube. There you can set your custom launcher.

adb shell am start -n com.wolf.lm/.main.MainActivity

At this point you should be able to do anything you need with the remote, assuming it's paired?
[Fire TV Original Android Development] thrashman69:
I was able to run the raven Adb commands successfully. But now I get "

nuc@beelink:~/Downloads/raven_boot$ adb install launcher-manager.apk

Performing Streamed Install

adb: failed to stat launcher-manager.apk: No such file or directory

nuc@beelink:~/Downloads/raven_boot$ "

When I try to install Launcher manager
[Fire TV Original Android Development] Pro-me3us:
Sorry, that was just an example, assuming the Launcher Manager apk was named launcher-manager.apk. When you download it, it's actually called 'LM (FOS) - 1.1.6.apk'. To make things easier, rename the file to lm.apk and move it to ~/Downloads/raven_boot on your nuc.

then run

nuc@beelink:~/Downloads/raven_boot$ adb install lm.apk

Edit: I think v0.1.9 is the last version of Wolf Launcher if you want to use that.
[Fire TV Original Android Development] thrashman69:
I

I got it working thanks so much!

Do you know if there is an adb command for me to log on. The cube won’t let me install anything from downloader it just gives me this message “For your security, your TV is not allowed to install unknown apps from this source.” I’m thinking I won’t be able to login because the device is blacklisted and I’ll only be able to install apks over adb
[Fire TV Original Android Development] Pro-me3us:
You just need to give Downloader install permission. Open Launcher Manager, scroll down to 'Developer Options', select 'install unknown apps', and select Downloader to toggle 'on'.

If you want, you can disable just the homescreen component of the Amazon Launcher. This will allow you to long press the home button to bring up the quick menu, so that you can access the full FireOS settings section more easily.

raven:/ # pm disable-user com.amazon.firehomestarter

raven:/ # pm enable com.amazon.tv.launcher

raven:/ # pm disable com.amazon.tv.launcher/.ui.HomeActivity_vNext

raven:/ # pm clear com.amazon.tv.livetv

Alternatively, you can make Wolf Launcher a 'system' app, which will allow you to make it your main launcher, and keep the Amazon Launcher fully functional, with a 'home' icon on your Wolf Launcher screen that will let you access the Amazon Launcher like it was any other app.
[Fire TV Original Android Development] thrashman69:
My “developer options” isn’t showing in the fire Tv settings and clicking about a bunch of times to enable it doesn’t work. Probably because the device isn’t registered
[Fire TV Original Android Development] Pro-me3us:
In FireOS developer options isn't hidden, at least not in firmware PS7242 and older. What firmware version are you on?

When you click on Developer Options in Launcher Manager

Does that not take you to this page?
[Fire TV Original Android Development] thrashman69:
I’m on 7.2.4.2. When I click on developer options it takes me to “my fire tv” instead
[Fire TV Original Android Development] Pro-me3us:
I will have to do some guess work here. Can you run

raven:/ # settings get secure install_non_market_apps

raven:/ # settings get secure unknown_sources_default_reversed

Make note of the values that are returned, and let me know if either were not '1'. Then set them to '1':

raven:/ # settings put secure install_non_market_apps 1

raven:/ # settings put secure unknown_sources_default_reversed 1

Lastly let's just disable OOBE

raven:/ # pm disable-user com.amazon.tv.oobe

Then try the developer's menu link in Launcher Manager again
[Fire TV Original Android Development] thrashman69:
Thanks again for all of your help. I’ll have to try tomorrow after work
[Fire TV Original Android Development] Pro-me3us:
I'm sure that the developer's page can be exposed without registration, but you can also install any apps now with ADB.

If you have an Android phone, install Easy Fire Tools. You can download apks on your phone, then remotely install them to the Cube over WiFi with this app, very easily.
[Fire TV Original Android Development] thrashman69:
Still not showing developer options after running the commands. I attached a paste of what I did. Let me know if I screwed anything up
[Fire TV Original Android Development] hafren:
I'm a newbie looking for help to unlock/root/twrp Cube. I have Cube v2 Raven on ps7229/1856 and want to know do I follow @Functioners method or raven-shrinker or something else? Do I have to have a DFU device to do this?
[Fire TV Original Android Development] Pro-me3us:
That looks correct, I sent you a PM to get some more system information.

This thread is for the old rooting method that uses a 'DFU dongle'. The newer method with raven shrinker doesn't require the DFU dongle.

The end result of both methods is identical, both use the same bootloader unlock hack, same version of TWRP and Magisk. Having a DFU dongle gives you a safety net that allows recovery from any bricked situation. Without the dongle you just need to be careful not to allow the bootloader hack to get deleted. This will only happen if 1) an OTA firmware update from Amazon's servers is allowed to update the Cube or 2) you run a FireOS factory reset. There are a couple safeguards to prevent either of these from happening accidentally.

I would recommend using the Raven shrinker method, it's much easier and faster to run. You can still obtain / make a DFU dongle in case you ever get in a situation that requires it.
[Fire TV Original Android Development] hafren:
Basic question - can I use a connected windows computer to run the adb commands or do I need to use a linux installation or live-system e.g.FireISO?
[Fire TV Original Android Development] Pro-me3us:
For the DFU HDMI dongle method in the OP, Linux is required. For the newer method that uses raven_shrinker, Linux isn't needed. Any OS will work to input the ADB shell commands (Windows, Linux, MAC, Android, etc).
[Fire TV Original Android Development] hafren:
Forgive my noobiness, So how do I open an adb shell on the cube? From a iwndows pc what's the easiest way to transfer the files
[Fire TV Original Android Development] Pro-me3us:
You can use ADBLink for Windows, it has a friendly UI.
[Fire TV Original Android Development] hafren:
@Pro-me3us - Let me 1st say how talented you are in creating this unlock/root. Kudos tor you and the other experts that made this happen. Also I see how helpful you are to members but it I have to say its really intimidating for a noob like me, with minimal linux terminology experience, to follow what appears such simple instructions in post #4 of new method

So before I screw up my cube can you continue to help me? I've successfully connected a windows laptop to cube via a router (LAN only) using adblink (thanks you for the suggestion) I've managed step 1&2 and have the 7 files in /data/local/tmp/. In adblink I then used the adb shell "button" and followed step 3 but I'm faced with this screen output

C:\adblink>echo off

raven:/ $ chmod +x /data/local/tmp/raven_shrinker

raven:/ $ chmod +x /data/local/tmp/install_root.sh

Am I right in assuming this has given raven_shrinker & install script executable permissions?

If so, how do I open a root shell to do step4?

I thought raven:/ $ su would open root but su is not recognized.​

Once I know how to open a root shell do I have to repeat step 3 as I've switched off the cube?
[Fire TV Original Android Development] Pro-me3us:
Thanks, this all was really a collective effort with help from many different people, making use of the hard work of those that discovered the various vulnerabilities being employed.

With that newer rooting method, raven_shrinker is the binary you run to grant you root (temporary). You will then use that root access to run the install_root.sh script that applies the bootloader hack, TWRP & Magisk installation.

Run this command after a fresh reboot:

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

This should result in raven:/ $ ---> raven:/ # The switch of $ to # indicates you are now root user at the command line. Raven_shrinker will crash/reboot or fail to gain root ~15% of the time. If that happens, try running raven_shrinker again after a fresh reboot.
[Fire TV Original Android Development] hafren:
Success. It was deceptively simple.:)

If I want to list packages how can I do it in root? (I tried but it wont accept pm list packages) More broadly how can I use shell commands?

Finally I backed up twrp (boot & data partitions) does that copy the protected twrp version that stops an update modifying bootloader?
[Fire TV Original Android Development] Pro-me3us:
raven_shrinker root is limited, you can't access any services from the root shell it generates. pm or package manager, is a service. But after you've run the root install script, raven_shrinker isn't needed anymore. ADB root is active by default. Anytime you connect over ADB using 'ADBLink', 'Remote ADB Shell' etc, you will already have root access.

TWRP is modified to never touch the bootloader, including when TWRP flashing a FireOS firmware. This preserves the bootloader hack. The root install script included a Magisk module to disable com.amazon.device.software.ota, responsible for Amazon OTA updates. If you do a TWRP data wipe, this module is deleted too, keep that in mind. You need to remember to disable that package yourself after a wipe.
[Fire TV Original Android Development] hafren:
Is there any way I can run a service now?

I just want to confirm that as I have made a twrp backup (boot & data partitions) that its is safe to restore if ever needed - meaning it would restore the modified twrp to never touch the bootloader?
[Fire TV Original Android Development] Pro-me3us:
Sorry, I may have misunderstood the situation. After you have patched the Cube, everything should work normally. Are you not able to run pm commands successfully?

raven:/ # pm list packages

If it's not working, what's the error/output you are seeing?

If I understand your concern, you don't need to worry about backing up TWRP. The modifications made to TWRP are part of it's image (including not writing to the bootloader). Whether you reflash the twrp.img from the raven_root_shrinker.zip or the backup of the recovery partition made in TWRP, they are the same.
[Fire TV Original Android Development] hafren:
Just checked again and pm commands are running ok. I must have a had a syntax error before:unsure:
[Fire TV Original Android Development] errut:
hallo, i have HDMI Device, prepared by Tindie: wouls i damage my Cube with 7664/3772, if i would try Raven?
[Fire TV Original Android Development] Pro-me3us:
No it won't do damage, or do anything. DFU is disabled on your Cube.
[Fire TV Original Android Development] SentraXx:
Hey, I have already rooted my Raven, however I wanted to update the firmware and I don't know how I can run adb commands connected via usb as it wont appear in adb devices, I have done all the rooting and unlocking bootloader through adb via network and since in twrp I cant do this and adb via USB is needed to install the firmware, now I dont know to procceed
[Fire TV Original Android Development] Pro-me3us:
USB connect your computer to the Cube before rebooting, so that it boots in device mode.
[Fire TV Original Android Development] hasobist:
Hello @Pro-me3us !

Thank you for all the time support and contribution.

Was trying to patch the cube using the DFU dongle and exploit raven-2.2 latest, confirming with lsusb in DFU mode ,using option 1 ends with waiting for device and the cube never reboots.

Using options 2,3 the cube never reboots as well.

On version 7242/3535.

Any suggestions what must be going wrong.

Cheers!
[Fire TV Original Android Development] Pro-me3us:
Hard to say without seeing your screen output before that.

The newer unlock script may be easier. It uses the same bootloader exploit with the same end result.

Since you've used Magisk from Raven Boot v1 previously, that Magisk database has to be deleted to avoid a signature mismatch. Before running the unlock/root script, on the Cube run:

rm /data/adb/magisk.db

If don't care about saving any previously installed Magisk modules, delete the whole magisk folder.

rm -r /data/adb/

Also uninstall the older Magisk Manager apk from Raven Boot v1, and install the version included with whichever unlock zip you go with.

Run those commands above after gaining root with raven_shrinker for the newer method, or from TWRP for Raven Boot v2.2.