Установка Klipper на H96 Max Rockchip RK3318

8

Сегодня у нас немного техническая статья, посвященная установке прошивки Клиппер на ТВ-бокс H96 Max с процессором Rockchip RK3318.

Информация для тех, кто забрёл случайно: Клиппер, это одна из открытых прошивок для управления 3D-принтерами, реализующая архитектуру «клиент-сервер», в которой клиентская (ведомая) часть устанавливается на плату управления принтером, а серверная (ведущая) на какой-нибудь хост с Линуксом.

Обычно таким хостом выступает одноплатный компьютер, например что-нибудь из семейства Raspberry Pi, Orange Pi и д.р. Проблема в том, что одноплатники эти нифига не дешевеют со временем, что вынуждает искать альтернативы.

Одной из таких альтернатив является использования перепрошитого ТВ-бокса. Что мы сейчас и продемонстрируем.

Открываем алиэкспресс и ищем «h96 max rk3318», выбираем понравившийся вариант, заказываем.Например, вот этот — https://aliexpress.ru/item/4001309064162.html или этот https://aliexpress.ru/item/33017414051.htmlНа момент написания статьи там просят ~2300 за версию с 2 Гб оперативной памяти и 16 Гб eMMC. Для Клиппера этого более чем достаточно.

Мне же ждать было несколько лениво, так что я пошел другим путём – купил бу-шку на авито. В объявлении не было указано сколько там памяти, так что брал вслепую.

Установка Klipper на H96 Max Rockchip RK3318

Внезапно, полный комплект. Хотя на фото была только приставка.

Установка Klipper на H96 Max Rockchip RK3318И что совсем неожиданно – версия 432.

Готовим флэшку.

1) Скачиваем Rufus с https://rufus.ie

2) Скачиваем multitool.img.xz и Armbian_23.08.0-trunk_Rk3318-box_bookworm_edge_6.3.13_minimal.img.xz с https://users.armbian.com/jock/rk3318/

Пишем multitool образ на microSD

Установка Klipper на H96 Max Rockchip RK3318

Теперь у вас должно появится два раздела – BOOTSTRAP и MULTITOOL.

Установка Klipper на H96 Max Rockchip RK3318

Если появился только первый, то второму нужно назначить букву диска:

Установка Klipper на H96 Max Rockchip RK3318Заходим в меню управления разделами, ПКМ на MULTITOOL, «Изменить букву диска или путь к диску», добавляем букву. Сохраняем, закрываем меню.

Теперь копируем образ системы Armbian_23.08.0-trunk_Rk3318-box_bookworm_edge_6.3.13_minimal.img.xz в G:images

Извлекаем флэшку, вставляем в выключенную приставку, подаём питание. Если всё сделано правильно, приставка автоматически загрузится с microSD и покажет текст лицензии GNU GPL.

Отключать один из своих мониторов было влом, так что первичную настройку я проводил подключив приставку к телевизору. Пусть хоть разок поработает по своему прямому назначению =)

Установка Klipper на H96 Max Rockchip RK3318

Выходим из лицензии и попадаем в меню Мультитула.

Если вам вдруг нужен образ установленного на приставке андроида, то его можно сохранить через опцию «Backup flash». Мне он точно не понадобится, так что сразу выбираю «Burn image to flash».

Установка Klipper на H96 Max Rockchip RK3318

Куда? На eMMC

Установка Klipper на H96 Max Rockchip RK3318

Что? Приготовленным нами Armbian

Установка Klipper на H96 Max Rockchip RK3318Ждём минуту-другую …

Установка Klipper на H96 Max Rockchip RK3318

Готово

Установка Klipper на H96 Max Rockchip RK3318С мультитулом закончили — выключаем систему, вынимаем карточку.

Установка Klipper на H96 Max Rockchip RK3318

Передёргиваем питание приставки (никаких органов управления на ней нет) и попадаём в опросник первого запуска.

Сперва нас попросят придумать пароль учетной записи root (суперпользователя).

Установка Klipper на H96 Max Rockchip RK3318Затем создать учетную запись обычного пользователя. Под ней и будет, в дальнейшем, работать Клиппер.

Установка Klipper на H96 Max Rockchip RK3318

Теперь предлагает присоединиться к WiFi. Ну давай попробуем …

Установка Klipper на H96 Max Rockchip RK3318Выбираем сеть, вводим пароль, иии-и-и-и … фиг там.

Установка Klipper на H96 Max Rockchip RK3318

Установка Klipper на H96 Max Rockchip RK3318

Ну, не очень-то и хотелось.

Потом посмотрим, чего ему надо.Дальше по опроснику локаль и часовой пояс.

Установка Klipper на H96 Max Rockchip RK3318

Локаль ставлю en_US.UTF-8 как наиболее беспроблемную, часовой пояс свой (+4).

На время не смотрите, дадим сеть – сам подтянет нормальное.

И, собственно, всё.

Установка Klipper на H96 Max Rockchip RK3318Втыкаю сетевой шнурок, набираю ip a и иду к компу, чтобы подключиться по SSH и продолжить настройку.

Ну привет armbian, давно не виделись.

Установка Klipper на H96 Max Rockchip RK3318

Прежде чем переходить к установке Клиппера, обновляю систему и ставлю некоторые привычные для себя пакеты:

apt-get update
apt-get upgrade
apt-get install vim htop mc net-tools armbian-config git 

Всю эту историю с перешивкой ТВ-боксов я не сам, понятное дело, придумал, так что еще раз перечитываю источники и нахожу решение проблемы с WiFi:

Чищу файлик с настройками драйвера беспроводной сетевой карточки …

echo "" > /usr/lib/firmware/brcm/brcmfmac4334-sdio.rockchip,rk3318-box.txt 

… и записываю в него новое, правильное содержимое из https://pastebin.com/raw/00gLSkKS

За одно переключаю светодиоды индикации в привычный режим отображения активности системы:

echo activity > /sys/devices/platform/gpio-leds/leds/working/trigger 

И перезагружаю приставку.

Теперь можно запустить armbian-config и снова попробовать подключиться к WiFi – сработало.

Установка Klipper на H96 Max Rockchip RK3318

Смотрим ip a – ага, точно сработало.

Установка Klipper на H96 Max Rockchip RK3318Вот теперь можно приступать к установке Клиппера.

Как и всегда, рекомендую делать это через замечательный интерфейс KIAUH https://github.com/dw-0/kiauh

Написано про это много, проблем там не возникает, так что в рамках этой статьи касаться этого момента не буду. Кто уже делал – сам знает, кто не делал – читайте Klipper Wiki https://klipper.wiki/

В общем, поставили Клиппер.

Установка Klipper на H96 Max Rockchip RK3318

Как вы видите, в списке установленных компонентов присутствует KlipperScreen.

Нужен принтеру дисплей или не нужен – вопрос дискуссионный, мне просто нравится его наличие.

Так что достаю из запасов семидюймовый тачевый мониторчик (точно такой же, как у меня на дельте стоит) и цепляю его к приставке.

Установка Klipper на H96 Max Rockchip RK3318

Эммм…. Что-то не то. Может у штатного питальника приставки мощности не хватает?

Цепляю дополнительный БП во второй порт экрана.

Установка Klipper на H96 Max Rockchip RK3318

О, есть картинка.

Ну и чтобы совсем быть уверенным – на скорую руку зашиваю BTT SKR 2 и подключаю её по USB.

Установка Klipper на H96 Max Rockchip RK3318

Всё ОК, есть контакт.

Но въедливые читатели скажут: «Да ну этот USB… по UART подключай!»

Можно и по UART, на плате он действительно имеется.

Аккуратно выщёлкиваю дно корпуса пластиковой карточкой и осматриваю плату.

Установка Klipper на H96 Max Rockchip RK3318

Общий вид спереди и сзади:

Установка Klipper на H96 Max Rockchip RK3318

Установка Klipper на H96 Max Rockchip RK3318

Вот эти три контакта вблизи линейного стабилизатора и есть UART.

Установка Klipper на H96 Max Rockchip RK3318

Распиновка подсмотрена в источниках, но тут как в притче – «На Аллаха надейся, а верблюда привязывай». Так что беру тестер и прохожусь по контактам в режиме прозвонки.

Установка Klipper на H96 Max Rockchip RK3318

Центральный звонится с корпусом USB-порта. Земля, однако.

Зачищаю МГТФ 0.12 кв мм и паяюсь к контактам.

Установка Klipper на H96 Max Rockchip RK3318

Центральный, что ожидаемо, греется неохотно – под ним большой земляной полигон, так что его припаиваю в форсажном режиме паяльника.

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

Снова подключаемся по SSH и вводим

systemctl stop [email protected]
systemctl mask [email protected] 

Теперь можно скомпилить и зашить новую прошивку в плату управления принтером и проверять работу.

С этим никаких проблем не возникло.

Возникло там, где не ждали – тачевый экран перестал включаться. В смысле совсем.Методом многократного перетыкания и подбора проводов удалось его пару раз зажечь, но картинки не было. Ну ёпрст…

Время было уже позднее, так что я просто снова подключил приставку к телевизору и полюбовался на три здоровенные кнопки KlipperScreen’а на стене.

Установка Klipper на H96 Max Rockchip RK3318Короче, связь работает и по UART.

Установка Klipper на H96 Max Rockchip RK3318

Наступил следующий день.

Подключаю «тяжелую артиллерию» и звоню другу:

— Спасай выручай, экранчик помирает. Линейники напругу выдают, винда HID определяет, а толку нету

— Ну приезжай, посмотрим

Зацепили экран к питанию и стали тыкать в него всякими диагностическими инструментами – пальцами, да тепловизорами с осциллографами.

Установка Klipper на H96 Max Rockchip RK3318

В конце концов на микроскопе был обнаружен непропай на ногах контроллера дисплея.

Установка Klipper на H96 Max Rockchip RK3318

Помазали ему ноги флюсом, погрели «лампой» и усадили на место.

Экран завёлся.

Установка Klipper на H96 Max Rockchip RK3318

И чтобы вы думали, хэппи энд? А вот хрен.

Для пропайки контроллера экранный модуль нужно было отделить от платы, за которую он держался двумя полосками какой-то самоклеющейся вспененной фигни.В общем, в процессе удаления остатков этой фигни в экранный модуль затекло немного ФлюксОфф-а, а у него в составе хлористый метилен… Так что в экране теперь пятно, т.к. ДХМ слегка оплавил светорассеиватель торцевой подсветки.

Ну и шут с ним, с пятном. На тёмном интерфейсе КлипперСкрина и не видно почти (это я так себя успокаиваю, ага).

Хуже другое – этот экран не очень стабильно запускается от ТВ-бокса. Методом научного тыка было обнаружено, что, если в приставку вставить телевизор, дать запуститься КлипперСкрину, а потом подключить к экранчику – всё хорошо.

Установка Klipper на H96 Max Rockchip RK3318

Установка Klipper на H96 Max Rockchip RK3318

А вот если экран будет подключен сразу – тишина. Показывает «нет сигнала» и потухает.

При этом с Orange Pi 3 LTS он прекрасно работает, а приставка нормально выдаёт картинку на телевизор или мониторы.

Складывается ощущение, что проблема где-то около драйвера видео или автоопределения доступных режимов изображения.

На попытки исправления этой проблемы я угрохал целый день и не пришел ни к чему.

Были испробованы сотни вариаций всевозможных настроек параметров загрузки, конфигов Xorg’а и жесткого задания режимов изображения. Ничего. Ну не хочет он с этой приставкой работать в положенном ему разрешении 1024х600 и всё тут.

Стабильно работает только в каких-нибудь стандартных, вроде 800х600 или 1024х768.

Делается это так:

В /boot/armbianEnv.txt добавляем

extraargs=drm_kms_helper.edid_firmware=HDMI-A-1:edid/800x600.bin video=HDMI-A-1:800x600-24@60

Создаём /usr/share/X11/xorg.conf.d/90-monitor.conf и вносим в него

Section "Monitor"
Identifier "HDMI-1"
Option "PreferredMode" "800x600"
EndSection 

Для 1024х768 аналогично.

При таких настройках видно и процесс загрузки, и интерфейс KlipperScreen.

Картинку, понятно дело, слегка плющит, но жить можно.

Такие дела. Если у кого возникнут идеи – делитесь, будем пробовать. Приставка эта и покупалась скорее для тестов, чем для реального использования.

***

Эта статья — перепечатка оригинала из https://ravencosplay.ru/articles/info/2680-ustanovka-klipper-na-h96-max-rockchip-rk3318

Дополнения, когда они появятся, будут публиковаться в исходной статье.

***

Источники:

http://psenyukov.ru/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-armbian-%D0%B8-home-assistant-%D0%BD%D0%B0-tv-box-h96-max-%D0%BD%D0%B0-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B5-rockchip-rk33/

https://psenyukov.ru/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-zigbee-cc2652p-%D0%BA-uart-%D0%BF%D0%BE%D1%80%D1%82%D1%83-tv-box-%D0%BF%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8-h96max-%D0%BD/

https://forum.armbian.com/topic/3749-how-to-change-resolution-hdmi-display-armbian527/

https://klipperscreen.readthedocs.io/en/latest/Troubleshooting/Rotation/

Ссылка на источник
Читайте также

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here
Перетащите ползунок, чтобы вставить комментарий