Почему мой источник входного сигнала не меняется, когда я отправляю сообщение <Active Source> через CEC-Client?

Проблема / вопрос

Когда я использую CEC-Client для отправки команды активного источника для переключения входа ТВ на определенный источник, ничего не происходит. Что я делаю не так?

Окружающая среда

У меня есть Raspberry Pi 4, на котором работает Raspbian, подключенный к Vizio TV. Я установил cec-client (через cec-utils) и запускаю команды, используя его из Bash на Raspberry Pi.

Вот сканирование шины CEC моей установки:

CEC bus information
===================
device #0: TV
address:       0.0.0.0
active source: no
vendor:        Unknown
osd string:    TV
CEC version:   1.3a
power status:  on
language:      eng


device #1: Recorder 1
address:       4.0.0.0
active source: yes
vendor:        Pulse Eight
osd string:    CECTester
CEC version:   1.4
power status:  on
language:      eng


device #4: Playback 1
address:       1.0.0.0
active source: no
vendor:        Unknown
osd string:    Roku
CEC version:   1.4
power status:  on
language:      ???


currently active source: Recorder 1 (1)

Что я пробовал:

Много вещей.
Более конкретно:

Дополнительная информация

  • Я знаю, что телевизор поддерживает это, потому что устройство, на которое я пытаюсь переключиться (Roku), использует CEC для переключения входов на себя, когда я начинаю использовать его пульт. Наблюдая за CEC-Client, когда он это делает, он отправляет4f:82:10:00 объявить себя активным источником, что я и пробовал, за исключением себя в качестве инициатора (что я тоже пробовал на всякий случай).

  • Чтобы убедиться, что tx команда работала, я использовал ее для успешного перевода телевизора в режим ожидания.

  • С помощью as чтобы установить Pi в качестве активного источника, работает нормально, но соответствующая команда tx, tx 1f:82:40:00, ничего не делает (даже если вывод CEC-Client показывает это с тем же самым сообщением).

  • Я перечислил только команды CEC-Client выше, но я пробовал их все как непосредственно в интерактивном приглашении CEC-Client, так и путем повторения его в cec-client (т.е. echo "tx 1F:82:10:00" | cec-client RPI -s -d 1).

Где я нахожусь

Мы будем благодарны за любую помощь / обратную связь! Я в своем уме и не могу придумать ничего другого, что я еще не пробовал.

(Также приветствуются любые отзывы по моему вопросу; я все еще новичок в публикации в сети StackExchange)

1 ответ

Решение

Итак, получается установка типа (-t или --type) при запуске cec-клиента мне необходимо. Это похоже на-t t а также -t pлучшие рабочие варианты. Это все еще очень привередливо (или я бы провел больше тестов, чтобы опубликовать более детерминированный ответ).

Я собираюсь установить тип тюнера (t), поскольку он позволяет мне переключать вход и не мешает мне изменять громкость на моем телевизоре с помощью пульта дистанционного управления, например аудио (a) сделал, но это все еще тип устройства, который я не буду подключать к своему телевизору, поэтому мне не нужно беспокоиться о том, что он запутается или что-то в этом роде. Я могу со временем переключиться на воспроизведение (p) в будущем, если это поможет. Явная установка рекордера (r) на самом деле тоже работал однажды, но я думаю, что телевизор все еще думал, что это аудиоустройство (поскольку я все еще не мог изменить громкость. Мне потребовалось время и много возни, чтобы это исправить...)

(Если кто знает, зачем это нужно, хоть и с помощью встроенного as работает без указания типа при запуске или более подробной информации о последствиях изменения типа, я приму их ответ.)

Другие вопросы по тегам