Summary: | get-edid: segmentation fault | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Andrew Savchenko <bircoph> | ||||
Component: | read-edid | Assignee: | Vladislav Zavjalov <slazav> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | normal | ||||||
Priority: | P3 | CC: | mfiskov, mike, slazav | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
Andrew Savchenko
2017-10-19 13:07:42 MSK
Я тоже напоролся на эту ошибку. Продвижения нет? я уже забыл совсем про этот пакет. Есть новая версия, 3.0.2, попробую обновить. У меня ошибка воспроизводится, причем и в 2.0.0 и в новом 3.0.2 буду разбираться. соотвествующий bug в ubuntu: https://bugs.launchpad.net/ubuntu/+source/read-edid/+bug/460471 Позанимался этим вопросом еще. Сейчас выпущена версия read-edid 3.0.2. В ней дописан get-edid, добавлена возможность получать данные из монитора при помощи протокола i2c, нужно только установить модуль ядра. По i2c она теперь работает по умолчанию и отрабатывает без ошибок. Старая возможность получения данных сохранилась (с опцией -с) и там также происходит sigfault, но поддержка i2c решает проблему. Минус новой версии (на мой взгляд) только в том, что она собирается при помощи cmake. В зависимостях только библиотека libx86. Может соберете новую версию? Сильно хочется мониторить подключенные к компьютерам устройства с их серийными номерами. Правда parse-edid, входящая в состав read-edid игнорирует вывод серийных номеров (я написал патч для нее, чтобы выводила), но ее успешно заменяет утилита decode-edid, входящая в репозиторий. Новая версия read-edid: http://www.polypux.org/projects/read-edid/ Created attachment 7805 [details]
Это мой патч к parse-edid пакета read-edid
Может сразу запихнете?
Собрал 3.0.2 с патчем от fisk. Segfault никуда не делся: # get-edid This is read-edid version 3.0.2. Prepare for some fun. Attempting to use i2c interface No EDID on bus 0 No EDID on bus 1 No EDID on bus 2 No EDID on bus 3 No EDID on bus 4 No EDID on bus 5 No EDID on bus 6 No byte reading on this bus... Problem requesting slave address: Bad file descriptor No byte reading on this bus... Problem requesting slave address: Bad file descriptor Looks like no busses have an EDID. Sorry! Attempting to use the classical VBE interface Performing real mode VBE call Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0 Function supported Call successful VBE version 0 VBE string at 0x0 "Segmentation fault Завтра, видимо, должен в Сизифе появиться... Спасибо! Чтобы версия 3.0.2 не выпадала по sihfault нужно выполнить: # modprobe i2c-dev i2c у меня есть, get-edid туда идет (в том выводе, который я привел, это есть), но почему-то ничего не находит. Монитор, видимо, странный. (In reply to comment #10) > Чтобы версия 3.0.2 не выпадала по sihfault нужно выполнить: > > # modprobe i2c-dev Спасибо. Подтверждаю, что с загруженным i2c-dev get-edid работает корректно для обоих мониторов. (In reply to comment #11) > i2c у меня есть, get-edid туда идет (в том выводе, который я привел, это есть), > но почему-то ничего не находит. Монитор, видимо, странный. У меня в системе три i2c шины, мониторы оказались подключены к двум последним. Попробуйте попробовать каждую шину (-b N), список доступных шин есть в выводе get-edid. |