Подключаем монитор к моноблоку MSI AE2220
Уже давно в нашей конторе используется такой аппарат. Железка довольно спорная, с плюсами и минусами, но самый неприятный недостаток – отсутствие выхода на второй монитор. Да, производитель умудрился сделать на задней панели целых два видео входа и ни одного выхода, а одного монитора для работы маловато. Какое-то время обходились USB видеокартой, но она порождала некоторые неудобства, а после очередного обновления ядра монитор начал гаснуть через несколько секунд после включения.
На материнской плате мы давно обнаружили вот такой разъем:
И что интересно, система его видела:
$ xrandr -q
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920×1080+1920+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920×1080 59.93*+
1680×1050 59.95
1600×900 60.00
1440×810 60.00
1280×720 60.00
1024×768 75.03 70.07 60.00
800×600 75.00 60.32
640×480 59.94
К сожалению, нагуглить распайку этого разъема не удалось, и мы надолго забыли про него. Но тут приперла необходимость, и пришлось вернуться к этому вопросу и заняться вычислением, для чего нужна каждая нога. Для начала прозвонили все ноги тестером при включенном и выключенном питании, обнаружили следующее:
GND | GND | GND | +5V | +5V | ? | NC |
75 Ом | 75 Ом | 75 Ом | GND | GND | ? | +5V |
Предположительно, 75-омные выходы – это RGB сигналы, а под 5 вольтами скрывается I2C интерфейс. Определили его с помощью осциллографа.
Получилось вот что:
GND | GND | GND | +5V | SCL | ? | NC |
75 Ом | 75 Ом | 75 Ом | GND | GND | ? | SDA |
После этого подключили монитор к линиям SDA, SCL, GND, и он успешно определился системой.
$ xrandr -q
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 8192 x 8192
VGA-0 connected 1920×1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920×1080 60.00*+
1680×1050 59.95
1600×1200 60.00
1440×900 59.89
1280×1024 75.02
1280×960 60.00
1152×864 75.00
1024×768 75.03 70.07 60.00
800×600 75.00 72.19 60.32 56.25
640×480 75.00 72.81 59.94
HDMI-0 connected primary 1920×1080+1920+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920×1080 59.93*+
1680×1050 59.95
1600×900 60.00
1440×810 60.00
1280×720 60.00
1024×768 75.03 70.07 60.00
800×600 75.00 60.32
640×480 59.94
При помощи осциллографа нашли горизонтальную и вертикальную синхронизацию, методом тыка подобрали цвета, и распайка приобрела окончательный вид (в скобках номера контактов VGA разъема).
RGND (6) | GGND (7) | BGND (8) | +5V (9) | SCL (15) | VSYNC (14) | NC |
R (1) | G (2) | B (3) | GND (5) | GND (10) | HSYNC (13) | SDA (12) |
Вроде бы все, можно на этом закончить статью, но монитор продолжал гаснуть! И тут возникли смутные сомнения. Подключили монитор к другому компьютеру, и он тоже погас. ФАК!!!
В общем, проблема была не в ядре Linux и не в USB видеокарте, а во вспухших конденсаторах в мониторе. И это так совпало, что пришлось сначала раз 5 перелопатить ядро, а потом бросить все и заняться поиском распайки. Съездили в магазин за запчастями и спаяли вот такой красивый шнурок.
Но и это не все! Началась полоса совершенно хаотичных глюков. На мониторе прыгали уровни разных цветов, пропадало изображение (при этом монитор виделся в системе), а в конце концов появилось, но с максимальным разрешением 1024х768 (что говорило о пропадании SDA или SCL). Плясали с бубном полдня, меняли мониторы, прозванивали и пропаивали шнурок… А виноват оказался новый свежекупленный VGA разъем. Заменили его на выпаянный из дохлой материнки, заодно получилось удачно закрепить.
Многие скажут, что получилось некрасиво, но оно вполне вписалось в общий стиль моноблока.
Зато теперь изображение не притормаживает, нет проблем с тасканием окон на другой экран, да и цвета вроде бы повеселее стали. Не было бы счастья, да несчастье помогло.
Норкоманы, блеать!
Кто наркоман? Производители моноблока, наверно. Развели разъем на плате и пожадничали 1$ на шнурок и разъем.