Orange Pi Win Plus - HDMI работает, а DVI нет!
-
Платка - Orange Pi Win Plus (проц. А64)
Подключаю к телевизору (кабель HDMI - HDMI), картинка есть.
Подключаю к монитору (кабель HDMI - DVI), картинки нет :(Читал. Знаю, что нужно положить правильный script.bin в boot
Но вот где его взять именно для моей модели я не знаю.
FEX файл для моей модели на сайте разработчика не качается - ссылка битая.
Пробовал скрипты от Loborisa (хоть там и другие модели OrangePI) - не грузится.Помогите советом?
-
1
@Jeka-tech Привет. FEX для своей платы можешь взять прямо со своей же флешки, находится он в boot разделе в виде файла script.bin, его нужно декомпилировать в fex, внести правки и обратно компилировать в bin :)
Инструкция здесь: http://piboard.io/topic/5/редактирование-script-bin-файла
-
@piman Спасибо, что откликнулись. По этой инструкции уже пытался делать. Проблема в том, что у меня в папке boot есть:
- файлы initrd.img, uEnv.txt
- папка orangepi в ней:
2.1 файл Image
2.2 файл OrangePi-A64.dtb - есть еще папка backup и в ней все перечисленные выше файлы.
Файла script там нет((
Пробую сделать
[email protected]:~/sunxi-tools$ make
Получается вот такой лог:
cc -std=c99 -Wall -Wextra -Wno-unused-result -D_POSIX_C_SOURCE=200112L -D_BSD_SOURCE -D_DEFAULT_SOURCE -Iinclude/ `pkg-config --cflags libusb-1.0` -o sunxi-fel fel.c progress.c soc_info.c fel_lib.c `pkg-config --libs libusb-1.0` /bin/sh: 1: pkg-config: not found /bin/sh: 1: pkg-config: not found fel_lib.c:26:20: fatal error: libusb.h: No such file or directory #include <libusb.h> ^ compilation terminated. Makefile:135: recipe for target 'sunxi-fel' failed make: *** [sunxi-fel] Error 1
Продолжаю разбираться.
-
Разобрался.
sunxi-tools теперь не ругается.
Но вопрос не решен - где найти fex для A64 Quad-core Cortex-A53 64bit я не знаю.
В инструкции написано взять его из sunxi-boards, но там fex только для a10, a10s, a13, a20, a23, a31, a31s, a33, a80, h3
-
4
@Jeka-tech Сам обыскался, дошло до сборки своей системы из исходников :) Пока безрезультатно. Раньше был официальный репозиторий со всеми script.bin, о чем даже упомянуто на sunxi-wiki, сейчас того репозитория уже не существует.
Вот аккаунт на github: https://github.com/orangepi-xunlong/
На сколько я понял (из скриптов сборки, в том числе) те файлы, которые отвечают за конфигурацию системы находятся здесь: https://github.com/orangepi-xunlong/OrangePiA64_external
предположительно scp.bin, это единственный файл, который успешно декомпилируется при помощи bin2fex, но fex на выходе - пустой.Как вариант, попробуй взять любой fex от любой платы и
- Просто попробуй использовать его
- Если первый вариант вызовет проблемы - при редактировании оставь только ту секцию, которая отвечает за настройки графики.
Вот примерный конфиг для DVI
[disp_init] disp_init_enable = 1 disp_mode = 0 screen0_output_type = 3 screen0_output_mode = 5 screen1_output_type = 3 screen1_output_mode = 5 fb0_format = 0 fb0_width = 1280 fb0_height = 1024 ... [hdmi_para] hdmi_used = 1 hdmi_power = "vcc-hdmi-18" hdcp_enable = 0 hdmi_cts_compatibility = 1
PS. Проверь еще наличие script.bin в /media/boot/
-
- Пробовал создать script.bin из sys_config.fex c добавлением нужных параметров - без изменений
- Подкладывал готовые script.bin от Loboris - без изменений
При загрузке этот файл игнорируется. Нужен другой способ.
Сейчас борюсь со сборкой из исходников, дело встало на
"Unable to locate package lib32z1"
“Unable to locate package lib32z1-dev”Все пляски из гугла уже попробовал (и добавить архитектуру :386, и правил файл источников для скачивания пакетов, apt-get update разумеется делал)), короче сборка встала.
Вот что по теме еще заметил:
в каталоге boot/orangepi есть файл аппаратного описания OrangePi-A64.dtb,
а в нем, среди сваленных в кучу слов и символов (т.к. открыл простым блокнотом), есть кусок
"… hdmi_power hdmi_hdcp_enable hdmi_cts_compatibility … "Может сюда копать надо?
Надо думать как перекомпилить файл *.dtb
-
Установил такую штуку (из названия видно):
sudo apt-get install device-tree-compilerПрочитал файл OrangePi-A64.dtb
Нашел в нем интересующие строки:
[email protected] {
compatible = “allwinner,sunxi-hdmi”;
reg = <0x0 0x1ee0000 0x0 0x20000>;
clocks = <0x6f 0x70>;
device_type = “hdmi”;
status = “okay”;
hdmi_power = “vcc-hdmi-33”;
hdmi_hdcp_enable = <0x0>;
hdmi_cts_compatibility = <0x0>;
};Да вот отредактировать пока не знаю как!
-
Внес правки в OrangePi-A64.dtb. Теперь там написано вот так:
[email protected] {
compatible = “allwinner,sunxi-hdmi”;
reg = <0x0 0x1ee0000 0x0 0x20000>;
clocks = <0x6f 0x70>;
device_type = “hdmi”;
status = “okay”;
hdmi_used = <0x1>;
hdmi_power = “vcc-hdmi-18”;
hdmi_hdcp_enable = <0x0>;
hdmi_cts_compatibility = <0x1>;
};Подменил в папке boot/orangepi
Результат - нифига.
Нужно копать дальше.
-
Победа!
Как заставить работать DVI на Orange PI Win - [Решено]- Устанавливаем редактор apt-get install device-tree-compiler
- Открываем конвертируем файл OrangePi-A64.dtb, который лежит в /boot/Orangepi, в файл с расширением dts. Для этого вводим команду sudo dtc -I dtb -O dts -o OrangePi-A64.dts OrangePi-A64.dtb
- Теперь редактируем получившийся dts файл. Находим там поддержку DVI hdmi_cts_compatibility и меняем значение на = <0x1> (hdmi_power не надо менять на 18, как написано на сайте разработчика! В этом и была проблема, о чем я узнал только тыкнув тестером в ножки 14 и 15 разъема DVI, и обнаружив там уже нужные +5V без всяких изменений файла конфигурации).
- Теперь обратная конвертация sudo dtc -I dts -O dtb -o OrangePi-A64.dtb OrangePi-A64.dts
- reboot
- Ура!