LINUX.ORG.RU

Определить включен или выключен монитор (TV)

 , ,


0

2

Добрый день!

Телевизор подключен к компьютеру так: PC — переходник DVI-VGA — TV.

Как программно определить состояние телевизора (включен/выключен) и можно ли вообще это определить?

Спасибо!

P.S. о блин, в похожих темах много подобных вопросов.... сейчас посмотрю их

P.P.S. хмм... не очень-то похожите темы помогли

★★

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

Ну, в общем, как и ожидалось, в это телеке тупо висит вот эта пределсть. Тупо шлет в одностороннем порядке данные модель и Hsync/Vsync. Тупо своими концами I2C. Ничем поуправлять не получится. Только читать.

А есть ссылка на схему?

Deleted
()
Ответ на: комментарий от Deleted
Найдены мониторы :
 - Устройство: dev:/dev/i2c-1
   Поддерживается DDC/CI: Нет
   Имя монитора: VESA standard monitor
   Тип входа: Аналоговый
Не обнаружены мониторы, поддерживающие DDC/CI.

Что-то еще нужно? Или думаете, что eeprom каким-то образом перезаписывается, чтоб изменить идентификатор состояния монитора? Что-то крайне в это трудно верится.

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

Ещё нужно убедиться, что у топикстартера точно всё хорошо с настройками видеокарты: http://www.ddcutil.com/nvidia/. Не знаю про ddccontrol, но ddcutil, судя по багрепортам, может перестать видеть DDC на мониторах после смены видеокарты.

В общем всё сложно, как обычно. А ссылку на схему я от тебя так и не получил =).

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

А есть ссылка на схему?

Не сразу увидел вопрос. Есть сервис-мануал по серии в бумажном виде с описанием процесса замены и прошивки микросхемы eeprom. Указана 24C256 и аналоги под замену. Схему найти проблематично, есть только компонентный план. Но он и не нужен. Описания дотаточно.

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

может перестать видеть DDC на мониторах после смены видеокарты.

Ну так это привет видюхе, а не монитору. Информация о DDC/CI сначала зачитывается с eeprom, а там прямо указано, что DDC нет. И тут уже не важно видит ли его видюха или не видит. Нечего там видеть. Тупо EDID.

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

Ага, ну вот опять. А она там единственная указана как EEPROM? А то 1) объём большеват для просто EDID, и 2) нужно ещё где-то прошивку для основного проца хранить (который OSD делает, отвечает за управление телевизором и так далее).

Deleted
()
Ответ на: комментарий от Oberstserj

Ну так это привет видюхе, а не монитору. Информация о DDC/CI сначала зачитывается с eeprom, а там прямо указано, что DDC нет. И тут уже не важно видит ли его видюха или не видит. Нечего там видеть. Тупо EDID.

То есть ты уже изучил исходники ddccontrol и гарантируешь, что под «Поддерживается DDC/CI: Нет» там не спряталось «DDC communication failed», как это может быть у ddcutil?

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

А она там единственная указана как EEPROM?

Да, единственная.

объём большеват для просто EDID

Я лично тоже охреневаю нафига столько. Но что характерно, самсунг фигачит такие микры почти во все подряд свои моники начиная с 12 года. Видим у них просто контракт какой-то с атмелом на постаку этих микр в запотребном количестве, вот и пихают везде. Фиг знает.

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

Не, это другой блок, там стоят свои микры. Уже флеш. Здесь по описанию все как везде. Микра напрямую висит своими концами в разъем. Отчего частенько из-за статики и вылетает.

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

То есть ты уже изучил исходники ddccontrol и гарантируешь, что под «Поддерживается DDC/CI: Нет» там не спряталось «DDC communication failed», как это может быть у ddcutil?

Повторяю:

Информация о DDC/CI сначала зачитывается с eeprom

Если считалась модель и выставляется разрешение, то нет оснований предполагать, что идентификатор наличия DDC вдруг не считался. Так что:

«Поддерживается DDC/CI: Нет»

говорит ровно о том, что его нет. Какие еще могут быть вопросы?

Oberstserj ★★
()

Кстати, спасибо вам, товарищи, я даже не ожидал такого бурного обсуждения. Многое прояснилось.

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

Ещё раз: ты изучил исходники ddccontrol?

«Поддерживается DDC/CI: Нет»

Возьми эту фразу и прямо так в кавычках загугли.

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

Возьми эту фразу и прямо так в кавычках загугли.

И? Куча ссылок на хабр, ЛОР и прочие подобные обсуждения. Конкретнее ссылку кинь, что ты хочешь сказать?

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

Ссылочки какие-то пустоватые. Из них понял только то, что проблема касается карт NVidia, причем на старых дровах, версии ниже 358. Если честно, суть проблемы не уловил: до этого карты NVidia вообще не видели I2C шину что-ли? Объясни, не въезжаю.

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

Смысл в том, что сообщение «Поддерживается DDC/CI: Нет» означает ровно то, что в нём написано. Что DDC не поддерживается. А по чьей вине не поддерживается - это уже отдельный вопрос.

Можешь ещё погуглить на басурманском: «DDC/CI supported: no». Там тоже много владельцев NVidia с линуксом. И под вендой или с другими видеокартами те же мониторы у них внезапно получают поддержку управления по DDC.

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

На всякий случай:

  • Целые фразы гуглят в двойных кавычках, а не «ёлочках», на которые их заменяет ЛОР.
  • Я ни в коем случае не настаиваю на том, что у ТСа монитор непременно поддерживает DDC. Я настаиваю на том, что это требует нормальной проверки на практике. И исключения того, что работе DDC мешают другие компоненты системы.
Deleted
()

Это как раз мой случай.

проблема касается карт NVidia, причем на старых дровах, версии ниже 358

Я сейчас изменю конфиги xorg и проверю что изменилось

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

А, до меня дошел прикол. Там фигня в том, что неверно интерпретировались идентификаторы полученные с eeprom. Тогда действительно вопрос к дровам видюхи. ddccontrol как бы не при делах получается, драйвера косячат. Но если свежий драйвер, то должно быть все ОК и выхлопу можно верить. В общем, ждем ТСа, результаты проб.

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

А вот и ТС.

Проделано:

i2c-dev - в автозагружаемые модули

Option «RegistryDwords» «RMUseSwI2c=0x01; RMI2cSpeed=100» - в xorg.conf

перезагрузка и проверка логов иксов:

[20.854] (**) NVIDIA(0): Option "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"

вывод утилиты ddccontrol абсолютно такой же как и раньше

Найдены мониторы :
 - Устройство: dev:/dev/i2c-1
   Поддерживается DDC/CI: Нет
   Имя монитора: VESA standard monitor
   Тип входа: Аналоговый
Не обнаружены мониторы, поддерживающие DDC/CI.

Вывод ddcutil

./ddcutil detect
Invalid display
   I2C bus:             /dev/i2c-1
   Supports DDC:        false
   EDID synopsis:
      Mfg id:           SAM
      Model:            SAMSUNG
      Serial number:    Unspecified
      Manufacture year: 2007
      EDID version:     1.3
   DDC communication failed

Осталось проверить вывод при включенном мониторе. Все вышеприведенное — в режиме standby

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

При включенном мониторе проверю только приблизительно в 16-00 — там и посмотрим. Но мне кажется, что ничего не поменяется.

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

Так... к сожалению при включенном TV вывод совершенно одинаковый:

ddccontrol -p

Найдены мониторы :
 - Устройство: dev:/dev/i2c-1
   Поддерживается DDC/CI: Нет
   Имя монитора: VESA standard monitor
   Тип входа: Аналоговый
Не обнаружены мониторы, поддерживающие DDC/CI.

./ddcutil detect

Invalid display
   I2C bus:             /dev/i2c-1
   Supports DDC:        false
   EDID synopsis:
      Mfg id:           SAM
      Model:            SAMSUNG
      Serial number:    Unspecified
      Manufacture year: 2007
      EDID version:     1.3
   DDC communication failed

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

Если считать, что проблема с драйверами действительно решена, то это только подтверждает то, что никакого полноценного DDC там нет. Действительно просто висит одна одинешенька микросхемка eeprom концами в разъем и тупо шлет данные модели и данные Hsync/Vsync. Значит остается для решения твоей задачи как я уже и предлагал через резистивный делитель микрофонным входом смотреть наличие напряжения питания на плате или в любом удобном месте. Ну а дальше уже пляски с бубном вокруг пульсы.

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

Пожалуйста. Также сделал diff вывода между выключенным и включенным TV — ни единого различия.

Output level:               Verbose
Reporting DDC data errors:  true
Trace groups active:        none
Force I2C slave address:    false

Invalid display
   I2C bus:             /dev/i2c-1
   Supports DDC:        false
      I2C address 0x30 (EDID block#)  present: false
      I2C address 0x37 (DDC)          present: false
      I2C address 0x50 (EDID)         present: true 
      /sys/bus/i2c/devices/i2c-1/name: NVIDIA i2c adapter 1 at 1:00.0
   EDID synopsis:
      Mfg id:           SAM
      Model:            SAMSUNG
      Serial number:    Unspecified
      Manufacture year: 2007
      EDID version:     1.3
      Product code:     0x03d3 (979)
      Extra descriptor: Unspecified
      Video input definition: 0x68 - Analog Input
      White x,y:        0.312, 0.329
      Red   x,y:        0.640, 0.334
      Green x,y:        0.286, 0.599
      Blue  x,y:        0.514, 0.077
      Extension blocks: 0
   EDID source: 
   EDID hex dump:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 4c 2d d3 03 00 00 00 00   ........L-......
      +0010   33 11 01 03 68 29 1a 8c 2a e5 b1 a3 55 49 99 83   3...h)..*...UI..
      +0020   13 50 54 ad ce 00 01 01 01 01 01 01 01 01 01 01   .PT.............
      +0030   01 01 01 01 01 01 66 21 50 b0 51 00 1b 30 40 70   ......f!P.Q..0@p
      +0040   36 00 9a 00 11 00 00 1e 64 19 00 40 41 00 26 30   6.......d..@A.&0
      +0050   18 88 36 00 9a 00 11 00 00 18 00 00 00 fd 00 3c   ..6............<
      +0060   4b 1e 3d 09 00 0a 20 20 20 20 20 20 00 00 00 fc   K.=...      ....
      +0070   00 53 41 4d 53 55 4e 47 0a 20 20 20 20 20 00 a4   .SAMSUNG.     ..
   DDC communication failed
   Is DDC/CI enabled in the monitor's on-screen display?

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