CEC: различия между версиями
Sirmax (обсуждение | вклад) (Новая страница: «=HDMI CEC=») |
Sirmax (обсуждение | вклад) (→2) |
||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
=HDMI CEC= |
=HDMI CEC= |
||
| + | |||
| + | ==редактировать config.txt== |
||
| + | https://wiki.libreelec.tv/configuration/config_txt |
||
| + | |||
| + | |||
| + | ==2== |
||
| + | https://forum.libreelec.tv/thread/29781-rpi5-cec-not-working/ |
||
| + | |||
| + | systemctl stop kodi |
||
| + | |||
| + | <PRE> |
||
| + | echo 'scan' | cec-client -s |
||
| + | </PRE> |
||
| + | |||
| + | echo 'scan' | cec-client -s -d 1 |
||
| + | opening a connection to the CEC adapter... |
||
| + | requesting CEC bus information ... |
||
| + | CEC bus information |
||
| + | =================== |
||
| + | device #0: TV |
||
| + | address: 0.0.0.0 |
||
| + | active source: no |
||
| + | vendor: LG |
||
| + | osd string: TV |
||
| + | CEC version: 1.3a |
||
| + | power status: unknown |
||
| + | language: eng |
||
| + | |||
| + | |||
| + | device #1: Recorder 1 |
||
| + | address: 1.0.0.0 |
||
| + | active source: no |
||
| + | vendor: LG |
||
| + | osd string: CECTester |
||
| + | CEC version: 1.3a |
||
| + | power status: on |
||
| + | language: eng |
||
| + | |||
| + | |||
| + | currently active source: unknown (-1) |
||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | <PRE> |
||
| + | echo scan | cec-client -s -d 31 |
||
| + | opening a connection to the CEC adapter... |
||
| + | DEBUG: [ 62] Broadcast (F): osd name set to 'Broadcast' |
||
| + | DEBUG: [ 62] CLinuxCECAdapterCommunication::Open - m_fd=3 bStartListening=1 |
||
| + | DEBUG: [ 62] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_G_PHYS_ADDR - addr=1000 |
||
| + | DEBUG: [ 62] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 |
||
| + | DEBUG: [ 62] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=8000 num_log_addrs=1 |
||
| + | NOTICE: [ 63] connection opened |
||
| + | DEBUG: [ 63] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=8000 phys_addr=1000 |
||
| + | DEBUG: [ 63] << Broadcast (F) -> TV (0): POLL |
||
| + | TRAFFIC: [ 63] << f0 |
||
| + | DEBUG: [ 63] processor thread started |
||
| + | DEBUG: [ 491] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=01 len=1 addr=f0 opcode=ffffffff |
||
| + | DEBUG: [ 491] >> POLL sent |
||
| + | DEBUG: [ 491] TV (0): device status changed into 'present' |
||
| + | DEBUG: [ 491] << requesting vendor ID of 'TV' (0) |
||
| + | TRAFFIC: [ 491] << f0:8c |
||
| + | DEBUG: [ 668] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=01 len=2 addr=f0 opcode=8c |
||
| + | DEBUG: [ 811] CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=01 len=5 addr=0f opcode=87 |
||
| + | TRAFFIC: [ 811] >> 0f:87:00:e0:91 |
||
| + | DEBUG: [ 811] >> TV (0) -> Broadcast (F): device vendor id (87) |
||
| + | DEBUG: [ 811] TV (0): vendor = LG (00e091) |
||
| + | DEBUG: [ 811] expected response received (87: device vendor id) |
||
| + | DEBUG: [ 811] replacing the command handler for device 'TV' (0) |
||
| + | DEBUG: [ 811] TV (0): CEC version 1.3a |
||
| + | DEBUG: [ 811] TV (0): menu language set to 'eng' |
||
| + | DEBUG: [ 811] registering new CEC client - v7.1.1 |
||
| + | DEBUG: [ 811] using auto-detected physical address 1000 |
||
| + | DEBUG: [ 811] detecting logical address for type 'recording device' |
||
| + | DEBUG: [ 811] trying logical address 'Recorder 1' |
||
| + | DEBUG: [ 811] << Recorder 1 (1) -> Recorder 1 (1): POLL |
||
| + | TRAFFIC: [ 811] << 11 |
||
| + | DEBUG: [ 883] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=11 opcode=ffffffff |
||
| + | TRAFFIC: [ 883] << 11 |
||
| + | DEBUG: [ 955] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=11 opcode=ffffffff |
||
| + | DEBUG: [ 955] >> POLL not sent |
||
| + | DEBUG: [ 955] using logical address 'Recorder 1' |
||
| + | DEBUG: [ 955] Recorder 1 (1): device status changed into 'handled by libCEC' |
||
| + | DEBUG: [ 955] Recorder 1 (1): power status changed from 'unknown' to 'on' |
||
| + | DEBUG: [ 955] Recorder 1 (1): vendor = Pulse Eight (001582) |
||
| + | DEBUG: [ 955] Recorder 1 (1): CEC version 1.4 |
||
| + | DEBUG: [ 955] AllocateLogicalAddresses - device '0', type 'recording device', LA '1' |
||
| + | DEBUG: [ 955] Recorder 1 (1): physical address changed from ffff to 1000 |
||
| + | DEBUG: [ 955] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 |
||
| + | DEBUG: [ 955] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=1000 |
||
| + | DEBUG: [ 1100] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0002 num_log_addrs=1 |
||
| + | DEBUG: [ 1100] Recorder 1 (1): osd name set to 'CECTester' |
||
| + | DEBUG: [ 1100] Recorder 1 (1): menu language set to 'eng' |
||
| + | DEBUG: [ 1100] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0002 phys_addr=1000 |
||
| + | NOTICE: [ 1100] CEC client registered: libCEC version = 7.1.1, client version = 7.1.1, firmware version = 0, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, compiled on 2025-11-01 08:43:55 by docker@b9f211185662 on Linux 6.14.11-2-pve (x86_64), features: P8_USB, DRM, P8_detect, Linux_kernel_API |
||
| + | DEBUG: [ 1100] Recorder 1 (1): vendor = LG (00e091) |
||
| + | DEBUG: [ 1100] replacing the command handler for device 'Recorder 1' (1) |
||
| + | DEBUG: [ 1100] Recorder 1 (1): CEC version 1.3a |
||
| + | DEBUG: [ 1100] << Recorder 1 (1) -> TV (0): OSD name 'CECTester' |
||
| + | TRAFFIC: [ 1100] << 10:47:43:45:43:54:65:73:74:65:72 |
||
| + | DEBUG: [ 5665] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=11 addr=10 opcode=47 |
||
| + | TRAFFIC: [ 5665] << 10:47:43:45:43:54:65:73:74:65:72 |
||
| + | DEBUG: [ 7798] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=11 addr=10 opcode=47 |
||
| + | DEBUG: [ 7798] << requesting power status of 'TV' (0) |
||
| + | TRAFFIC: [ 7798] << 10:8f |
||
| + | DEBUG: [ 9932] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=10 opcode=8f |
||
| + | TRAFFIC: [ 9932] << 10:8f |
||
| + | DEBUG: [ 12065] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=10 opcode=8f |
||
| + | requesting CEC bus information ... |
||
| + | DEBUG: [ 12065] << Recorder 1 (1) -> Recorder 2 (2): POLL |
||
| + | TRAFFIC: [ 12065] << 12 |
||
| + | DEBUG: [ 14198] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=12 opcode=ffffffff |
||
| + | TRAFFIC: [ 14198] << 12 |
||
| + | DEBUG: [ 16332] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=12 opcode=ffffffff |
||
| + | DEBUG: [ 16332] >> POLL not sent |
||
| + | DEBUG: [ 16332] Recorder 2 (2): device status changed into 'not present' |
||
| + | DEBUG: [ 16332] << Recorder 1 (1) -> Tuner 1 (3): POLL |
||
| + | TRAFFIC: [ 16332] << 13 |
||
| + | DEBUG: [ 18465] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=13 opcode=ffffffff |
||
| + | TRAFFIC: [ 18465] << 13 |
||
| + | DEBUG: [ 20598] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=13 opcode=ffffffff |
||
| + | DEBUG: [ 20598] >> POLL not sent |
||
| + | DEBUG: [ 20598] Tuner 1 (3): device status changed into 'not present' |
||
| + | DEBUG: [ 20598] << Recorder 1 (1) -> Playback 1 (4): POLL |
||
| + | TRAFFIC: [ 20598] << 14 |
||
| + | DEBUG: [ 22732] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=14 opcode=ffffffff |
||
| + | TRAFFIC: [ 22732] << 14 |
||
| + | DEBUG: [ 24865] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=14 opcode=ffffffff |
||
| + | DEBUG: [ 24865] >> POLL not sent |
||
| + | DEBUG: [ 24865] Playback 1 (4): device status changed into 'not present' |
||
| + | DEBUG: [ 24865] << Recorder 1 (1) -> Audio (5): POLL |
||
| + | TRAFFIC: [ 24865] << 15 |
||
| + | DEBUG: [ 26998] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=15 opcode=ffffffff |
||
| + | TRAFFIC: [ 26998] << 15 |
||
| + | DEBUG: [ 29132] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=15 opcode=ffffffff |
||
| + | DEBUG: [ 29132] >> POLL not sent |
||
| + | DEBUG: [ 29132] Audio (5): device status changed into 'not present' |
||
| + | DEBUG: [ 29132] << Recorder 1 (1) -> Tuner 2 (6): POLL |
||
| + | TRAFFIC: [ 29132] << 16 |
||
| + | DEBUG: [ 31265] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=16 opcode=ffffffff |
||
| + | TRAFFIC: [ 31265] << 16 |
||
| + | DEBUG: [ 33398] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=16 opcode=ffffffff |
||
| + | DEBUG: [ 33398] >> POLL not sent |
||
| + | DEBUG: [ 33398] Tuner 2 (6): device status changed into 'not present' |
||
| + | DEBUG: [ 33398] << Recorder 1 (1) -> Tuner 3 (7): POLL |
||
| + | TRAFFIC: [ 33398] << 17 |
||
| + | DEBUG: [ 35532] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=17 opcode=ffffffff |
||
| + | TRAFFIC: [ 35532] << 17 |
||
| + | DEBUG: [ 37665] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=17 opcode=ffffffff |
||
| + | DEBUG: [ 37665] >> POLL not sent |
||
| + | DEBUG: [ 37665] Tuner 3 (7): device status changed into 'not present' |
||
| + | DEBUG: [ 37665] << Recorder 1 (1) -> Playback 2 (8): POLL |
||
| + | TRAFFIC: [ 37665] << 18 |
||
| + | DEBUG: [ 39798] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=18 opcode=ffffffff |
||
| + | TRAFFIC: [ 39798] << 18 |
||
| + | DEBUG: [ 41932] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=18 opcode=ffffffff |
||
| + | DEBUG: [ 41932] >> POLL not sent |
||
| + | DEBUG: [ 41932] Playback 2 (8): device status changed into 'not present' |
||
| + | DEBUG: [ 41932] << Recorder 1 (1) -> Recorder 3 (9): POLL |
||
| + | TRAFFIC: [ 41932] << 19 |
||
| + | DEBUG: [ 44065] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=19 opcode=ffffffff |
||
| + | TRAFFIC: [ 44065] << 19 |
||
| + | DEBUG: [ 46198] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=19 opcode=ffffffff |
||
| + | DEBUG: [ 46198] >> POLL not sent |
||
| + | DEBUG: [ 46198] Recorder 3 (9): device status changed into 'not present' |
||
| + | DEBUG: [ 46199] << Recorder 1 (1) -> Tuner 4 (A): POLL |
||
| + | TRAFFIC: [ 46199] << 1a |
||
| + | DEBUG: [ 48332] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1a opcode=ffffffff |
||
| + | TRAFFIC: [ 48332] << 1a |
||
| + | DEBUG: [ 50465] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1a opcode=ffffffff |
||
| + | DEBUG: [ 50465] >> POLL not sent |
||
| + | DEBUG: [ 50465] Tuner 4 (A): device status changed into 'not present' |
||
| + | DEBUG: [ 50465] << Recorder 1 (1) -> Playback 3 (B): POLL |
||
| + | TRAFFIC: [ 50465] << 1b |
||
| + | DEBUG: [ 52598] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1b opcode=ffffffff |
||
| + | TRAFFIC: [ 52598] << 1b |
||
| + | DEBUG: [ 54732] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1b opcode=ffffffff |
||
| + | DEBUG: [ 54732] >> POLL not sent |
||
| + | DEBUG: [ 54732] Playback 3 (B): device status changed into 'not present' |
||
| + | DEBUG: [ 54732] << Recorder 1 (1) -> Reserved 1 (C): POLL |
||
| + | TRAFFIC: [ 54732] << 1c |
||
| + | DEBUG: [ 56865] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1c opcode=ffffffff |
||
| + | TRAFFIC: [ 56865] << 1c |
||
| + | DEBUG: [ 58998] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1c opcode=ffffffff |
||
| + | DEBUG: [ 58998] >> POLL not sent |
||
| + | DEBUG: [ 58998] Reserved 1 (C): device status changed into 'not present' |
||
| + | DEBUG: [ 58998] << Recorder 1 (1) -> Reserved 2 (D): POLL |
||
| + | TRAFFIC: [ 58998] << 1d |
||
| + | DEBUG: [ 61132] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1d opcode=ffffffff |
||
| + | TRAFFIC: [ 61132] << 1d |
||
| + | DEBUG: [ 63265] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1d opcode=ffffffff |
||
| + | DEBUG: [ 63265] >> POLL not sent |
||
| + | DEBUG: [ 63265] Reserved 2 (D): device status changed into 'not present' |
||
| + | DEBUG: [ 63265] << Recorder 1 (1) -> Free use (E): POLL |
||
| + | TRAFFIC: [ 63265] << 1e |
||
| + | DEBUG: [ 65398] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1e opcode=ffffffff |
||
| + | TRAFFIC: [ 65398] << 1e |
||
| + | DEBUG: [ 67532] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1e opcode=ffffffff |
||
| + | DEBUG: [ 67532] >> POLL not sent |
||
| + | DEBUG: [ 67532] Free use (E): device status changed into 'not present' |
||
| + | DEBUG: [ 67532] << requesting active source |
||
| + | TRAFFIC: [ 67532] << 1f:85 |
||
| + | DEBUG: [ 69665] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=1f opcode=85 |
||
| + | TRAFFIC: [ 69665] << 1f:85 |
||
| + | DEBUG: [ 71798] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=1f opcode=85 |
||
| + | DEBUG: [ 71798] << requesting power status of 'TV' (0) |
||
| + | TRAFFIC: [ 71798] << 10:8f |
||
| + | DEBUG: [ 73932] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=10 opcode=8f |
||
| + | TRAFFIC: [ 73932] << 10:8f |
||
| + | DEBUG: [ 76065] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=10 opcode=8f |
||
| + | DEBUG: [ 76065] << requesting active source |
||
| + | TRAFFIC: [ 76065] << 1f:85 |
||
| + | DEBUG: [ 78198] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=1f opcode=85 |
||
| + | TRAFFIC: [ 78198] << 1f:85 |
||
| + | CEC bus information |
||
| + | =================== |
||
| + | device #0: TV |
||
| + | address: 0.0.0.0 |
||
| + | active source: no |
||
| + | vendor: LG |
||
| + | osd string: TV |
||
| + | CEC version: 1.3a |
||
| + | power status: unknown |
||
| + | language: eng |
||
| + | |||
| + | |||
| + | device #1: Recorder 1 |
||
| + | address: 1.0.0.0 |
||
| + | active source: no |
||
| + | vendor: LG |
||
| + | osd string: CECTester |
||
| + | CEC version: 1.3a |
||
| + | power status: on |
||
| + | language: eng |
||
| + | |||
| + | |||
| + | currently active source: unknown (-1) |
||
| + | DEBUG: [ 80332] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=1f opcode=85 |
||
| + | DEBUG: [ 80332] unregistering all CEC clients |
||
| + | NOTICE: [ 80332] unregistering client: libCEC version = 7.1.1, client version = 7.1.1, firmware version = 0, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, compiled on 2025-11-01 08:43:55 by docker@b9f211185662 on Linux 6.14.11-2-pve (x86_64), features: P8_USB, DRM, P8_detect, Linux_kernel_API |
||
| + | DEBUG: [ 80332] Recorder 1 (1): power status changed from 'on' to 'unknown' |
||
| + | DEBUG: [ 80332] Recorder 1 (1): vendor = Unknown (000000) |
||
| + | DEBUG: [ 80332] Recorder 1 (1): CEC version unknown |
||
| + | DEBUG: [ 80332] Recorder 1 (1): osd name set to 'Recorder 1' |
||
| + | DEBUG: [ 80332] Recorder 1 (1): device status changed into 'unknown' |
||
| + | DEBUG: [ 80332] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 |
||
| + | DEBUG: [ 80332] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 |
||
| + | DEBUG: [ 80332] unregistering all CEC clients |
||
| + | DEBUG: [ 80332] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=1000 |
||
| + | DEBUG: [ 80332] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 |
||
| + | DEBUG: [ 81338] CLinuxCECAdapterCommunication::Process - stopped - m_fd=3 |
||
| + | DEBUG: [ 81338] CLinuxCECAdapterCommunication::Close - m_fd=3 |
||
| + | </PRE> |
||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | cec-ctl -S |
||
| + | Driver Info: |
||
| + | Driver Name : vc4_hdmi |
||
| + | Adapter Name : vc4-hdmi-0 |
||
| + | Capabilities : 0x0000030e |
||
| + | Logical Addresses |
||
| + | Transmit |
||
| + | Passthrough |
||
| + | Connector Info |
||
| + | Reply Vendor ID |
||
| + | Driver version : 6.12.56 |
||
| + | Available Logical Addresses: 1 |
||
| + | DRM Connector Info : card 0, connector 33 |
||
| + | Physical Address : 1.0.0.0 |
||
| + | Logical Address Mask : 0x0000 |
||
| + | CEC Version : 2.0 |
||
| + | OSD Name : '' |
||
| + | Logical Addresses : 0 (Allow Fallback to Unregistered) |
||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Power on: |
||
| + | |||
| + | LibreELEC:~ # cec-ctl --user-control-pressed ui-cmd=power-on-function --to 0 |
||
| + | |||
| + | |||
| + | Monitor CEC traffic: |
||
| + | |||
| + | LibreELEC:~ # cec-ctl -m |
||
Текущая версия на 13:29, 21 апреля 2026
HDMI CEC
редактировать config.txt
https://wiki.libreelec.tv/configuration/config_txt
2
https://forum.libreelec.tv/thread/29781-rpi5-cec-not-working/
systemctl stop kodi
echo 'scan' | cec-client -s
echo 'scan' | cec-client -s -d 1 opening a connection to the CEC adapter... requesting CEC bus information ... CEC bus information
=======
device #0: TV address: 0.0.0.0 active source: no vendor: LG osd string: TV CEC version: 1.3a power status: unknown language: eng
device #1: Recorder 1
address: 1.0.0.0
active source: no
vendor: LG
osd string: CECTester
CEC version: 1.3a
power status: on
language: eng
currently active source: unknown (-1)
echo scan | cec-client -s -d 31 opening a connection to the CEC adapter... DEBUG: [ 62] Broadcast (F): osd name set to 'Broadcast' DEBUG: [ 62] CLinuxCECAdapterCommunication::Open - m_fd=3 bStartListening=1 DEBUG: [ 62] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_G_PHYS_ADDR - addr=1000 DEBUG: [ 62] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 62] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=8000 num_log_addrs=1 NOTICE: [ 63] connection opened DEBUG: [ 63] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=8000 phys_addr=1000 DEBUG: [ 63] << Broadcast (F) -> TV (0): POLL TRAFFIC: [ 63] << f0 DEBUG: [ 63] processor thread started DEBUG: [ 491] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=01 len=1 addr=f0 opcode=ffffffff DEBUG: [ 491] >> POLL sent DEBUG: [ 491] TV (0): device status changed into 'present' DEBUG: [ 491] << requesting vendor ID of 'TV' (0) TRAFFIC: [ 491] << f0:8c DEBUG: [ 668] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=01 len=2 addr=f0 opcode=8c DEBUG: [ 811] CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=01 len=5 addr=0f opcode=87 TRAFFIC: [ 811] >> 0f:87:00:e0:91 DEBUG: [ 811] >> TV (0) -> Broadcast (F): device vendor id (87) DEBUG: [ 811] TV (0): vendor = LG (00e091) DEBUG: [ 811] expected response received (87: device vendor id) DEBUG: [ 811] replacing the command handler for device 'TV' (0) DEBUG: [ 811] TV (0): CEC version 1.3a DEBUG: [ 811] TV (0): menu language set to 'eng' DEBUG: [ 811] registering new CEC client - v7.1.1 DEBUG: [ 811] using auto-detected physical address 1000 DEBUG: [ 811] detecting logical address for type 'recording device' DEBUG: [ 811] trying logical address 'Recorder 1' DEBUG: [ 811] << Recorder 1 (1) -> Recorder 1 (1): POLL TRAFFIC: [ 811] << 11 DEBUG: [ 883] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=11 opcode=ffffffff TRAFFIC: [ 883] << 11 DEBUG: [ 955] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=11 opcode=ffffffff DEBUG: [ 955] >> POLL not sent DEBUG: [ 955] using logical address 'Recorder 1' DEBUG: [ 955] Recorder 1 (1): device status changed into 'handled by libCEC' DEBUG: [ 955] Recorder 1 (1): power status changed from 'unknown' to 'on' DEBUG: [ 955] Recorder 1 (1): vendor = Pulse Eight (001582) DEBUG: [ 955] Recorder 1 (1): CEC version 1.4 DEBUG: [ 955] AllocateLogicalAddresses - device '0', type 'recording device', LA '1' DEBUG: [ 955] Recorder 1 (1): physical address changed from ffff to 1000 DEBUG: [ 955] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 955] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=1000 DEBUG: [ 1100] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0002 num_log_addrs=1 DEBUG: [ 1100] Recorder 1 (1): osd name set to 'CECTester' DEBUG: [ 1100] Recorder 1 (1): menu language set to 'eng' DEBUG: [ 1100] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0002 phys_addr=1000 NOTICE: [ 1100] CEC client registered: libCEC version = 7.1.1, client version = 7.1.1, firmware version = 0, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, compiled on 2025-11-01 08:43:55 by docker@b9f211185662 on Linux 6.14.11-2-pve (x86_64), features: P8_USB, DRM, P8_detect, Linux_kernel_API DEBUG: [ 1100] Recorder 1 (1): vendor = LG (00e091) DEBUG: [ 1100] replacing the command handler for device 'Recorder 1' (1) DEBUG: [ 1100] Recorder 1 (1): CEC version 1.3a DEBUG: [ 1100] << Recorder 1 (1) -> TV (0): OSD name 'CECTester' TRAFFIC: [ 1100] << 10:47:43:45:43:54:65:73:74:65:72 DEBUG: [ 5665] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=11 addr=10 opcode=47 TRAFFIC: [ 5665] << 10:47:43:45:43:54:65:73:74:65:72 DEBUG: [ 7798] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=11 addr=10 opcode=47 DEBUG: [ 7798] << requesting power status of 'TV' (0) TRAFFIC: [ 7798] << 10:8f DEBUG: [ 9932] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=10 opcode=8f TRAFFIC: [ 9932] << 10:8f DEBUG: [ 12065] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=10 opcode=8f requesting CEC bus information ... DEBUG: [ 12065] << Recorder 1 (1) -> Recorder 2 (2): POLL TRAFFIC: [ 12065] << 12 DEBUG: [ 14198] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=12 opcode=ffffffff TRAFFIC: [ 14198] << 12 DEBUG: [ 16332] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=12 opcode=ffffffff DEBUG: [ 16332] >> POLL not sent DEBUG: [ 16332] Recorder 2 (2): device status changed into 'not present' DEBUG: [ 16332] << Recorder 1 (1) -> Tuner 1 (3): POLL TRAFFIC: [ 16332] << 13 DEBUG: [ 18465] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=13 opcode=ffffffff TRAFFIC: [ 18465] << 13 DEBUG: [ 20598] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=13 opcode=ffffffff DEBUG: [ 20598] >> POLL not sent DEBUG: [ 20598] Tuner 1 (3): device status changed into 'not present' DEBUG: [ 20598] << Recorder 1 (1) -> Playback 1 (4): POLL TRAFFIC: [ 20598] << 14 DEBUG: [ 22732] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=14 opcode=ffffffff TRAFFIC: [ 22732] << 14 DEBUG: [ 24865] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=14 opcode=ffffffff DEBUG: [ 24865] >> POLL not sent DEBUG: [ 24865] Playback 1 (4): device status changed into 'not present' DEBUG: [ 24865] << Recorder 1 (1) -> Audio (5): POLL TRAFFIC: [ 24865] << 15 DEBUG: [ 26998] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=15 opcode=ffffffff TRAFFIC: [ 26998] << 15 DEBUG: [ 29132] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=15 opcode=ffffffff DEBUG: [ 29132] >> POLL not sent DEBUG: [ 29132] Audio (5): device status changed into 'not present' DEBUG: [ 29132] << Recorder 1 (1) -> Tuner 2 (6): POLL TRAFFIC: [ 29132] << 16 DEBUG: [ 31265] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=16 opcode=ffffffff TRAFFIC: [ 31265] << 16 DEBUG: [ 33398] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=16 opcode=ffffffff DEBUG: [ 33398] >> POLL not sent DEBUG: [ 33398] Tuner 2 (6): device status changed into 'not present' DEBUG: [ 33398] << Recorder 1 (1) -> Tuner 3 (7): POLL TRAFFIC: [ 33398] << 17 DEBUG: [ 35532] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=17 opcode=ffffffff TRAFFIC: [ 35532] << 17 DEBUG: [ 37665] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=17 opcode=ffffffff DEBUG: [ 37665] >> POLL not sent DEBUG: [ 37665] Tuner 3 (7): device status changed into 'not present' DEBUG: [ 37665] << Recorder 1 (1) -> Playback 2 (8): POLL TRAFFIC: [ 37665] << 18 DEBUG: [ 39798] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=18 opcode=ffffffff TRAFFIC: [ 39798] << 18 DEBUG: [ 41932] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=18 opcode=ffffffff DEBUG: [ 41932] >> POLL not sent DEBUG: [ 41932] Playback 2 (8): device status changed into 'not present' DEBUG: [ 41932] << Recorder 1 (1) -> Recorder 3 (9): POLL TRAFFIC: [ 41932] << 19 DEBUG: [ 44065] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=19 opcode=ffffffff TRAFFIC: [ 44065] << 19 DEBUG: [ 46198] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=19 opcode=ffffffff DEBUG: [ 46198] >> POLL not sent DEBUG: [ 46198] Recorder 3 (9): device status changed into 'not present' DEBUG: [ 46199] << Recorder 1 (1) -> Tuner 4 (A): POLL TRAFFIC: [ 46199] << 1a DEBUG: [ 48332] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1a opcode=ffffffff TRAFFIC: [ 48332] << 1a DEBUG: [ 50465] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1a opcode=ffffffff DEBUG: [ 50465] >> POLL not sent DEBUG: [ 50465] Tuner 4 (A): device status changed into 'not present' DEBUG: [ 50465] << Recorder 1 (1) -> Playback 3 (B): POLL TRAFFIC: [ 50465] << 1b DEBUG: [ 52598] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1b opcode=ffffffff TRAFFIC: [ 52598] << 1b DEBUG: [ 54732] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1b opcode=ffffffff DEBUG: [ 54732] >> POLL not sent DEBUG: [ 54732] Playback 3 (B): device status changed into 'not present' DEBUG: [ 54732] << Recorder 1 (1) -> Reserved 1 (C): POLL TRAFFIC: [ 54732] << 1c DEBUG: [ 56865] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1c opcode=ffffffff TRAFFIC: [ 56865] << 1c DEBUG: [ 58998] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1c opcode=ffffffff DEBUG: [ 58998] >> POLL not sent DEBUG: [ 58998] Reserved 1 (C): device status changed into 'not present' DEBUG: [ 58998] << Recorder 1 (1) -> Reserved 2 (D): POLL TRAFFIC: [ 58998] << 1d DEBUG: [ 61132] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1d opcode=ffffffff TRAFFIC: [ 61132] << 1d DEBUG: [ 63265] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1d opcode=ffffffff DEBUG: [ 63265] >> POLL not sent DEBUG: [ 63265] Reserved 2 (D): device status changed into 'not present' DEBUG: [ 63265] << Recorder 1 (1) -> Free use (E): POLL TRAFFIC: [ 63265] << 1e DEBUG: [ 65398] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1e opcode=ffffffff TRAFFIC: [ 65398] << 1e DEBUG: [ 67532] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=1 addr=1e opcode=ffffffff DEBUG: [ 67532] >> POLL not sent DEBUG: [ 67532] Free use (E): device status changed into 'not present' DEBUG: [ 67532] << requesting active source TRAFFIC: [ 67532] << 1f:85 DEBUG: [ 69665] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=1f opcode=85 TRAFFIC: [ 69665] << 1f:85 DEBUG: [ 71798] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=1f opcode=85 DEBUG: [ 71798] << requesting power status of 'TV' (0) TRAFFIC: [ 71798] << 10:8f DEBUG: [ 73932] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=10 opcode=8f TRAFFIC: [ 73932] << 10:8f DEBUG: [ 76065] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=10 opcode=8f DEBUG: [ 76065] << requesting active source TRAFFIC: [ 76065] << 1f:85 DEBUG: [ 78198] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=1f opcode=85 TRAFFIC: [ 78198] << 1f:85 CEC bus information =================== device #0: TV address: 0.0.0.0 active source: no vendor: LG osd string: TV CEC version: 1.3a power status: unknown language: eng device #1: Recorder 1 address: 1.0.0.0 active source: no vendor: LG osd string: CECTester CEC version: 1.3a power status: on language: eng currently active source: unknown (-1) DEBUG: [ 80332] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=a0 len=2 addr=1f opcode=85 DEBUG: [ 80332] unregistering all CEC clients NOTICE: [ 80332] unregistering client: libCEC version = 7.1.1, client version = 7.1.1, firmware version = 0, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, compiled on 2025-11-01 08:43:55 by docker@b9f211185662 on Linux 6.14.11-2-pve (x86_64), features: P8_USB, DRM, P8_detect, Linux_kernel_API DEBUG: [ 80332] Recorder 1 (1): power status changed from 'on' to 'unknown' DEBUG: [ 80332] Recorder 1 (1): vendor = Unknown (000000) DEBUG: [ 80332] Recorder 1 (1): CEC version unknown DEBUG: [ 80332] Recorder 1 (1): osd name set to 'Recorder 1' DEBUG: [ 80332] Recorder 1 (1): device status changed into 'unknown' DEBUG: [ 80332] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 80332] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 80332] unregistering all CEC clients DEBUG: [ 80332] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=1000 DEBUG: [ 80332] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 81338] CLinuxCECAdapterCommunication::Process - stopped - m_fd=3 DEBUG: [ 81338] CLinuxCECAdapterCommunication::Close - m_fd=3
cec-ctl -S Driver Info: Driver Name : vc4_hdmi Adapter Name : vc4-hdmi-0 Capabilities : 0x0000030e Logical Addresses Transmit Passthrough Connector Info Reply Vendor ID Driver version : 6.12.56 Available Logical Addresses: 1 DRM Connector Info : card 0, connector 33 Physical Address : 1.0.0.0 Logical Address Mask : 0x0000 CEC Version : 2.0 OSD Name : Logical Addresses : 0 (Allow Fallback to Unregistered)
Power on:
LibreELEC:~ # cec-ctl --user-control-pressed ui-cmd=power-on-function --to 0
Monitor CEC traffic:
LibreELEC:~ # cec-ctl -m