Orange Pi Win Plus - HDMI работает, а DVI нет!

Платка - Orange Pi Win Plus (проц. А64)
Подключаю к телевизору (кабель HDMI - HDMI), картинка есть.
Подключаю к монитору (кабель HDMI - DVI), картинки нет 😞

Читал. Знаю, что нужно положить правильный script.bin в boot
Но вот где его взять именно для моей модели я не знаю.
FEX файл для моей модели на сайте разработчика не качается - ссылка битая.
Пробовал скрипты от Loborisa (хоть там и другие модели OrangePI) - не грузится.

Помогите советом?

@Jeka-tech Привет. FEX для своей платы можешь взять прямо со своей же флешки, находится он в boot разделе в виде файла script.bin, его нужно декомпилировать в fex, внести правки и обратно компилировать в bin 🙂
Инструкция здесь: http://piboard.io/topic/5/редактирование-script-bin-файла

@piman Спасибо, что откликнулись. По этой инструкции уже пытался делать. Проблема в том, что у меня в папке boot есть:

  1. файлы initrd.img, uEnv.txt
  2. папка orangepi в ней:
    2.1 файл Image
    2.2 файл OrangePi-A64.dtb
  3. есть еще папка 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

@Jeka-tech Сам обыскался, дошло до сборки своей системы из исходников 🙂 Пока безрезультатно. Раньше был официальный репозиторий со всеми script.bin, о чем даже упомянуто на sunxi-wiki, сейчас того репозитория уже не существует.
Вот аккаунт на github: https://github.com/orangepi-xunlong/
На сколько я понял (из скриптов сборки, в том числе) те файлы, которые отвечают за конфигурацию системы находятся здесь: https://github.com/orangepi-xunlong/OrangePiA64_external
предположительно scp.bin, это единственный файл, который успешно декомпилируется при помощи bin2fex, но fex на выходе - пустой.

Как вариант, попробуй взять любой fex от любой платы и

  1. Просто попробуй использовать его
  2. Если первый вариант вызовет проблемы - при редактировании оставь только ту секцию, которая отвечает за настройки графики.

Вот примерный конфиг для 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/

@piman

  1. Пробовал создать script.bin из sys_config.fex c добавлением нужных параметров - без изменений
  2. Подкладывал готовые 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 - [Решено]

  1. Устанавливаем редактор apt-get install device-tree-compiler
  2. Открываем конвертируем файл OrangePi-A64.dtb, который лежит в /boot/Orangepi, в файл с расширением dts. Для этого вводим команду sudo dtc -I dtb -O dts -o OrangePi-A64.dts OrangePi-A64.dtb
  3. Теперь редактируем получившийся dts файл. Находим там поддержку DVI hdmi_cts_compatibility и меняем значение на = <0x1> (hdmi_power не надо менять на 18, как написано на сайте разработчика! В этом и была проблема, о чем я узнал только тыкнув тестером в ножки 14 и 15 разъема DVI, и обнаружив там уже нужные +5V без всяких изменений файла конфигурации).
  4. Теперь обратная конвертация sudo dtc -I dts -O dtb -o OrangePi-A64.dtb OrangePi-A64.dts
  5. reboot
  6. Ура!