LINUX.ORG.RU

Как исправить EDID?

 , ,


2

2

На ноутбуке установил убунту 12.04. После добавления самых важных для себя программ поставил пакет lm-sensors. Перезагрузил систему и увидел ошибку EDID checksum error remainder 174.

Может кто подскажет, как эту ошибку исправить. Подозрение, что из-за нее слетело родное разрешение экрана и нижняя часть рабочего стола находится вне видимости.

и увидел ошибку EDID checksum error remainder 174.

Где увидел ошибку? Покажи-ка лог иксов на pastebin.com (файл /var/log/Xorg.0.log)

Zubok ★★★★★
()

Ну запихни пустой EDID

anonymous
()
Ответ на: комментарий от bagdanchik

После добавления самых важных для себя программ поставил пакет lm-sensors. Перезагрузил систему и увидел ошибку EDID checksum error remainder 174.

А до lm-sensors работало нормально и было нормальное разрешение? А если удалить lm-sensors?

http://pastebin.com/LNdSDhTq

Да, EDID через LVDS драйвер RADEON не получает. По логу видно.

1. Для начала посмотри, нет ли в BIOS каких-то настроек, касающихся EDID? Например, мой монитор позволяет в настройках отключать EDID.

2. Ядровой драйвер radeon стоит? Что говорит lsmod | grep "radeon"

3. А какая версия ядра стоит? Ядро обновлял, когда ставил свои программы?

4. Модель ноута и параметры матрицы какие? Если ничего не сработает, то надо будет написать ModeLine для нее.

Zubok ★★★★★
()
Ответ на: комментарий от bagdanchik

модель ноута fujitsu amiro pro 2065, параметры матрицы не знаю

bagdanchik
() автор топика
Ответ на: комментарий от Zubok

в биосе нет подобного. ядро не обновлял. версия 2.6.32.21

bagdanchik
() автор топика
Ответ на: комментарий от Zubok

параметры матрицы - они?

Screen 0: minimum 320 x 200, current 1280 x 1023, maximum 4096 x 4096
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1280x1023+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x1023      47.4*+
   1440x900       59.9  
   1280x960       60.0     59.9  
   1280x854       59.9  
   1360x768       59.8  
   1280x800       59.8  
   1152x864       60.0  
   1280x720       59.9  
   1152x768       59.8  
   1024x768       60.0     59.9  
   800x600        60.3     59.9     56.2  
   848x480        59.7  
   720x480        59.7  
   640x480        59.9     59.4  

bagdanchik
() автор топика
Ответ на: комментарий от bagdanchik

Не, это некий умолчательный набор. А 1280x1023 вообще гадость какая-то. Ты не ответил на первые вопросы:

А до lm-sensors работало нормально и было нормальное разрешение? А если удалить lm-sensors?

параметры матрицы - они?

Вообще, твоя матрица 1280x800. Если ты сделаешь

$ xrandr --output LVDS --mode "1280x800"

то будет нормальное разрешение (должно), но отсутсвие EDID меня смущает.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

да lm-sensors я сразу же стер. но не помогло - даже при загрузке биоса картинка все равно растянута. тут оно вроде и разрешение нормальное, но если бы оно не лезло за экран было бы хорошо.

а эту команду я пробовал, но разрешение меняется и экран как был растянут, так и остается

bagdanchik
() автор топика
Ответ на: комментарий от bagdanchik

до установки стояло 1280х800 с нормальным изображением

bagdanchik
() автор топика
Ответ на: комментарий от bagdanchik

а эту команду я пробовал, но разрешение меняется и экран как был растянут, так и остается

А каким становится разрешение? Может, в интернете я неправильно спецификацию узнал. Что после этой команды говорит xrandr -q?

P.S. На все вопросы можно в одном ответе отвечать. Иначе все получают очень много уведомлений.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

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

enemy@enemy-laptop:~$ xrandr -q
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x1023      47.4 +
   1440x900       59.9  
   1280x960       60.0     59.9  
   1280x854       59.9  
   1360x768       59.8  
   1280x800       59.8* 
   1152x864       60.0  
   1280x720       59.9  
   1152x768       59.8  
   1024x768       60.0     59.9  
   800x600        60.3     59.9     56.2  
   848x480        59.7  
   720x480        59.7  
   640x480        59.9     59.4  
S-video disconnected (normal left inverted right x axis y axis)

bagdanchik
() автор топика
Ответ на: комментарий от bagdanchik

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

Скорее всего, умолчательный ModeLine для этого разрешения неправильный. Можно составить ModeLine, конечно же, но лучше разобраться с ноутом сначала. Я сильно сомневаюсь, что lm-sensors как-то повлиял. Что-то другое. Вот ты пробовал BIOS обновлять до самой последней версии? Может, стоит перешить?

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

это получилось после его запуска (зря сразу не сказал)

enemy@enemy-laptop:~$ sudo sensors-detect
# sensors-detect revision 5818 (2010-01-18 17:22:07 +0100)
# System: FUJITSU SIEMENS AMILO Pro V2065 (laptop)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): y
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No
AMD Family 11h thermal sensors...                           No
Intel Core family thermal sensor...                         No
Intel Atom thermal sensor...                                No
Intel AMB FB-DIMM thermal sensor...                         No
VIA C7 thermal sensor...                                    No
VIA Nano thermal sensor...                                  No

Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): y
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor'...                   No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor'...                   No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No

Some hardware monitoring chips are accessible through the ISA I/O ports.
We have to write to arbitrary I/O ports to probe them. This is usually
safe though. Yes, you do have ISA I/O ports even if you do not have any
ISA slots! Do you want to scan the ISA I/O ports? (YES/no): y
Probing for `National Semiconductor LM78' at 0x290...       No
Probing for `National Semiconductor LM79' at 0x290...       No
Probing for `Winbond W83781D' at 0x290...                   No
Probing for `Winbond W83782D' at 0x290...                   No

Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no): y
Using driver `i2c-i801' for device 0000:00:1f.3: Intel 82801FB ICH6
Module i2c-i801 loaded successfully.
Module i2c-dev loaded successfully.

Next adapter:  (i2c-0)
Do you want to scan it? (YES/no/selectively): y

Next adapter:  (i2c-1)
Do you want to scan it? (YES/no/selectively): y
Client found at address 0x50
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 No
Probing for `EDID EEPROM'...                                Yes
    (confidence 8, not a hardware monitoring chip)

Sorry, no sensors were detected.
This is relatively common on laptops, where thermal management is
handled by ACPI rather than the OS.

bagdanchik
() автор топика
Ответ на: комментарий от bagdanchik

Хм, аналогичная проблема:

http://comments.gmane.org/gmane.linux.drivers.sensors/29375

Удивительно. Точно по 0x50 грохнул EDID. Видать, EEPROM на шине i2c висит. Вот он и перезаписал ее. Надо подумать, можно ли раздобыть дамп EEPROM или EDID (поискать в интернете логи аналогичного компа с EDID) и еще надо подумать, как это дело перешить. Если никак, то можно подсунуть EDID, сохраненный в файле.

Чувак пишет, что спросил у Алекса Дойсера (автор драйвера radeon). Он сказал, что программный доступ к EEPROM запрещен. И что туда программа влезть не могла. Странно. Типа что это баг железа.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

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

bagdanchik
() автор топика
Ответ на: комментарий от bagdanchik

Его еще найти надо. Самое простое - это поискать логи иксов на аналогичном ноуте. Лучше прямо для этого. Скопировать оттуда ModeLine, протестирвоать на xrandr, а потом вписать в xorg.conf.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Тут я программу нашел, phoenix edid designer, - помогает при создании нового edid-файла

bagdanchik
() автор топика
4 апреля 2016 г.

Проблема решилась перепрошивкой матрицы ноута.

bagdanchik
() автор топика
5 августа 2016 г.
Ответ на: комментарий от andreyu

X серверу можно подсунуть фейковый edid.

Можете пояснить, как? Сколько не ищу, не могу найти.

ftp://www.x.org/pub/X11R6.8.0/doc/Xorg.1.html тут нет упоминания «EDID». Единственное, что нашёл, можно подсунуть edid в ядро, выставив

CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_FIRMWARE_EDID=y

И опцию загрузки drm_kms_helper.edid_firmware=<port>:<path-edid-firmware> (предварительно не забыв включить его в initramfs).

В моём случае это не сработало, получаю

[drm:drm_load_edid_firmware] *ERROR* Requesting EDID firmware "filename.bin" failed (err=-2)

Пока не разобрался, что именно там ядро хочет, почему кривой firmware и т.п. - хотелось бы попробовать именно xorg «обмануть» другим EDID - как мне это сделать?

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

UPDATE: Отбой, получилось загрузить через ядро. Ошибка -2 означает, что не найден файл - видимо, опечатался в имени файла. Получилось! Уии! Однако всё равно интересно (уже из любопытства) - можно ли это средствами xorg сделать, было бы удобнее.

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

Можете пояснить, как?

Ух, подняли вы тему. В голове информация не сохранилась, а с ходу найти ее не удалось.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.