Manjaro ТВ-приставки Amlogic

ТВ-приставки Amlogic

From Manjaro
Revision as of 09:24, 27 February 2023 by Krotesk (talk | contribs) (Created page with "Замените '''X96AIR_Q1000_20210127-2121.img''' на путь к образу, который вы хотите прошить. Вам не нужно запускать...")
Other languages:
English • ‎Türkçe • ‎русский

ТВ-приставки Amlogic

Общий отказ от ответственности и предупреждение

Можно установить и запустить Manjaro на нескольких доступных ТВ-боксах с Android, использующих чипсеты Amlogic, такие как процессоры серий S905, S922 и A311. Эти ТВ-боксы можно приобрести за меньшую цену, чем одноплатный компьютер аналогичного класса, в комплекте с корпусом, пультом дистанционного управления и кабелями, но есть несколько недостатков, о которых следует знать.

Рынок ТВ-боксов Android изобилует подделками и клонами. Известны случаи, когда производители повторяли название одной и той же модели, но при этом использовали другой чипсет WiFi/Bluetooth или совершенно другую SoC. Например, существует как минимум восемь версий X96 Air, но все они имеют абсолютно одинаковый корпус. Производители ТВ-приставок редко или вообще никогда не предоставляют обновления для своих ОС на базе Android и оказывают нулевую поддержку пользователям, желающим запустить альтернативные операционные системы, поэтому добиться полной поддержки для каждой приставки практически невозможно.

Качество сборки - еще одна частая проблема ТВ-боксов, особенно часто встречаются плохие тепловые характеристики. Возможно, вам придется прорезать пару отверстий в корпусе и установить вентилятор с питанием от USB над SoC, чтобы добиться максимальной производительности ТВ-бокса, но для нормального использования это не требуется. Большинство ТВ-боксов на базе Amlogic оказались достаточно надежными.


Идентификация вашей коробки

В Android перейдите в Настройки -> Система -> О телефоне.

Имя устройства, указанное в разделе О телефоне, часто является наилучшим для идентификации вашего устройства, но вы также можете выполнить:

user $ cat /proc/device-tree/amlogic-dt-id COPY TO CLIPBOARD


Под терминалом Android, чтобы показать идентификатор дерева устройства бокса.


Установка

Manjaro можно установить с карты micro uSD или USB-диска. После установки можно использовать /boot/install-aml-emmc.sh для копирования вашей установки на eMMC на некоторых Amlogic TV боксах. Известно, что приставки на базе Beelink S922x в настоящее время не работают с этим скриптом, и, вероятно, другие модели также не будут работать при загрузке с eMMC, поэтому используйте скрипт на свой страх и риск.

Настройка uEnv.ini

После использования инструмента создания образа диска, такого как balenaEthcher или gnome-disks для записи одного из образов AM6 Plus или GT King Pro Manjaro ARM на SD-карту или USB-диск, смонтируйте диск и отредактируйте BOOT_MNJRO/uEnv.ini. Вы должны отредактировать строку, начинающуюся с dtb_name=, чтобы указать на файл dtb, который вы хотите использовать для настройки дерева устройств.

Если в каталоге dtbs нет точного соответствия dtb для вашего бокса, и вы не можете найти подходящий dtb на этой вики или на форумах Manjaro, то сначала попробуйте meson-g12a-x96-max.dtb, meson-g12a-sei510.dtb или meson-sm1-sei610.dtb:

dtb_name=/dtbs/amlogic/meson-g12a-x96-max.dtb

Загрузка с USB

Если вы загружаете Manjaro с USB-диска или через адаптер/корпус USB SATA, есть большая вероятность, что вам потребуется добавить параметр ядра usb-storage.quirks в оператор APPEND в extlinux.conf следующим образом:

APPEND root=PARTUUID=5418e4d8-02 rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 quiet splash plymouth.ignore-serial-consoles usb-storage.quirks=152d:1561:u

Вы должны заменить 152d:1561 на правильные идентификаторы производителя и продукта USB для вашего USB-устройства. Вы можете найти эти идентификаторы, запустив lsusb, когда ваш диск или адаптер подключен к Linux. Рекомендуется загружаться с USB без установки параметра USB storage quirks, если это возможно.


Включить режим мультизагрузки

Если вы впервые пытаетесь загрузиться с SD-карты или USB-диска, необходимо включить режим мультизагрузки. Вставьте микро SD карту Manjaro или подключите USB диск Manjaro, затем зажмите кнопку в AV порту, вставив скрепку, булавку или что-то подобное, и держите ее нажатой при включении устройства. Держите кнопку нажатой, пока не появится экран загрузки вашего устройства. Через несколько секунд устройство должно перезагрузиться с SD-карты или USB-диска. Это нужно сделать только один раз, если вы не перепрошиваете eMMC.


Перепрошивка Android

В экстренных ситуациях, например, когда Manjaro перестает загружаться из-за изменения или повреждения загрузчика, вам может понадобиться перепрошивка Android. Если у вас есть подходящий установочный образ для вашего телевизора и кабель USB A - A, вы можете использовать aml-flash-tool для перепрошивки вашего ТВ-бокса.

ВНИМАНИЕ Перед прошивкой образа необходимо создать резервную копию всего, что хранится на ТВ-боксе, поскольку все данные, хранящиеся на eMMC, будут стерты. Будьте осторожны, прошивайте только образы, созданные специально для вашего ТВ бокса, иначе вы можете "окирпичить" ваш бокс, что означает, что он не загрузится и вы не сможете включить режим мультизагрузки.

Установка aml-flash-tool

aml-flash-tool требует установки старых (0.1.x) библиотек libusb. Пользователи Debian и Ubuntu должны установить libusb-dev, а пользователи Arch и Manjaro Linux должны установить libusb-compat.

Клонируйте репозиторий aml-flash-tool:

user $ git clone https://github.com/osmc/aml-flash-tool.git COPY TO CLIPBOARD


Скопируйте aml_image_v2_packer и программу amlogic update в свой каталог:

user $ cp ./aml-flash-tool/tools/linux-x86/* ~/.local/bin COPY TO CLIPBOARD


Теперь вы готовы к запуску файла flash-tool.sh

Перепрошивка с помощью flash-tool.sh

Отключите питание от ТВ-приставки и подключите кабель USB A - USB A к ТВ-приставке. Можно по-разному выбирать порт, но обычно для перепрошивки подходит только один порт. Теперь вставьте булавку или что-то подобное в отверстие AV, нажмите на кнопку и держите ее нажатой, пока подключаете кабель USB A - A к другой машине. Вы узнаете, когда ваш ТВ бокс будет готов к прошивке с помощью flash-tool.sh, потому что увидите устройство Amlogic в списке при запуске lsusb.

Когда вы увидите, что ваш ТВ-приставка подключена, то можете прошить ее с помощью команды, например:

user $ ./flash-tool.sh --img=X96AIR_Q1000_20210127-2121.img --parts=all --wipe --soc=sm1 COPY TO CLIPBOARD


Замените X96AIR_Q1000_20210127-2121.img на путь к образу, который вы хотите прошить. Вам не нужно запускать flash-tool.sh от имени root.

External Amlogic TV box firmware download links

Download and flash these firmware files at your own risk! These sites and manufacturers are in no way connected to Manjaro and so the Manjaro developers will not provide any support for installing these.

Evolution TV has firmware downloads for several TV boxes.

SLIMBOX is a custom Android firmware for Amlogic TV boxes.

Rooting Android

Having root access under Android is useful because this lets you copy your dtb file(s). Whilst you cannot use Android dtbs with the Manjaro mainline kernels, you can decompile them to dts files and this info can be useful when customising dts/dtb files that work with your kernel, if you have the skills and time to dedicate towards developing or modifying device tree files.

Some TV boxes come pre-rooted whilst others include an app to easily enable root/sudo access. You can use the Android Root Checker app to test if you have root access. If your TV box doesn't offer any root support then you can use TWRP and Magisk to root it. Note this isn't a permanent root solution and you will be required to boot off a Magisk modified SD card to enable root access.

Download the latest X96 Max (u212) build of TWRP. This build of TWRP should boot on most Amlogic TV boxes, not just the X96 Max.

Format a micro SD card as FAT32 and copy the twrp image (twrp-3.5.2_9-0-u212.img) onto it and rename it to recovery.img. Insert the micro SD into your TV box then hold in the multiboot AV button in whilst inserting the power until you see the boot screen. Your TV box should then reboot into TWRP.

Swipe (drag the button with your USB mouse) to allow modifications. On the main TWRP menu, choose Backup. The only partition we want to backup is the Boot partition, which should already be selected. Deselect the Data partition if that is auto-selected then click Select Storage, choose the Micro SD card then swipe to backup the boot partition. It should only take a few seconds before you are given the option to reboot.

Next, install and run Magisk under Android. When installing Magisk, choose Recovery mode then select the Select and Patch a File method. You will then be asked to locate the backup of the boot partition we created with TWRP so navigate to SD card/TWRP/BACKUPS/1234567890/SOMEDATE/boot.emmc.win and double-click the boot partition image file then choose Let's go. Magisk will then patch the ramdisk within the boot image and create a new recovery image called magisk_patched-something.img that gets saved to your Android Downloads directory. Copy this new image file from Downloads onto a micro SD card and rename it recovery.img so that you can multiboot from it, rooted.


dtb-файлы

A DTB file is a Linux Device Tree Blob. Device Tree Compiler (dtc) converts between the human editable device tree source "dts" format and the compact device tree blob "dtb" representation usable by the Linux kernel. A DTB file is required on ARM Linux devices to configure and enable certain types of hardware supported by the Linux kernel.

The Ugoo AM6 images use the linux-khadas kernel by default. You are more likely to get your TV box's onboard wifi working by installing the linux-odroid kernel instead.


Recommended .dtb files

This is a list of Amlogic TV boxes and the dtbs that offer the best support. Please provide a download link if the dtb is not packaged with the Manjaro vim or aml kernel.


A95X F2 - meson-g12a-u200.dtb - Boots but no ethernet, wifi or bluetooth.

Beelink GT King Pro - meson-g12b-gtkingpro-pro.dtb or meson-g12b-ugoos-am6.dtb - works with the older linux-vim 5.9.y or 5.10.y series and current mainline linux 5.12.y kernels.

X92 v2 - meson-gxm-q201.dtb

X96 Air Q1000 - meson-sm1-sei610-qca9377-bt - Tested with linux-aml kernel 5.12. Working gigabit ethernet, WiFi and HDMI audio. No support for onboard audio or LED display. Onboard bluetooth was working but it has stopped working under recent Manjaro releases.

X96 Max Plus - meson-sm1-x96maxplus-vim100m.dtb - There are several versions of the X96 Max Plus. This dtb is configured for those with the rtl8822cs WiFi chipset in which case you should get HDMI audio, WiFi, Bluetooth and 100Mb ethernet if you install the rtl8822cs DKMS kernel module package.

Useful device tree commands

Decompile dtb to dts:

user $ dtc -I dtb -O dts -o devicetree.dts devicetree.dtb COPY TO CLIPBOARD


Compile a dts to a dtb:

user $ dtc -O dtb -o devicetree.dtb devicetree.dts COPY TO CLIPBOARD


DTB extractor - Tool to split a kernel image with appended dtbs into separated kernel and dtb files.

dtb/SoC code names

This is the dtb naming scheme used for the various Amlogic SoC's, which may help you find a working dtb:

gxbb → S905
gxl → S905X
g12a → S905X2
g12b → S922X
gxm → S912
sm1 → S905X3

Tips and tricks

Enable graphics acceleration

Edit /etc/X11/xorg.conf.d/01-panfrost.conf and change AccelMethod from none to glamor.

The mesa Mali driver, Panfrost, is optimised for use under Wayland so you should get better GPU performance using Wayland-based desktops.


Hardware accelerated video playback

The meson-vdec kernel module offers support for decoding MPEG 1/2/4, h264, h265/HEVC and VP9 in hardware but it currently only seems to work with mpv for some codecs up to Full HD / 1080p resolution @ 30 fps, despite the hardware supporting 4K.

user $ mpv --vo=gpu --hwdec=v4l2m2m-copy --hwdec=auto videofile COPY TO CLIPBOARD


Вы можете добавить эти опции в ~/.config/mpv/mpv.conf чтобы не вводить их при каждом запуске mpv.


CH340-fan-control

CH340-fan-control is a python script to control a USB fan.


HDMI audio script

Some users have reported running g12_sound.sh has fixed their HDMI audio. If you are having HDMI audio issues, you will likely already have g12_sound.sh installed so run the script then:

user $ sudo systemctl enable sound COPY TO CLIPBOARD


Перезагрузитесь и попробуйте!


Раскирпичивание

Если вы вывели из строя ТВ-приставку AMlogic, но подозреваете, что аппаратное обеспечение все еще в порядке - можете попробовать создать загрузочную карту восстановления uSD, или попробовать использовать инструмент Amlogic burn card maker под Windows для восстановления прошивки с карты uSD, но у меня не было никакого успеха с этими методами.

Лучшим вариантом для разблокировки ТВ-приставки является поиск местоположения контактных площадок или контактов maskrom, так как обычно можно оживить приставку, закоротив пару контактных площадок или ножек микросхемы на материнской плате. Для этого необходимо открыть ТВ-приставку, что, скорее всего, приведет к аннулированию гарантии, если она у вас есть.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.