by lvd » Thu, 26.07.2012 07:56:35
[size=150]0. Навигация по моникам:[/size]
[list][*][url=http://forum.tslabs.info/viewtopic.php?p=31518#p31518]Samsung 540N[/url]
[*][url=http://forum.tslabs.info/viewtopic.php?p=31544#p31544]Samsung 710N/910N (некоторые ревизии, ЧИТАТЬ ВНИМАТЕЛЬНО!)[/url]
[*][url=http://forum.tslabs.info/viewtopic.php?p=31841#p31841]Samsung 913N (некоторые ревизии)[/url][/list]
Новые патчи будут появляться по мере появления других поциентов ;)
Ниже - оригинальный пост:
[hr]
Как-то раз искал себе 15" моник под старые пц на замену старичку LG L1510S, который совсем уже помёрк лампами, да и ниже 56гц кадровой держать ни в какую не хотел. Заодно, можно было найти моник, который смог бы работать нормально с пентевой, тем более мне надоело уже дергать мой основной монь по VGA, еще и постоянно переключать аспект на 4:3.
Достаточно быстро такой кандидат нашелся, и им стал Samsung SyncMaster 540N. И тут всплыл один ню-анс:
[img]https://i.imgur.com/WYcrpCZh.jpg[/img]
моник работает только в бейзе с таймингами 48K VGA или неправославными 60Гц. Оказалось всё просто - монь отказывается понимать кадровую ровно ниже 50Гц, и то можно объяснить только ограничениями прошивки.
(отсюда начиниается лирическое отступение, если кому интересно, листайте ниже)
Окей, берем [url=http://monitor.espec.ws/files/samsung_lcd_-_540n__540b__740n__740b__740t__940b__940t__940n_145.pdf]сервис-мануал[/url] и смотрим, из чего же собран монитор - в нем заюзан [s]собственный[/s] видеопроц SE56AWL (перемаркированный MStar TSU56AWL) и микроконтроллер Weltrend WT61P4, на который есть [url=https://datasheetspdf.com/datasheet/WT61P4.html]даташит[/url]:
[img]https://i.imgur.com/rmIIVUZ.png[/img]
Сам контроллер по сути основан на ядре Intel 8051 и имеет встроенную флеш-память на 64кб + горсть периферии типа синхропроцесора, I2C, ШИМ и иже с ними. Берем программатор (об этом чуть ниже), сливаем прошивку и загружаем в Ghidra:
[img]https://i.imgur.com/yL9LiGOl.jpg[/img]
Путем некоторых ковыряний, нашлось искомое место, которое тут же было пропатчено :) Заливаем прошивку обратно, подключаем пентеву и вот результат - патч одного байта полностью решает проблему :)
[img]https://i.imgur.com/KoCadtqh.jpg[/img]
теперь - к собственно инструкции:
[size=150][b]DISCLAIMER: [/b]вся инфа предоставляется "как есть", за возможные последствия я не отвечаю никоим образом, все действия выполняются на свой страх и риск![/size]
[size=200]Samsung 540N ONLY![/size]
Для мода потребуются:
[list=1][*]монитор
[*]USB программатор на CH341A или же (for advanced users) LPT-порт на материнке
[*]паяльник
[*]софт Postal2 (линки внизу)
[*]трезвая голова и светлые руки :)[/list]
Вначале - подготавливаемся:
[list=1][*]Включаем монитор, ставим яркость\контраст в меню в 0, выходим из меню, нажимаем и удердиваем кнопку Source (между "вверх" и "авто"). Откроется сервисное меню:
[img]https://i.imgur.com/06b1daGh.jpg[/img]
[b]Если контрольная сумма не равна 6F3C, то у вас другая прошивка и эта инструкция не подойдет - можно окрипичить монитор![/b]
После выхода стоит сделать Reset Color в меню, чтобы сбросить настройки картинки на дефолтные.
[*]Если у вас CH341A, то паяем такую прибулду:
[img]https://i.imgur.com/wHw3rVeh.jpg[/img]
Распиновка дана относительно I2C панельки на самом программаторе. Пуллапы для SCL\SDA обязательны - без них контроллер не прошьется, номинал не критичен - пойдет 1-10 кОм. Для LPT можно попробовать любую схему программатора для Postal2, google VCT jig
[*]Качаем прогу Postal2 и бинарь с пропатченой прошивкой. Для CH341A внутри все уже настроено, для LPT удаляем из папки LptDrv.DLL и CH341DLL.DLL и запускаем сетап родного драйвера LptDll (проверено только на XP 32бит)
[*]Подключаем программатор к монитору, подаем питание на монитор. Если всё ОК, моник должен уйти в дежурный режим (медленно мигать индикатором).
[*]Запускаем Postal2.exe, нас встречает истинно хтоический интерфейс :D
[img]https://i.imgur.com/MB3s3dJh.png[/img]
Если прога угощает нас бананом и ругается LPT Open Fail, проверяем, установлены ли драйверы на CH341A и стоит ли перемычка на программаторе в I2C/SPI (не в UART!)
Попробуем прочитать EDID - выбираем внизу для проверки I2C EEPROM, жмем Version, если показывает 24C01, то всё в порядке. Нажимаем Read и смотрим в любом HEX-редакторе backup_eeprom.bin. Если в начале файла есть байты 00 FF FF FF FF FF FF 00, то EDID считался успешно.[/list]
Далее - прошивка:
[list=1][*]Выбираем внизу Philips, вверху должно появиться WELTREND FLASH:
[*]Нажимаем Status до тех пор, пока в логе не появится WT61P4:
[img]https://i.imgur.com/hZ3h19k.png[/img]
[*]Нажимаем Set ISP. Если всё ОК, то в логе не должно быть ошибок, индикатор на мониторе должен перестать мигать.
[*]Ставим чекбокс Auto в поле Writer и нажимаем Read. Чтение займет около 10 минут, можно сходить за чаем :)
Если всё прошло успешно, то ошибок в логе также не должно быть. Если на 25% случился вылет - проверяем пуллапы на I2C!
[*]В поле Source File нажимаем open, выбираем файл с новой прошивкой (patched_24hz.bin). Нажимаем Write и снова ждем около 10 минут. Если всё проло успешно, то в логе также не должно быть ошибок
[*][b]Обязательно![/b] нажимаем Out ISP, монитор должен выйти из режима программирования.
[*]Отключаем монитор от сети, отключаем программатор. Снова подаем питание на монь (VGA оставляем пустым!), если полетела табличка "проверьте кабель", то монитор жить точно будет :). Подключаем пентеву и радуемся:[/list]
[img]https://i.imgur.com/3wZIayzh.jpg[/img]
подводные камни:
[b]15625 Гц строчной контроллер не умеет![/b] поэтому использовать монитор совместно с обычными спектрумами или БК без скандаблера не выйдет, к сожалению :(
Может попасться другая версия монитора - ориентируемся на контрольную сумму в сервисном меню и фото задней стенки/платы контроллера:
[spoil][img]https://i.imgur.com/Zbp5X5D.jpg[/img][img]https://i.imgur.com/oyLE8UN.jpg[/img][/spoil]
Во вложении я закинул еще дизасм прошивки и проект ghidra, вдруг кто еще нароет интересностей ;) в следующей серии, если интересно, могу рассказать, как впилить в 710/910\740/940N вход DVI :)
19:49 < gn0blinish> я - идиот, убейте меня кто-нибудь!!!!!!1