PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Матрицы до 7 дюймов (http://pccar.ru/forumdisplay.php?f=147)
-   -   7" 16:9 + capacitive (http://pccar.ru/showthread.php?t=18346)

mitsubi 26.06.2013 15:38

Цитата:

Сообщение от autowp (Сообщение 262407)
Хотелось бы конечно решить вопрос кошерно, но выпаять контроллер (а флэшка судя по всему в нём) я едва ли смогу, а уж поставить его на место - так вообще.

Меня вот какое обстоятельство наводит на мысль, что перешить его можно как-то без паяльника:
Китаец, продавая контроллеры, просит присылать ему модель LCD. Конечно он не выпаивает, не верю и в то, что у него заготовлены прошитые платы под множество дисплеев. Скорее всего он как-то шьет их в собранном виде.

Я конечно попробовал спросить непосредственно у него (продавца), но в ответ пока лишь "We ask our engineers..." и тишина.

ну это все так, однако для прошивки через DDC/CI без выпаивания нужен программатор (обычно подключается через LPT и собран на двух микросхемах), нужна утилита для прошивки под эту плату, и собственно нужен файл с нужной прошивкой (обычно в формате *.GFF) -- если это все у Вас есть, тогда можно перешивать без выпаивания...

autowp 29.06.2013 03:25

Разглядел на плате EEPROM. Видно следы пайки - уже шили. Похоже я ошибался - китаец-таки припаивает её перед продажей.

Прошивку так и не прислали. Да думаю и не пришлют, поэтому стоит задача прочитать прошивку, исправить EDID и залить обратно. Это решаемо.

Не решаемо пока следующее: не могу заставить матрицу работать в натуральном разрешении. Попытался в лоб переделать EDID на 1024x600, поменяв только размеры и частоту. Подсунул в windows через override - не выходит цветочек. Надо правильные тайминги наверное прописать, а как их вычислить - ума не приложу. Даже даташит и гугл пока меня не вразумили.

Не подскажете в какую сторону копать?


Может у кого-то есть такая (CLAA070NC0BCT) или другая матрица от этого производителя (CPT) с таким же разрешением? Снять EDID - делов на 1 минуту: Программой EDID Manager http://media.extron.com/download/fil...anagerV1x0.exe

P.S. Правда 800х480?

mitsubi 30.06.2013 00:57

Цитата:

Сообщение от autowp (Сообщение 262608)
Разглядел на плате EEPROM. Видно следы пайки - уже шили. Похоже я ошибался - китаец-таки припаивает её перед продажей.

Прошивку так и не прислали. Да думаю и не пришлют, поэтому стоит задача прочитать прошивку, исправить EDID и залить обратно. Это решаемо.

Не решаемо пока следующее: не могу заставить матрицу работать в натуральном разрешении. Попытался в лоб переделать EDID на 1024x600, поменяв только размеры и частоту. Подсунул в windows через override - не выходит цветочек. Надо правильные тайминги наверное прописать, а как их вычислить - ума не приложу. Даже даташит и гугл пока меня не вразумили.

Не подскажете в какую сторону копать?


Может у кого-то есть такая (CLAA070NC0BCT) или другая матрица от этого производителя (CPT) с таким же разрешением? Снять EDID - делов на 1 минуту: Программой EDID Manager http://media.extron.com/download/fil...anagerV1x0.exe

P.S. Правда 800х480?

1) я бы предположил скорее обратное, а именно, что китайцы все-таки программируют свои контроллеры внешним программатором не выпаивая ничего, а следы пайки больше говорят о том, что либо плату ремонтировали, либо умельцы перепаивали с какой-то неведомой целью;
2) если Вы пытаетесь получить натив (1024х600) именно на матрице, подключенной напрямую к материнке, то при правильном физическом подключении все должно работать, т.к. эта матрица имеет свой встроееный EDID. Если же матрица подключается через внешний контроллер, то все определяется его прошивкой (его EDID по DDC и его список поддерживаемых разрешений). Так вот, мне ни разу не попадались контроллеры с поддержкой режима 1024х600! В свое время пришлось самому добавлять такой режим в один из своих мониторов 8.9", а без этого никакие тайминги не помогут, т.к. в мониторе просто нет такого режима!
3) утилит для считывания EDID полно и платных и свободных, а можно и в реестре у Windows его посмотреть без всяких утилит. Соответственно, если матрица подключена напрямую к матери, то считается ее EDID, а если через внешний контроллер, то EDID этого контроллера...

autowp 30.06.2013 03:03

Цитата:

Так вот, мне ни разу не попадались контроллеры с поддержкой режима 1024х600! В свое время пришлось самому добавлять такой режим в один из своих мониторов 8.9", а без этого никакие тайминги не помогут, т.к. в мониторе просто нет такого режима!
Ну нет, они же как-то продают их. Не могут же они продавать KIT, в котором картинка заведомо не может быть в родном разрешении.

Цитата:

3) утилит для считывания EDID полно и платных и свободных, а можно и в реестре у Windows его посмотреть без всяких утилит. Соответственно, если матрица подключена напрямую к матери, то считается ее EDID, а если через внешний контроллер, то EDID этого контроллера...
Ну вот в EDID контроллера вопрос и состоит

mitsubi 30.06.2013 15:02

Цитата:

Сообщение от autowp (Сообщение 262680)
Ну нет, они же как-то продают их. Не могут же они продавать KIT, в котором картинка заведомо не может быть в родном разрешении.


Ну вот в EDID контроллера вопрос и состоит

как это ни странно, но они так их продают, т.е. берут прошивку от какого-то большого телевизора, например, 32", или монитора 19", в которых прошита поддержка стандартного набора VESA-разрешений, в перечень которого не попадает ни 800х480, ни 1024х600. Далее они меняют только параметры подключенной матрицы на требуемую (без этого вообще показывать не будет) -- получается, что при матрицах с физическим разрешением 800х480 или 1024х600 монитор никогда не будет работать в нативе!
При такой ситуации от EDID-а вообще ничего не зависит, т.к. он позволяет операционной системе только "понять" список поддерживаемых монитором разрешений и тайминги натива и т.п.

autowp 30.06.2013 17:23

Цитата:

берут прошивку от какого-то большого телевизора, например, 32", или монитора 19"
Эти слова подтверждаются тем, что в EDID зашиты размеры какого-то огромного телевизора/монитора.


Вобщем, половину пролемы решил: правильный EDID себе сделал.
Подробности, для тех, кто это тему нагуглит:

1. Программой cvt для Linux были подобраны оптимальные тайминги/бланкинги/прочие статы под искомое разрешение 1024x600@60.

К сожалению в debian эта программа немного кастрирована: не умеет режим --verbose с выводом всех цифр. Поэтому я скомпилировал её из исходников и запустил

Код:

./cvt -v -r 1024 600 60
"-r" нужен, чтобы тайминги были "пооптимальнее", за счет сжатия blanking'ов, которые делаются большими с расчётом на ЭЛТ мониторы. ЖК этого уже не нужно.

Получил такой результат

Код:

Modeline "1024x600_60.00_rb"  43.75  1024 1072 1104 1184  600 603 613 619  +HSync -Vsync

 1: [V FIELD RATE RQD]        :      60.000000
 2: [H PIXELS RND]            :    1024.000000
 2.5: [ASPECT_RATIO]          :    Custom
 2.5: [V SYNC]                :      10.000000
 3: [LEFT MARGIN (PIXELS)]    :        0.000000
 3: [RIGHT MARGIN (PIXELS)]    :        0.000000
 4: [TOTAL ACTIVE PIXELS]      :    1024.000000
 5: [V LINES RND]              :      600.000000
 6: [TOP MARGIN (LINES)]      :        0.000000
 6: [BOT MARGIN (LINES)]      :        0.000000
 7: [INTERLACE]                :        0.000000
 8: [H PERIOD EST]            :      27.011110
 9: [Actual VBI LINES]        :      17.030029
 9: [VBI LINES]                :      18.000000
10: [Minimum VBI Lines]        :      19.000000
10: [ACT VBI LINES]            :      19.000000
11: [TOTAL V LINES]            :      619.000000
12: [TOTAL PIXELS]            :    1184.000000
13: [Non-rounded PIXEL FREQ]  :      43.973759
13: [ACT PIXEL FREQ]          :      43.750000
14: [ACT H FREQ]              :      36.951012
15: [ACT FIELD RATE]          :      59.694687
16: [ACT FRAME RATE]          :      59.694687
20: [H BACK PORCH]            :      80.000000
21: [H SYNC RND]              :      32.000000
22: [H FRONT PORCH]            :      48.000000
23: [V FRONT PORCH]            :        3.000000


2. Тут же в Debian программой xrandr добавил этот modeline в общий список, навесил на HDMI-0 и переключился на него: монитор встал в корректное разрешение. Успех.


3. Из туториала http://www.sevenforums.com/tutorials...esh-rates.html Скачал программу Phoenix.
Она позволила открыть текущий EDID из реестра, исправить в нём всё, что требуется, и сохранить в файл.
peugoid.dat

Что я исправил:
- отключил все заведомо непроходные разрешения, но оставил 800x600 и 640x480 для работы монитора во время загрузки bios или в режиме dos/терминала.
- в Detailed Timings добавил своё разрешение, заполнив все поля из данных, полученных в п.п. 1
- для порядка в Detailed Timings и в General вписал реальные размеры матрицы (геометрические) - вероятно может помочь где-то правильно определять DPI
- вписал своё название монитора в Detailed Timings / Block 2 / Monitor Name, чтобы более не путаться в списке устройства (в windows было universal pnp)


4. Программой Moninfo (Monitor Asset Manager) сконвертировал EDID в *.inf файл для windows.

Директлинк
Получившийся INF-файл - это драйвер монитора для windows, включающий в себя EDID Override секции. Т.е. установка такого драйвера выполняет единственную цель - подменить EDID на свой.
Т.к. у меня стоит windows 8, пришлось воспользоваться ещё вот этим гайдом по установке неподписанных драйверов

peugoid.inf

5. Reboot.

6. К сожалению получить хорошую картинку в Android так и не получилось пока.
Увы, но я не нашёл средств к управлению режимами, подобных xrandr в Debian. Единственное, что можно сделать - это указать preffered mode при загрузке Android, но это не поможет в ситуации, когда самого mode нету в списке поддерживаемых в EDID.
И уж тем более я не нашёл механизмов, подобных EDID override в windows.
По всей видимости, android "взлетит" только тогда, когда я "зашьюсь" в EDID контроллера

Как в данный момент выглядит процесс загрузки компьютера с точки зрения режимов работы монитора:
- пока загружается BIOS и идёт boot-анимация windows - монитор работает в одном из режмов 800x600 (который к счастью есть среди режимов в родном EDID и который останется в EDID после замены прошивки)
- после загрузки windows монитор переключается в режим из INF-файла: 1024x600@60, который теперь светится "родным" в настройках разрешения монитора.
Вот так это выглядит

(потряхивания и мерцания - это не свойство матрицы, а свойство моего телефона и стабилизации от youtube. Картинка на мониторе безглючная)

Теперь надо отпаять EEPROM, считать прошивку, найти в ней EDID, заменить на мой и зашить обратно.


P.S. Синий экран, возникающий в моменты переключения режимов монитора - это конечно адское изобретение авторов прошивки. Но изучать их софт я точно не полезу ради этого.

P.P.S. Говорят, если включить какой-то слишком нештатный режим, то можно спалить контроллер/матрицу. Я не спалил. Да и не знаю, можно ли действительно. Но, be careful

P.P.P.S. Таки это (про 800х480) - неправда

mitsubi 30.06.2013 22:57

Цитата:

Сообщение от autowp (Сообщение 262717)
Эти слова подтверждаются тем, что в EDID зашиты размеры какого-то огромного телевизора/монитора.


Вобщем, половину пролемы решил: правильный EDID себе сделал.
Теперь надо отпаять EEPROM, считать прошивку, найти в нём EDID, заменить на мой и зашить обратно.

P.P.S. Говорят, если включить какой-то слишком нештатный режим, то можно спалить контроллер/матрицу. Я не спалил. Да и не знаю, можно ли действительно. Но, be careful

как я понял, Вам удалось получить натив 1024х600 путем подбора таймингов -- значит ваша прошивка поддерживает режим 1024х600 и китайцы Вас не обманули (ранее я такого не встречал).
Если есть возможность, то поделитесь, плз, образом прошивки вашего контроллера.
Заранее благодарю.

autowp 30.06.2013 23:09

Цитата:

как я понял, Вам удалось получить натив 1024х600 путем подбора таймингов
Да, но не подбора, а скорее вычисления. Т.е. не наугад

Цитата:

Если есть возможность, то поделитесь, плз, образом прошивки вашего контроллера.
Как только солью - конечно

mitsubi 30.06.2013 23:17

Цитата:

Сообщение от autowp (Сообщение 262771)
Да, но не подбора, а скорее вычисления. Т.е. не наугад

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

autowp 03.07.2013 01:58

Вложений: 1
Вот стоковая прошивка.

EDID в ней располагается по адресу 1E00 - 1E7F


Часовой пояс GMT +4, время: 09:39.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot