17.02.2024: Раскирпичиваю TV Box H96 Max на процессоре Rockchip RK3318
Утро. Вытащил коробочку TV Box H96 Max из под стола, и занялся реанимацией. Учитывая общую говнистость несовершенство данной поделки этого изделия, материалов на данную тему до странного мало.
Например, на ютубе есть видос одного… Будем называть его Руслан, для общей понятности.
Пол видоса этот деятель разбирает приставку, подключает к компьютеру по USB, закорачивает какие-то «пяточки» на плате, а в самом конце тупо засовывает карту памяти с образом системы и заново прошивает.
Ну и зачем ты показываешь всё это?? Какого…. Всё, я спокоен. Собираю приставку обратно. И да, пока смотрел видос, разобрал «коробочку с HASS», чтобы найти те самые пятаки, о которых упоминал блоггер. Ну… зато отснял как матплата приставки выглядит снизу. Правда потерял один мелкий саморез, но это уже моя неловкость. В конце-концов, нашёл чем заменить.
Благо, карточка с образом системы у меня имеется. А вот инструкцию, пожалуй, перепишу сюда. А то уже второй раз перепрошивать приходится.
Как оживить TV Box H96 Max на процессоре Rockchip RK3318 (с Home Assistant)
UPDATE 09.08.2024:
Данная методика устарела. Во всяком случае, при очередном окирпичивании приставки она не сработала. Ряд ресурсов оказался недоступным для скачивания, изменились ссылки (либо их удалили или заблокировали). Пришлось накатывать Home Assistant на старенький компьютер с Debian, купленный на барахолке несколько лет назад, а приставку прошить оригинальной прошивкой и убрать на полку.
Процесс установки Home Assistant на Debian (с последующим восстановлением из бэкапа) описал тут.
Поскольку у меня на коробке TV Box H96 Max стоит Home Assistant, и она вдруг внезапно окирпичилась (перестала реагировать на включение и прочее), то нужный образ ещё с прошлой установки скачан и правильно залит на карту памяти. Кроме того, IP для коробочки зарезервирован на роутере. Ведь заходил же я раньше на устройство по веб-интерфейсу?
Если ты планируешь это делать с нуля, то вот инструкция. Надеюсь автор её не удалил.
Потому, подключаю сетевой кабель, вставляю карту памяти в разъём, подсоединяю монитор и клавиатуру, подключаю питание и, понаблюдав мигание синего и красного светодиода.
Если появится вот такое окно, нужно прожать EXIT.
Вижу список из девяти пунктов.
Учитывая, что нужный образ уже закачан на флешку, я выбираю пятый «Burn image to flash» и жму ОК.
Теперь выбираю устройство. Оно тут одно. Жму ОК.
Выбираю образ, который нужно «прожечь». У меня их два. Выбираю 22-й . Жму ОК.
Почему-то 23-й именно на моей приставке отказывается загружаться. Только-что попробовал снова, но нет. Так что 22-й.
Жду. Снова жду.
Жму ОК.
На новом экране выбираю пункт 9 (Shutdown), и приставка начинает светить красным светодиодом.
Отлично. Первый этап завершён. Операционная система установлена.
Не знаю почему, но если прошивать по SSH через Putty, то потом, после прошивки, SSH перестаёт работать и выполнить дальнейшие действия не получается.
Вынимаю из приставки карту памяти. Вынимаю и вставляю обратно штекер питания. Приставка замигала попеременно красным и синим светодиодом, загрузилась, предложила создать пароль для пользователя root.
Затем, предложит создать логин пароль для ещё одного пользователя. Ну создал. Почему бы и нет? Дождался окончания процесса.
Делаю апгрейд системы вот этими командами.
apt update apt upgrade
На вопросы отвечаю согласием (Y).
Пишу в командную строку reboot и наблюдаю за перезагрузкой системы.
Вот только теперь захожу по SSH через Putty, авторизуюсь под root’ом и начинаю последовательно вводить команды.
Комбинация клавиш для вставки из буфера обмена в терминал (в Putty) — Shift-Insert.
apt update
apt-get install jq wget curl udisks2 libglib2.0-bin network-manager dbus apparmor-utils systemd-journal-remote lsb-release -y
wget https://github.com/home-assistant/os-agent/releases/download/1.5.1/os-agent_1.5.1_linux_aarch64.deb
dpkg -i os-agent_1.5.1_linux_aarch64.deb
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh ./get-docker.sh sudo usermod -aG docker $USER
wget https://github.com/home-assistant/supervised-installer/releases/download/1.4.3/homeassistant-supervised.deb
sudo apt-get install systemd-resolved
reboot
Теперь, после перезагрузки, переподключаюсь по SSH.
sudo BYPASS_OS_CHECK=true dpkg -i homeassistant-supervised.deb
В появившемся окне выбираю odroid-c2.
Жму ОК.
Всё. HASS (Home Assistant) установлен. Теперь нужно немножко пошаманить настройки.
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 (копирую выделенное), возвращаюсь в консоль (Putty) и жму по ней правой кнопкой мыши (чтобы вставился скопированный код), жму Ctrl-S, жму Ctrl-X.
reboot
Снова переподключаюсь по SSH.
apt update apt install armbian-config armbian-config
По ходу установки ввожу Y, в нужном месте. Запускаю армбиан-конфиг (это третья команда).
UPDATE 01.04.2024: Что делать если armbian-config не устанавливается?
При очередном (уже третьем) раскирпичивании TV Box H96 Max на процессоре Rockchip RK3318 столкнулся с тем, что armbian-config отказался устанавливаться. Вот такая ошибка отобразилась в консоли.
E: Package 'armbian-config' has no installation candidate
Тогда я скачал его вручную из репозитория. Делается одной многоэтажной командой.
wget https://api.github.com/repos/armbian/config/tarball/master -O wget-armbian-config.tgz && tar -xzvf wget-armbian-config.tgz && tar -xzvf wget-armbian-config.tgz --wildcards --no-anchored 'debian-config'>c_path.txt && $(<c_path.txt) && rm c_path.txt && rm wget-armbian-config.tgz
Эта команда скачает репозиторий armbian-config с гитхаба, найдёт в нём исполняемый файл, запустит его.
После того, как всё настроите и закроете armbian-config, скачанный файл архива и временный текстовый файл (в котором хранится путь к исполняемому файлу) будет автоматически удалён за ненадобностью.
На диске останется папка armbian-config-КАКИЕ_ТО_ЦИФРЫ. Её можно удалить, но я бы оставил.
Если нужно будет ПОВТОРНО открыть конфигуратор (ну мало ли) вам достаточно в эту папку зайти и запустить файл debian-config. Я это делаю с помощью Midnight Commander (консольная команда mc).
Вот пример того, как эта папка выгляди у меня.
Захожу в папку (двойной клик мышкой) и вижу содержимое.
А вот и файл debian-config. Его можно запустить (двойной клик мышкой) и приложение для управления конфигурацией открывается.
Итак, armbian-config (он же debian-config) запущен. В открывшемся окне выбираю пункт меню Network, затем WiFi, листаю вниз, выбираю имя моей точки Wi-Fi, ввожу пароль от WiFi, жму ОК. И прожимаю Quit (переключение между кнопками осуществляется клавишей Tab, если не отрабатывает мышь).
Жму кнопку Back и возвращаюсь на главный экран конфигуратора. Там выбираю уже System.
Затем Hardware.
Ставлю галочку на rk3318-box-wlan-ap6334 (кнопкой Пробел).
Жму Save. Затем Back. На экране, между кнопками Reboot и Cancel выбираю Cancel. Дальше Back и Exit. Всё. Я вышел из конфигуратора в консоль.
Теперь отключаю бисючее мигание светодиодов.
sudo echo 0 > /sys/devices/platform/gpio-leds/leds/working/brightness
И перезагружаю коробочку.
reboot
Дожидаюсь окончания перезагрузки. Если перезагрузка не идёт (у меня она тупо выключает одноплатник) то передёргиваю штекер питания (вытаскиваю штекер питания из разъёма, секунд на 10, и втыкаю обратно).
Если всё нормально, то сначала на корпусе горит красный светодиод, затем начинает мигать красный и синий, и подконец горит уже только синий, без миганий.
В этом месте я снова вставил карту памяти и загрузил «мультитул», а с его помощью создал образ получившейся системы. Это было долго и… бесполезно, как показало последующее раскирпичивание. Почему-то, после заливки бэкапа система продолжает оставаться «кирпичом».
Завариваю чай (в кружку!) и ввожу в адресную строку браузера локальный адрес моего HASS. Что-нибудь типа http://ЛОКАЛЬНЫЙ_IP:8123
Вообще, для этой «коробочки» я зарезервировал IP в роутере. Для этого, в моей модели, было достаточно просто найти текущей IP в списке подключенных устройств и прожать резервирование по MAC-адресу. Теперь, сколько бы раз не перезагружался роутер, IP у «коробочки» останется тот, который зарезервирован.
Ну и вот что я вижу. Выбираю восстановление из резервной копии.
Резервная копия была заранее скачана, когда «коробочка» ещё не была кирпичом. Может не самая свежая, но лучше так, чем никак.
Перетаскиваю файл с копией в прямоугольник с кнопкой «UPLOAD BACKUP», прожимаю все нужные кнопки и ожидаю восстановления системы.
Это очень неспешный процесс, так что удаляюсь пить чай.
И вот бэкап применился.
Ставлю вотчдог.
apt-get update apt-get install watchdog
Почему-то после апгрейда конфиг куда-то запропастился.
Дальше использовал инструкцию из этого поста.
Затем, обновил кое-какие компоненты, и на сегодня решил больше ничем таким не заниматься. Тем более, что уже второй час ночи.
Между попытками починить HASS и написать эту инструкцию, мы скользили по гололёду, преодолевали вброд лужи, катались на электричках, кушали тортики и салатики. В общем, день прошёл прекрасно. Но допиливать HASS буду в другой когда-нибудь потом.
Нужно подумать над контролем температуры процессора. Возможно, стоит сделать это без лишней электроники?
Напишите комментарий