[Android Stick & Console AMLogic based Computers] Dave Deluria:
Taken from this thread;

https://xdaforums.com/android-stick...a-mi-box-3-downgrade-nougat-7-0-beta-t3683821

Updated January 18, 2018.

These are the instructions to allow you to revert your Xiaomi Mi Box’s firmware from the Nougat 7.0 Beta to the current public release Marshmallow 6.0. This will ONLY work on Xiaomi Mi Box international model MDZ-16-AB. Anything else will not work!

Credit goes to https://www.facebook.com/daivietpda for first publishing the howto. This is just an attempt by me to better document the process and to explain how it works and what the process entails. I had to go thru so many websites and download so many files because the prior thread encountered issues and problems. I just cleaned up all the information and present what I personally did as of this writing to get it done with all the links updated.

DISCLAIMER!

Warning! I am not responsible for damage you may cause by proceeding. This procedure requires you to perform re-flashing of the boot loader and if you are uncomfortable or unfamiliar with these procedures it’s best not to continue.

The safest way to do this is to connect the Mi Box to a PC/Mac equipped with the SDK Android Platform Tools which has the Android Debug Bridge (ADB) program and a ADB cable which looks like a Male USB cable and the other end is also MALE. You can google what it looks like, purchase one or even make one yourself if you’re handy with tools and a soldering iron. You will also need a flash drive formatted to MS DOS (FAT32). Your PC/Mac should already be running with the ADB server, can properly detect devices and perform ADB commands on them. This is more advanced than typical re-flashing of kernels so you have been duly warned.

Mi Box remote control combinations you need to know if you forgot;

The remote’s OK button is the center of the wheel. The left arrow is called the BACK button. The home button is the one marked with a circle.

- Enter Recovery Mode using the remote only is done by removing the power, hold down the OK and BACK button while plugging in the power to the Mi Box. Make sure the remote is very close to the Mi Box while doing this.

- Pairing remote to Mi Box is done after a factory wipe/setup. During setup, pressing the OK button when asked or holding down the HOME and BACK buttons is done to pair the remote with the Mi Box.

Required files.

https://drive.google.com/drive/folders/0B89ZctmFmYiCSUVKMEJEQVhnbzA

Download it, extract it and you will need the following files;

/Tutorial instalcao rom global Mi Box/Mi box 19-11/3-segunda Rom/rom3s.img <— modded temporary bootloader

/Tutorial instalcao rom global Mi Box/Mi box 19-11/5-Rom Global Completa MiBOX3_USA_once_r454.rar

Unrar the file extract the file called update-once.zip.

- Rename it to once_464.zip for our purpose.

- Put the above files in the flash drive.

Also, if you’re using the Nougat Beta firmware, you MUST be using build 1028. If you were able to flash your Mi Box to nougat, just do it again using build 1028, nothing older, nothing newer.

Here's a link to find build 1028 as well as all other firmware for the MDZ-16-AB in case you need it.

https://www.mediafire.com/folder/9k82rbe2nc0vw/mdz-16-ab

The simplest description for this procedure is that the firmware or software that makes up the entire Mi Box (and all android based devices) is split up into 3 portions.

1. Bootloader

2. Kernel, Recovery, System

3. Data

The Bootloader in this case is a protected portion of the software and holds some very important UNIQUE information like the Serial Number and License keys for Netflix and Google Widevine which is necessary for your box to be capable of playing copyrighted content (Netflix 1080p and UltraHD). This is called the DRM (Digital Right’s Management) info.

When you flashed your Mi Box from it’s public firmware Marshmallow 6.0 to Nougat 7.0 Beta (up to and including build 1560), you basically modified the Kernel AND Bootloader so that it will continue to work as normal. However since Xiaomi NEVER released the bootloader to the public, any attempt to change the Kernel back to Marshmallow will mean the Bootloader and the Kernel are mismatched.

What this procedure entails doing is to first make a backup of the bootloader of your Nougat Mi Box (Part 1). Then re-write the bootloader with a specially modified temporary bootloader (Part 2). The next step would be to re-flash the kernel with a verified Marshmallow 6 Mi Box kernel, recovery and system files and do a factory reset (Part 3). Then we return the backup bootloader holding your Mi Box important serial number and DRM information so Netflix HD will work as before (Part 4). the last part is just cleanup so your box is just like when you initially bought it (Part 5).

Still wish to proceed?

Here goes.

Part 1. Back-up the Bootloader with your Mi Box.

- Connect your ADB cable from your PC/Mac to the Mi Box’s USB port.

- Make sure your Mi Box is set to Developer Mode and USB Debugging is on. Again you need to google how to do this on Nougat.

<— start —>

$adb root
$adb shell

#dd if=/dev/block/mmcblk0 of=/sdcard/backup-256mb.img bs=1024 count=262144

{wait for command to finish}

#exit

<— end —>

- Now that you’ve backed up the bootloader, we now transfer it for safekeeping out of the Mi Box to your PC/Mac

<— start —>

$adb pull /sdcard/backup-256mb.img

{wait for file transfer to complete}

<-- end -->

NOTE: Do not continue unless you end up with a file on your PC/MAC that’s 268,435,456 bytes (256MB). That is your lifeline to secure you don’t brick or lose functionality on your Mi Box.

- Now we transfer the modified bootloader (called rom3.img) from your PC/Mac to the internal memory of the Xiaomi Mi box

<—start —>

$adb push rom3.img /sdcard

{wait for file transfer to complete}

$exit

<— end —>

Part 2. Now we overwrite the bootloader of your Mi Box with the temporary modified one. Caution! Once you proceed there’s no turning back! You will either get a working Marshmallow Mi Box or one that may end up crippled (No Netflix HD) or worse bricked!

<— start —>

$adb shell
$dd if=/sdcard/rom3.img of=/dev/block/mmcblk0
$exit

<— end —>

- Next we reboot the Mi Box in recovery mode. Recovery mode is the same screen you saw/used when you flashed your Mi Box from Marshmallow to Nougat Beta.

<— start —>

$adb reboot recovery

<—end —>

Part 3. Reflash kernel from Nougat to Marshmallow.

At this point we now move from your PC/Mac to the actual Mi Box connected to a TV and you will use your Mi Box remote. Take note the reboot/recovery screen will be in vietnamese as the modified bootloader was made there.

- Unplug the ADB cable from your Mi Box and put in the USB Flash Drive that contains the file once_0464.zip

- Choose the item “Apply update from EXT”.

Sometimes it will take awhile for the Mi Box to recognize the Flash Drive, just keep selecting “Apply update from EXT” until you get the next screen

- Once you get to the next screen select the option that says “Update from udisk”.

- You will get a list of files from the flash drive. Select the file “once_0464.zip”.

The Mi Box will now proceed to re-flash from Nougat to Marshmallow.

Upon completion. You will taken back to the first recovery menu and from this select “Wipe Data/Factory Reset”.

Again sometimes the remote is finicky so press carefully to get to the next screen.

It will then ask you to confirm wiping and factory reset, select OK or YES.

- Reboot.

{wait for Mi Box to erase and reset the Mi Box to factory settings}

Part 4. Confirm Mi Box successfully reverted to Marshmallow and restore License keys for Netflix & Google Widevine

- You will now be presented with a out of the box Mi Box using Marshmallow. You will need to set it up again as per when you first got it. However your box’s serial number and DRM will be wiped so now we have to restore your Mi Box unique serial numbers/keys for all content to work properly.

- Once you complete the initial setup. Turn OFF the Wifi on the Mi Box so it does NOT update to current Marshmallow firmware.

- Ensure the Mi Box is again set to be in developer mode and USB Debugging is ON. Google how to do this in Marshmallow if you forgot.

- Re-connect your ADB cable from your PC/Mac to your Mi Box and from the terminal/prompt;

<—start —>

$adb root
$adb push backup-256mb.img /sdcard

{wait for file transfer to finish}

$adb shell
$dd if=/sdcard/backup-256mb.img of=/dev/block/mmcblk0

{wait for file transfer to finish}

$adb reboot recovery

<— end —>

5. Cleanup. Go back to the Mi Box. If you were successful, the recovery menu will be the language you got your box with.

- In the recovery menu of the Mi Box, do a last Wipe Data/Factory reset.

- reboot and re-setup everything. Your Mi Box should be fully reverted back to Marshmallow. Wifi should be on and the Mi Box will automatically update all the Marshmallow and apps to the current public release versions.

There maybe processes you prefer other than mine but as long as you accomplish each of the steps, you should be successful.