Как отправлять команды HDMI-CEC с платы Amlogic 905x на телевизор с помощью sysfs
Я хочу отправить необработанные команды HDMI-CEC (оболочка adb) с платы Amlogic 905x ARM (Android 6) для проверки работоспособности. Плата рутирована (протестирована, работает adb root) и подключена к телевизору с возможностями CEC (включена, также протестирована с игровой консолью).
Прежде всего, я хочу уточнить, встроена ли основная функциональность, поэтому я предполагаю, что если правильная команда CEC будет отправлена на нужный канал, я должен заметить какое-либо изменение в телевизоре.
Я хочу протестировать его на более низком уровне абстракции (я думаю, что с sysfs все в порядке, а http://www.cec-o-matic.com/ довольно просто о том, как создавать командные строки), чтобы избежать сложности системной библиотеки. на этом этапе.
Я заметил, что некоторые ребята имели положительные результаты при включении телевизора, используя:
#echo 0x40 0x04 > /sys/class/cec/cmd
Это не сработало с моей стороны.
Я думаю, что у меня может быть другой файл класса, выделенный для этой цели, и я нашел '/sys/class/amhdmitx/amhdmitx0', который имеет много конечных точек / файлов, которые предлагают возможности ввода-вывода.
Я получил от устройства информацию о телевизоре, подключенном к (EDID - расширенные идентификационные данные дисплея), используя:
#cat /sys/class/amhdmitx/amhdmitx0/edid
Это означает, что должен быть способ отправки команд на телевизор, например, включение / выключение телевизора, смена источника...
Попытка отправки в файл отладки, потому что нет доступного файла cmd, как в '/sys/class/cec/cmd':
#echo 0x40 0x04 > /sys/class/amhdmitx/amhdmitx0/debug
Кто-нибудь знает, как можно это сделать, чтобы проверить процедуру отправки (устройство) ->(телевизор)?
Почему на телевизоре нет активности при использовании '/sys/class/cec/cmd'?
Какой файл лучше использовать для отправки шестнадцатеричных данных на телевизор?
Результат
cat /system/build.prop |grep hdmi && ls -l /dev/cec && ls -laht /sys/class/cec/ && settings list global |grep hdmi && echo 0x40 0x04 > /sys/class/cec/cmd && sleep 0.1 && cat /sys/class/cec/dump_reg && sleep 1 && cat /sys/class/cec/dump_reg
является
ro.sys.hdmiin.enable=true
mbx.hdmiin.switchfull=false
mbx.hdmiin.videolayer=false
ubootenv.var.hdmimode=
ro.hdmi.device_type=4
persist.sys.hdmi.keep_awake=false
crw-rw-rw- root root 222, 0 2014-12-31 16:00 cec
-r--r--r-- root root 4096 2018-05-08 08:47 arc_port
lrwxrwxrwx root root 2018-05-08 08:47 cec -> ../../devices/aocec/cec
--w------- root root 4096 2018-05-08 08:47 cmd
-rw-rw-r-- root root 4096 2018-05-08 08:47 dbg_en
-rw-rw-r-- root root 4096 2018-05-08 08:47 device_type
-r--r--r-- root root 4096 2018-05-08 08:47 dump_reg
-rw-rw-r-- root root 4096 2018-05-08 08:47 fun_cfg
-rw-rw-r-- root root 4096 2018-05-08 08:47 menu_language
-r--r--r-- root root 4096 2018-05-08 08:47 osd_name
-rw-rw-r-- root root 4096 2018-05-08 08:47 physical_addr
-r--r--r-- root root 4096 2018-05-08 08:47 port_num
-r--r--r-- root root 4096 2018-05-08 08:47 port_seq
-r--r--r-- root root 4096 2018-05-08 08:47 port_status
-rw-rw-r-- root root 4096 2018-05-08 08:47 vendor_id
-r--r--r-- root root 4096 2018-05-08 08:47 wake_up
1 ответ
Вам просто не хватает того, как писать в файл? Это
эхо "0x40 0x04" > /sys/класс/cec/cmd
Это работает для меня на устройстве s905x3.