T95

Note! This page was (initially at least) assembled by a rank amateur who was just doing his best. Read with skepticism!

= Identification =

The top of the device has a logo with a large "T95" in a circle.

On the bottom the device is printed: T95 (5G) RAM: 4GB ROM: 32GB

The PCB has the following silkscreened on it: H616-T95MAX-AXP313A-v3.0

In android, under Settings->About Tablet, you will find:
 * Model Number: MBOX
 * Build Number: 10.1.A29-0712

= Sunxi support =

Current status
Support is work in progress.

Manual build
You can build things for yourself by following our Manual build howto and by choosing from the configurations available below.

Mainline U-Boot
While I was able to boot Mainline U-Boot (tagged v2023.01-rc2) from an SD card, I did not succeed in getting a working prompt. I used the U-Boot configuration  as a starting point, and went through many variations of this configuration.

The one configuration change/addition that I was able to determine was absolutely necessary was:

I'm told the T95 has secure boot enabled, and it won't load Mainline U-Boot without TOC0. With TOC0 enabled, the T95 output was:

U-Boot SPL 2023.01-rc2 (Dec 01 2022 - 13:43:28 -0700) DRAM: 4096 MiB Failed to set core voltage! Can't set CPU frequency SP

What's wrong?

I was just a conduit through which apritzel was troubleshooting, but my impression was the issue related to RAM timing. With  present in every configuration attempt, we tried:


 * Removing every line with I2C in the configuration and add
 * Setting/Lowering DRAM frequency with
 * Copying DRAM parameters from the  U-Boot configuration
 * and

All these attempts resulted in U-Boot quickly freezing on boot.

A basic U-Boot compile workflow: $ git clone git://git.denx.de/u-boot.git $ cd u-boot $ git checkout v2023.01-rc2 $ cd .. $ git clone https://github.com/ARM-software/arm-trusted-firmware.git $ cd arm-trusted-firmware $ make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_h616 DEBUG=1 bl31 $ cd ../u-boot $ make CROSS_COMPILE=aarch64-linux-gnu- BL31=../arm-trusted-firmware/build/sun50i_h616/debug/bl31.bin x96_mate_defconfig $ make CROSS_COMPILE=aarch64-linux-gnu- BL31=../arm-trusted-firmware/build/sun50i_h616/debug/bl31.bin menuconfig $ make CROSS_COMPILE=aarch64-linux-gnu- BL31=../arm-trusted-firmware/build/sun50i_h616/debug/bl31.bin $ dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8

Use the  build target.

Mainline Linux kernel
Use the  device-tree binary.

= Tips, Tricks, Caveats =

FEL mode
The button behind the 3.5mm audio jack (labeled UBOOT on the board) triggers FEL mode. This button can be pressed even while the board is in its case by sticking something like a paperclip straight through the 3.5mm jack. Feel around for something that "clicks".

= Adding a serial port (voids warranty) = This thing had a warranty?

To attach a serial console you'll need to open the T95 case and solder on wires or headers to the UART pads. Afterwards, you'll need to a UART-USB dongle or similar. See the UART howto for more details.



Device disassembly
You can pop off the bottom of the T95 case using the average Plastic tool. The bottom is held in using small clips only. If your case is like mine I'd suggest starting at the side with the Ethernet and HDMI connector.

Locating the UART
The UART pads are located between the USB0 port and the µSD slot. Refer to the picture at the side.

Connecting your serial console to these pads alone will be sufficient to read T95 console output, but the T95 will not receive any input. To allow console input two pads will need to be shorted on the underside of the board. Look for three tightly-grouped pads on the underside of the board, about 10mm off the back of USB0. Also, see the picture at the side.

From apritzel on IRC: [12:48]  upnix: as for the serial console: some of those TV boxes tend to drop a FET and resistor for the some UART pins, so you may be able to see output, but not be able to talk to the box

[12:49]  see here for an example: https://linux-sunxi.org/Eachlink_H6_Mini#Adding_a_serial_port_.28might_void_warranty.3F.29

= Pictures =

= Schematic =

= Also known as =

"T95" seems to be a popular name, used in many different TV boxes, with different SoCs. This is the version without any suffix (just "T95"), but make sure you get the "H616" version of it.

= See also =
 * X96 Mate - The device with a U-Boot configuration used to boot the T95 from an SD card (discussed above)

Manufacturer images

 * Potential T95 firmware (Scroll down, look for "T95 Firmware (H616) 2.4G/5G")
 * Use with PhoenixSuit and USB type-A male-male cable