RK3318-box ARMBIAN
Собираем мини ПК на процессоре rk3318 из телевизионной приставки.
Характеристики процессора RK3318
Центральный процессор: 4 ядра ARM Cortex-A53 частотой 1,5 Ггц
Графический процессор: Mali-450 MP3 @ 750 MHz
Контроллер оперативной памяти: DDR3-1866МГц /DDR3L-1866 МГц /LPDDR3-1866 МГц /DDR4-2133 МГц
Аппаратная работа с форматами: 4K, VP9, 4K 10 bits, 1080 P
Кодеки: 4K UHD H265, H264, VP9, HDR10, HLG
Интерфейсы HDMI 2.0, USB 3.0, Ethernet 100M, Wi-Fi 2,4GHz/5GHz
Характеристики приставки
Название брендаH96 MAX
ПроисхождениеКитай
МощностьDC 5 В, 2А
Вес360g
Поддержка Bluetooth4.0
ОЗУ 4 гб / желательно выбирайте (больше не меньше)
Встроенная память64 ГБ emmc накопитель
Беспроводное подключение Да WiFi
Ethernet 100 Мбит/с
Слот для карты памяти Micro SD до 32 ГБ
Макс. разрешение видео 4K @ 60 Гц
USB 2.0 ДА
USB 3.0 ДА
Звук Джек 3,5 мм
Видео выход hdimi
Установка Armbian linux:
Установка на данную приставку очень простая на самом деле. Для этого нам понадобится флешка microsd.
У данной приставки есть emmc на 64 Гб. И приоритет загрузки у приставки следующий:
Если вставлена microsd карта, то попытается приставка грузиться с нее. Если же там нет ничего загрузочного, то грузиться будет с emmc.
Собственно и мы сделаем загрузочную флешку Microsd с которой загрузимся и установим linux armbian в память emmc приставки.
Для начала нам нужно скачать Armbian образ и multitool образ. Я скачивал отсюда:https://users.armbian.com/jock/rk3318/
В общем скачиваем multitool.img.xz и Armbian_22.08.0-trunk_Rk3318-box_jammy_edge_5.18.14_kde-plasma_desktop.img.xz
я использовал именно этот образ, про другие не знаю, пробовать надо, думаю заработает и с другими.
Еще есть сайт с китайскими armbian образами под данный tvbox, если хотите, то можно ознакомиться тут: https://mirrors.aliyun.com/armbian-releases/rk3318-box/archive/?spm=a2c6h.25603864.0.0.286466b9yYks61 или тут: https://imola.armbian.com/dl/rk3318-box/archive/
И еще скачиваем программу rufus:https://rufus.ie/ru/
Rufus нам понадобится для установки Multitool на флешку Microsd.
Запускаем программу rufus, в ней выбираем в поле “Устройство” флешку на которую будем записывать.
А в поле “Метод загрузки” выбираем образ multitool.img.xz И нажимаем кнопку “Старт“. После чего образ Multitool благополучно установится на microsd карту.
После установки образа на флешку, у нее не правильно распределены разделы будут. Это можно увидеть в Управлении компьютером ->Управлении дисками:
Для того, чтоб Multitool раздел расползся на все нераспределенное пространство, нужно просто вставить Microsd карту в приставку и включить ее. После чего она загрузится с образом Multitool и он автоматом все пространство себе заберет не распределенное. И получится вот так:
Но нужно еще будет этому разделу Multitool присвоить букву. Иначе он не будет виден в системе. А он нам нужен, так как на него будет закидывать образ Armbian.
В общем по разделу тыкаем правой кнопкой и выбираем пункт изменить букву диска. И присваиваем ему любую букву.
После этого в “Компьютер” появится логический диск Multitool с папками. Так вот там есть папка “images” в эту папку нам нужно закинуть образ
После того как закинули образ в папку images. Вытаскиваем microsd флешку и вставляем в приставку H96Max и подаем питание.
Загрузится Multitool и подключив клавиатуру стрелками можем сначала сделать Бэкап андроида который стоит тут предустановленным:
А после того как сделали резервную копию, можем установить armbian
После чего armbian установится. Так-же если захотите переустановить его, то всегда это можно сделать точно так-же. Вставим microsd флешку в приставку и загрузить образ с нее armbian. Как по мне, этот вариант еще проще чем с одноплатными компьютерами.
Настройка WI-fi.
С wi-fi тут отдельная тема. Говорят, что на таких приставках их 3 разных вида попадается. Мне не с чем сравнивать, по этому описываю решение конкретно моей приставки.
Чтоб заработал wi-fi, то нужно поменять драйвер. Как это сделать?
Сначала удаляем драйвер старый:
sudo rm -f /usr/lib/firmware/brcm/brcmfmac4334-sdio.rockchip,rk3318-box.txt
Следующей командой его создаем заново, чтоб он был пустым:
sudo nano /usr/lib/firmware/brcm/brcmfmac4334-sdio.rockchip,rk3318-box.txt
Теперь откройте этот небольшой текстовый файл нажмите Ctrl-A, чтобы выделить в нем весь текст, затем Ctrl-C, чтобы скопировать его в буфер обмена; Так же на всякий случай файл оставлю у себя на диске, а то малоли, потеряется еще. https://disk.yandex.ru/d/-7MqtUEx-PEMhg
Переключитесь в окно SSH, щелкните правой кнопкой мыши, чтобы вставить скопированный текст в nano , затем нажмите Ctrl-S для сохранения и Ctrl-X для выхода;
Ну и далее перезапускаем armbian.
reboot
После перезагрузки, установим программу armbian-config.
apt update
apt install armbian-config
После установки, запускаем armbian-config
sudo armbian-config
Там переходим в Network->wifi->и выбираем сеть wi-fi к которой хотим подключиться и подключаемся. Ошибок больше не будет.
Починка Bluetooth.
Так-же удалось заставить работать Bluetooth на приставке. Как оказалось, все довольно просто.
В данной приставке у меня используется чип Wi-fi и Bluetooth SP2734C – он же копия чипа AP6334.
Зная эту информацию нужно сделать следующее.
Запустить Armbian-config (при условии, что он у Вас уже установлен ранее)
sudo Armbian-config
Там выбрать System ->Hardware-> и поставить галочку у rk3318-box-wlan-ap6334
Далее предложит перезапустить систему, перезапускаем.
Далее снова запускаем Armbian-config
sudo Armbian-config
Далее заходив в Network -> BT install после чего установятся компоненты необходимые для работы с блютуз. И после блютуз начнет работать.
Отключение Debug на uart интерфейсе приставки H96max на RK3318.
Значит, смотрите. Тот UART интерфейс который выведен на приставке предназначен, для того, чтоб подключиться к консоли приставки, авторизироваться и производить настройки. Так-же видеть этапы загрузки и ошибки, если они появляются, до включения монитора.
Особенность UART интерфейса, такая, что к нему можно подключиться только одному устройству или программе. Так как этот интерфейс работает в режиме вывода консоли, то он у нас всегда в системе занят.
Наша задача его освободить. Делается это очень просто. Нужно просто ввести пару команд в операционной системе armbian.
В общем debug этот интерфейс имеет название /dev/ttyS2 . Вот его и будем высвобождать.
Итак, сначала вводим команду:
sudo lsof -n | grep /dev/ttyS2
Она выведет нам, занят ли чем-то интерфейс ttyS2 или нет. Если ничего не вывело, то он свободен, но в нашем случае он занят.
Из приведенного скрина выше видим, что порт ttyS2 действительно занят программой agetty. А вот порт для примера ttyS3 свободен и ничего не вывел.
В общем далее приступаем к отключению программы aggety от порта ttyS2.
Преходим в папку systemd:
cd /etc/systemd/system
В этой папке нам нужно отключить службу serial-getty@ttyS2.service
systemctl stop serial-getty@ttyS2.service
Командой выше мы останавливаем serial-getty и он больше не держит наш интерфейс ttyS2. Но после перезагрузки, он снова его схватит. По этому нужно еще выполнить следующую команду:
systemctl mask serial-getty@ttyS2.service
после ввода этой команды, перезагрузка уже не запустит serial-getty и порт ttyS2 будет всегда свободен.
Прошивка Zigbee контроллера CC2652P с помощью USB/TTL программатора.
CC2652p: https://alii.pub/6u0uj7?erid=2SDnjeSa7Ut
USB/TTL конвертор: https://alii.pub/6u0umb?erid=2SDnjcaMMPe
Антенна Wi-fi: https://alii.pub/6u0uo2?erid=2SDnjdaAsP6
Для этого нам нужно скачать программу ZigStarGW-MT. Ее можно скачать по ссылке тут: https://github.com/xyzroe/ZigStarGW-MT/releases
Скачать прошивку можно отсюда: https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin
Значит тут нам понадобится напаяться к пинам VCC, GND, DIO_13, DIO_12 – это с одной стороны и замкнуть пин DIO_15 с GND на другой стороне. Но учтите, замыкать нужно временно, по этому лучше напаять 2 провода и просто их скрутить между собой.
DIO_12 – это пин уарт RX. А DIO_13, пин уарт TX.
USB/TTL конвертор | CC2652P | Примечание |
3.3 V | VCC | |
GND | GND | |
TX | DIO_12 | |
RX | DIO_13 | |
DIO_15 и GND | СОединить время при подключении к USB и первой прошивке, чтоб ввести в режим прошивки контроллер. Далее контакты разомкнуть. |
В программе выбираем COM порт к которому подключен USB/ttl конвертор. И сначала делаем Erase (очистить модуль cc2652P). Это сделать обязательно, иначе без этого, если Вы загрузите прошивку, то она попросту не будет работать в zigbee2mqtt. Уже проверено… голову поломал я, да и не только я. Так что сначала Erase.
После того как сделали Erase. Выбираем прошивку в формате .hex . Ставим галочку на “Write” и нажимаем кнопку “Write”.