Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:3
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Отладочные платы » Sunshine-A20(-Lite)
Смена разрешения на лету
Jury093
Добавлено 04.04.2016 02:33 Сообщение: 21
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
нда.. картину не проясняет.. по логу могу только трактовать, что модуль дисплея не смог динамически подобрать частоту pll и честно уронил ядро (это моя вольная трактовка)

опять же, есть упоминания, что на рутовой на НАНД, всё замечательно переключается. стало быть, надо раздобыть эту рутовую и ядро для нее. убедиться в исправности и искать отличия со своим комплектом софта..

по проблеме "не считывается uEnv.txt" - можно строку загрузки ядра захардкодить через menuconfig, тогда ядро всегда будет запускаться с заведомо известной строкой

по HDMI - я всегда считал, что на этом интерфейсе висит обычная eeprom (когда я делал маленький монитор, я так и поступил).. нашел сервис-мануал на свой телек и убедился, что изрядно заблуждаюсь. оказывается, в многовходовых системах ставят hdmi мультиплексор и тайминги для считывания edid определяются чипом мультиплексора (попробую картинку приаттачить)
и вот тут я бы прислушался к Павлу:
Цитата
Вывод - зависит от телевизора-монитора.


если ковырять видеодрайвер самостоятельно, то я бы напихал printk в п/п выбора частоты pll и работой с edid и отследил - чего не хватает ядру и чего ему надо..

кусок функционалки от моего телека:
title

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 04.04.2016 10:04 Редактировалось 04.04.2016 10:28 Сообщение: 22
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Капец, я смотрю вы "писатели" - вы не "читатели"
Цитата
Я показал результат на плате Sunshine-A20, при загрузке с NAND, если загрузиться с SD карты, режимы так же определяются и переключаются, НО, кроме переключения на D:1920x1080p-60 - после переключения на него отображение на мониторе уже не работает.
А вот при загрузке системы с NAND, переключение на все режимы проходят без проблем.
Скорее всего, где то "закрались" отличия в настройках или еще более вероятно это следствие различных аргументов запуска ядра
И после этого столько усилий (уже драйвер того гляди кострять начнете), а агрументы запуска так и не поменял ...
Спуститься к концу Подняться к началу
Персональная информация
xaba
Добавлено 04.04.2016 13:23 Редактировалось 04.04.2016 13:23 Сообщение: 23
xaba
4

Пункты: 15268
Регистрация: 23.04.2012
менял я параметры.
такие.

console=ttyS0,115200 root=/dev/mmcblk0p1 ro loglevel=8 consoleblank=0 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1920x1080p60 rootwait panic=10 rootfstype=ext4 rootflags=discard

console=ttyS0,115200 root=/dev/mmcblk0p1 ro loglevel=8 consoleblank=0 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p60 rootwait panic=10 rootfstype=ext4 rootflags=discard

разрешение не меняется, ставит такое 1920x1080p60 разрешение в любом случае и уходит в перезагрузку.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 04.04.2016 13:32 Редактировалось 04.04.2016 13:32 Сообщение: 24
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Значит что то еще закралось, т.к. ядро и корневая одно и тоже что для загрузки с NAND и с SD (а вот u-boot и FEX разные) ...
Спуститься к концу Подняться к началу
Персональная информация
xaba
Добавлено 04.04.2016 13:51 Сообщение: 25
xaba
4

Пункты: 15268
Регистрация: 23.04.2012
меняю на такие параметры.
console=ttyS0,115200 root=/dev/mmcblk0p1 rw loglevel=8 consoleblank=0 rootwait panic=10 rootfstype=ext4

перезагрузка....
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 04.04.2016 13:57 Сообщение: 26
sasamy
4.70

Пункты: 77208
Регистрация: 14.08.2009
Это не пробовали ?

https://github.com/doozan/a10-tools
Спуститься к концу Подняться к началу
Персональная информация
xaba
Добавлено 07.04.2016 09:36 Редактировалось 07.04.2016 09:39 Сообщение: 27
xaba
4

Пункты: 15268
Регистрация: 23.04.2012
Цитата
Это не пробовали ?

https://github.com/doozan/a10-tools


Эта тулза не подходит к этому ядру. Тк в драйвере стоит ограничение на управление.


if (cmd < DISP_CMD_FB_REQUEST) {
if ((ubuffer[0] != 0) && (ubuffer[0] != 1)) {
__wrn("para err in disp_ioctl, cmd = 0x%x,"
"screen id = %d\n", cmd, (int)ubuffer[0]);
return -1;
}
}


Попробовал снять, в итоге драйвер вываливается...
Отказался. Видать не зря ограничили.
Проще через /sys...

по поводу параметров.
Ошибка была при копировании. Почему-то в параметрах была указана ext2 а надо ext4, в итоге перезагрузка.
Ну тут моя ошибка.

2 устр-ва. на одном все норм, на втором драйвер вываливается. Это не софт, физика.
В принципе можно и с одним разрешением работать.
Думаю, все вопросы решены. Спасибо всем))
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 07.04.2016 09:55 Сообщение: 28
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Если считаете, что разъем барахлит (кстати, вполне возможно, при монтаже он приносит 80% всего брака) - отправляйте обратно, пропаяем.
Спуститься к концу Подняться к началу
Персональная информация
xaba
Добавлено 07.04.2016 15:47 Редактировалось 07.04.2016 15:48 Сообщение: 29
xaba
4

Пункты: 15268
Регистрация: 23.04.2012
Цитата
Если считаете, что разъем барахлит (кстати, вполне возможно, при монтаже он приносит 80% всего брака) - отправляйте обратно, пропаяем.

пока не уверен на все сто.
Попробую на другом выводе попробовать менять разрешение.


Странная штука тут происходит, а может и обычная...

Пытаюсь регулировать режимы функцией write.


int disp = open( "/sys/class/graphics/fb0/mode", O_RDWR, 0 );

тут ошибок нет.

int ret = write( disp, "D:1280x720p-60", 14 );

Возвращает ошибку Invalid argument.



Так проходит:
echo "D:1280x720p-60" > /sys/class/graphics/fb0/mode

Возможно я упускаю какие-то особенности ?
Спуститься к концу Подняться к началу
Персональная информация
xaba
Добавлено 07.04.2016 21:42 Редактировалось 07.04.2016 21:43 Сообщение: 30
xaba
4

Пункты: 15268
Регистрация: 23.04.2012
Поправка.
Цитата
Эта тулза не подходит к этому ядру. Тк в драйвере стоит ограничение на управление.

if (cmd < DISP_CMD_FB_REQUEST) {
if ((ubuffer[0] != 0) && (ubuffer[0] != 1)) {
__wrn("para err in disp_ioctl, cmd = 0x%x,"
"screen id = %d\n", cmd, (int)ubuffer[0]);
return -1;
}
}

Попробовал снять, в итоге драйвер вываливается...
Отказался. Видать не зря ограничили.
Проще через /sys...


Эта тулза работает, если убрать код который выше в файле dev_disp.c
После перезагрузки заработала.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » Sunshine-A20(-Lite)