//

Программы (Автор: dez)

Прошлой осенью наткнулся на статью про накатывание линукса на ТВ-приставку с андроидом, что пришлось мне весьма кстати - "диванный комп" как раз получил себе новый дисплей, оставив старый телевизор временно без дела. В принципе, подобные фокусы можно проделывать с разными приставками, но в той статье речь шла конкретно про H96 MAX V56. Именно её я и взял - чем меньше отклонений от инструкции, тем проще. Обошлась мне эта железка где-то в 5к рублей, что почти в два раза дешевле, чем Raspberry Pi. То есть это очень даже интересный вариант, если отсутствие GPIO не парит и планируется использование этой штуковины в качестве мини-ПК или сервера.

Выглядит эта штука как-то так:

Общий вид в корпусе h96 max v56

Для накатывания линукса нам понадобится достать где-то подходящий образ и записать его на SD-карту, но прежде чем мы сможем подсунуть карту андроид-боксу, придётся сначала припаять держатель для micro-SD карты на плату. Работа эта не сложная - футпринт для слота уже предусмотрен на плате. Но да, придётся сходить за держателем в магазин, а потом ещё сделать отверстие в корпусе. Дизайнеры позаботились об охлаждении и сделали боковые стенки похожими на "расчёску", что в целом-то радует, но по этой же причине аккуратное отверстие ровно под карту сделать будет сложно - скорее всего выламывать придётся целые "зубья".

Фото платы "до" я забыл сделать, а вот "после" - пожалуйста:

armbian h96 sd card

Теперь поговорим про образ. Его предлагается собирать на своей машине, но благодаря стараниям сообщества энтузиастов это тоже работа непыльная - нам просто нужно выполнить в консоли Linux несколько команд:

sudo apt update

apt-get -y -qq install git

mkdir ~/armbian

cd armbian

git clone --depth=1 --branch=main https://github.com/armbian/build

cd build

export DISTRIBUTION_STATUS=unsupported # Required before any subsequent compilation.

export FORCE_CHECK_MD5_PACKAGES=no # Required before any subsequent compilation.

./compile.sh build BOARD=h96-tvbox-3566 BRANCH=current BUILD_DESKTOP=yes BUILD_MINIMAL=no DESKTOP_APPGROUPS_SELECTED='browsers desktop_tools internet multimedia programming' DESKTOP_ENVIRONMENT=gnome DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base KERNEL_CONFIGURE=no RELEASE=noble

Однако есть нюанс. Выполнять эти команды крайне желательно на машине под управлением конкретной ОС - Ubuntu 22.04.x LTS. Можете рискнуть и попробовать другую версию Ubuntu или Debian, но если у вас совершенно другой дистрибутив - тут вообще никаких гарантий. На эти грабли я успешно наступил, попробовав собрать образ в Linux Mint. Казалось бы, какая разница? Тут линукс, там линукс... А в итоге скрипт отказался выполняться с ошибкой:

error! [ Unsupported build system: 'uma' ]

Если будете заводить новую виртуалку для этой процедуры, учтите, что места нужно достаточно много - выделите хотя бы 20 ГБ на машину. В качестве плана Б можно создать второй образ жёсткого диска и подключить его через свойства виртуальной машины (ну и в /etc/fstab поковыряться).

После сборки образа у меня получился файл с именем Armbian-unofficial_25.02.0-trunk_H96-tvbox-3566_noble_current_6.12.6_gnome_desktop.img (у вас номера версий могут отличаться). Далее берём карточку получше да побыстрее, объёмом 32 ГБ или больше, и с помощью balenaEtcher записываем на неё образ.

Теперь можно пробовать с неё загрузиться. Просто вставляем SD-карту, подключаем монитор, клавиатуру, и подаём питание. После пары вопросов про раскладку и часовой пояс мы должны оказаться на рабочем столе.

armbian h96 desktop 1armbian h96 desktop 2

При этом Android никуда не делся - он установлен во внутренней плате и им всё ещё можно пользоваться, если включить приставку без SD-карты :)

В принципе это уже почти успех, но остаётся одна небольшая проблемка - на этом этапе интернет скорее всего будет только проводной. Но ведь андроид-бокс поддерживает Wi-Fi, то есть нужное железо-то у нас есть! К счастью, вопрос этот вполне решается путём скачивания определённого файла и копипастинга неприлично большого куска текста.

В общем, чтобы Wi-Fi заработал, делаем сначало это:

cd /lib/firmware/brcm/

sudo wget https://github.com/CoreELEC/brcmfmac_sdio-firmware-aml/raw/master/firmware/brcm/fw_bcm4335b0_ag.bin

sudo ln -s fw_bcm4335b0_ag.bin brcmfmac4335-sdio.h96-TVbox,rk3566.bin

sudo shutdown now

И после перезагрузки нужно сделать ещё вот это

nmcli dev wifi

sudo nano /lib/firmware/brcm/brcmfmac4335-sdio.txt

# -------- Скопировать текст ниже в nano: --------

# bcm94335wlcspMS_ES50_RC171p24p23_04052013_AM_mdfy_PAparam.txt -- 4/5/2013 by Murata, based on bcm94335wlcspMS_ES50_RC171p24p20_04022013_AM.txt, changed PA parameters and txidxcap parameters and ccode.
# bcm94335wlcspMS_ES50_RC171p24p20_04022013_AM.txt -- 4/2/2013 by Broadcom Corporation
# Use with AARDVARK_REL_6_30_171_24_23 -- Murata BCM4335 WLCSP 11AC Module
# Sample variables file for Murata Type-XJ ES5.0 (0x00 0x11) -- bcm94335wlcspMS_AM_P400.txt as original
sromrev=11
boardrev=0x1500
boardtype=0x064b
boardflags=0x10401001
boardflags2=0x0
#updated boardflags3 for forcing to enable external LPO
boardflags3=0x0800c08b
macaddr=00:90:4c:c5:12:38
#ccode modified by Murata
#ccode=0
ccode=XS
regrev=0
antswitch=0
pdgain5g=1
pdgain2g=1
tworangetssi2g=0
tworangetssi5g=0
femctrl=4
vendid=0x14e4
devid=0x43ae
manfid=0x2d0
#prodid=0x052e
nocrc=1
#otpimagesize=502
xtalfreq=37400
extpagain2g=1
extpagain5g=1
rxgains2gelnagaina0=2
rxgains2gtrisoa0=6
rxgains2gtrelnabypa0=1
rxgains5gelnagaina0=3
rxgains5gtrisoa0=5
rxgains5gtrelnabypa0=1
rxchain=1
txchain=1
aa2g=1
aa5g=1
ag0=0
ag1=0
tssipos5g=1
tssipos2g=1
#PA parameters (2G20M/2G40M/5G20M/5G40M/5G80M)
#PA parameters modified by Murata
#pa2ga0=-208,6208,-764
#pa2ga1=-203,6429,-793
#pa5ga0=-167,5736,-685,-157,5669,-670,-157,5548,-665,-141,5621,-664
#pa5ga1=-101,6543,-735,-99,6452,-731,-147,5743,-695,-75,6468,-723
#pa5ga2=-172,5903,-708,-160,5868,-698,-113,6264,-722,-125,5915,-684
pa2ga0=0xff31,0x1759,0xFD1D
pa2ga1=0xff35,0x18BB,0xFCEC
pa5ga0=0xff78,0x1715,0xFD49,0xff89,0x1714,0xFD57,0xff86,0x1652,0xFD62,0xffa9,0x1760,0xFD5E
pa5ga1=0xff56,0x1596,0xFD5F,0xff88,0x1764,0xFD45,0xff89,0x1632,0xFD65,0xff69,0x160E,0xFD49
pa5ga2=0xff5a,0x1667,0xFD4E,0xff5f,0x15F7,0xFD5E,0xff5a,0x1531,0xFD68,0xff6e,0x1587,0xFD6A
# Default Target Power for 2G -- 17dBm(11)/14dBm(54)/13dBm(MCS7,MCS8)/16dBm(6,MCS0)
maxp2ga0=74
cckbw202gpo=0
cckbw20ul2gpo=0
dot11agofdmhrbw202gpo=0x6666
ofdmlrbw202gpo=0x0022
mcsbw202gpo=0x88866662
# Default Target Power for 5G -- 14dBm(54)/13dBm(HT20-MCS7,VHT20-MCS8)/12dBm(HT40-MCS7,VHT40-MCS9)/11dBm(VHT80-MCS8/MCS9)/16dBm(6,20HT-MCS0)
maxp5ga0=74,74,74,74
# Low
mcslr5glpo=0
mcsbw205glpo=0x88866662
mcsbw405glpo=0xAAA88884
mcsbw805glpo=0xCCCAAAA6
# Mid
mcslr5gmpo=0
mcsbw205gmpo=0x88866662
mcsbw405gmpo=0xAAA88884
mcsbw805gmpo=0xCCCAAAA6
# High
mcslr5ghpo=0
mcsbw205ghpo=0x88866662
mcsbw405ghpo=0xAAA88884
mcsbw805ghpo=0xCCCAAAA6
#20MHz High Rate
sb20in40hrpo=0x0
sb20in80and160hr5glpo=0x0
sb20in80and160hr5gmpo=0x0
sb20in80and160hr5ghpo=0x0
#40MHz High Rate
sb40and80hr5glpo=0x0
sb40and80hr5gmpo=0x0
sb40and80hr5ghpo=0x0
#20MHz Low Rate
sb20in40lrpo=0x0
sb20in80and160lr5glpo=0x0
sb20in80and160lr5gmpo=0x0
sb20in80and160lr5ghpo=0x0
#40MHz Low Rate
sb40and80lr5glpo=0x0
sb40and80lr5gmpo=0x0
sb40and80lr5ghpo=0x0
dot11agduphrpo=0x0
dot11agduplrpo=0x0
tssifloor2g=80
tssifloor5g=160,190,240,260
#rpcal:use with 171.17 or later, compensates filter ripple
rpcal2g=0x0
rpcal5gb0=0x0
#cckdigfilttype[0-7] 0:default
cckdigfilttype=2
phycal_tempdelta=25
#GPIO 0 for SDIO HW OOB interruption
muxenab=0x10
#sd_gpout=0
#sd_oobonly=1
rssicorrnorm_c0=-3,-2
rssicorrnorm5g_c0=-1,0,-3,-1,0,-3,-3,-2,-4,-3,-2,-4
#txidxcap2g and txidxcap5g modified by Murata
#txidxcap2g=32
#txidxcap5g=44
txidxcap2g=36
txidxcap5g=36
paparambwver=1


# -------- Сохранить файл: Ctrl+O, выход на Ctrl+X. --------

sudo rmmod brcmfmac_wcc brcmfmac brcmutil # ignore any errors

sudo modprobe brcmfmac

sudo reboot now

Вот теперь самая жесть позади, и у нас есть вполне функционирующий мини-ПК. Самое важное я пересказал и на этом, пожалуй, остановлюсь. Но вообще, в исходной статье есть ещё всякие интересные замечания, например про установку Armbian на внутреннюю память eMMC, про всякий мелкий тюнинг ОС и что неплохо бы установить Хромиум и смотреть на нём ютубчик. При желании можете их заценить.

Статья опубликована 2025-05-02 10:23:53, её прочитали 108 раз(а).

Внимание! Комментарии публикуются после проверки (что занимает некоторое время).
Сообщение может быть отклонено, если содержит спам, противозаконный контент, а так же оскорбления и грубость по отношению к другим участникам обсуждения.

Добавить комментарий