Unlocking AML control boards over UART
AML board unlocking: the UART connection
The only working way to get the rollback option back on Amlogic boards that arrived with stock dated 29 September 2025 and newer. No soldering iron needed, a steady hand is.
Bitmain closed SSH on these boards and blocked the downgrade. The software routes are gone, the hardware one is left: connect to the debug port on the board, get into the uboot loader and allow USB to work by hand. After that the stock downgrades the normal way, and then the custom firmware goes on.
What you need
- An AML control board and a 12 V power supply.
- A computer or laptop with Windows.
- Any USB-UART adapter with the drivers installed. In this example, a Silicon Labs CP2102.
- A terminal program. In this example, PuTTY.
- Tweezers or a thin screwdriver to short the jumper.
Wiring
| Adapter | Control board |
|---|---|
| GND | GND |
| RXD | LINUX_TX |
| TXD | LINUX_RX |
The wires cross over: the adapter receive line goes to the board transmit line and the other way round. No power goes from the adapter to the board, it runs from its own 12 V supply.
Order of work
- Connect the adapter to the computer and find the COM port number in device manager. In this example it is COM7.
- Find the UART pins on the control board and connect as in the table above.
- Open PuTTY, select Serial mode, enter the port number and the speed 115200. Leave the rest at the defaults.
- Power the board up. The boot log should start running in the terminal. If nothing appears, check the port, the speed and whether RX and TX got swapped.
- Cut the power. Short the JP2 jumper with the tweezers.
- Make the terminal window active and power up. As soon as the first boot line appears, open the jumper and press space a couple of times. The ENV load should start.
- It did not work on the first try, that is normal. Cut the power, apply it again and short JP1 or JP2 a couple of times so the board goes into uboot mode.
- At the prompt enter
setenv bitmain_usb_switch 1. The command enables the USB port. - Enter
saveenvto save the setting into the board memory. - Reboot the control board.
After that the stock version downgrades the usual way, and you can put the firmware on the ASIC.
If it does not work out
- Nothing in the terminal. Wrong port, wrong speed, or RX and TX swapped. Swap the two wires, that is safe.
- Garbled characters. The speed is not 115200. Check the setting in PuTTY.
- The board will not enter uboot. The moment you open the jumper is critical. Try again, in our workshop this rarely works on the first attempt.
- The command is not accepted. The board booted in normal mode, not into uboot. Repeat from step 5.