HDMI-CEC does not put tv into standby mode when goes to sleep

未关闭
#2,916 8 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
linux

调研方向

Start by comparing the CEC events recorded during SteamOS sleep with the direct cec-ctl --to 0 --standby interaction shown in the issue. The report identifies a missing STANDBY message and lost state-change events, but does not name the SteamOS component or test to inspect. Done when the cause is identified and the TV enters standby when the machine sleeps.

由索引模型根据 Issue 内容生成。

描述

Your system information
  • Steam client version: 1788652215
  • SteamOS version: 3.8.28
  • Opted into Steam client beta?: No
  • Opted into SteamOS beta?: No
  • Have you checked for updates in Settings > System?: Yes
Please describe your issue in as much detail as possible:
  • TV model: Sony Bravia XR-65X91K
  • Device model: Steam Machine

So while the turning TV on when awake feature works fine, the putting TV to standby never worked once.
I'm feeling really curious about this, so i used cec-ctl --monitor command to retrieve some logs during this process.

I took these actions sequentially:

  • Ensure everything is awake
  • Start cec-ctl --monitor within a tmux session and redirect its output to a log file
  • Use steam controller to select Power - Sleep from menu
    => The machine goes to sleep, but the tv is still awake, still within HDMI input channel, displaying "no input"
    => (this is not the expected behavior - the tv should go to standby mode instead)
  • Use TV rc to manually put the tv into standby mode
  • Use steam controller steam button to wake the machine, which automatically turns tv on. (expected)
  • reconnect to the tmux session, kill the monitor process, and print-out the log file.

Here's what i got:

Driver Info:
        Driver Name                : cros-ec-cec
        Adapter Name               : cros-ec-cec
        Capabilities               : 0x0000031e
                Logical Addresses
                Transmit
                Passthrough
                Remote Control Support
                Connector Info
                Reply Vendor ID
        Driver version             : 6.18.50
        Available Logical Addresses: 1
        DRM Connector Info         : card 0, connector 121
        Physical Address           : 1.0.0.0
        Logical Address Mask       : 0x0010
        CEC Version                : 2.0
        Vendor ID                  : 0xe0319e, 14692766
        OSD Name                   : 'Steam Machine'
        Logical Addresses          : 1

          Logical Address          : 4 (Playback Device 1)
            Primary Device Type    : Playback
            Logical Address Type   : Playback
            All Device Types       :
            RC TV Profile          : None
            Device Features        :
                None



Initial Event: State Change: PA: 1.0.0.0, LA mask: 0x0010
Received from TV to Playback Device 1 (0 to 4): GIVE_DEVICE_POWER_STATUS (0x8f)
Transmitted by Playback Device 1 to TV (4 to 0): REPORT_POWER_STATUS (0x90):
        pwr-state: on (0x00)
Received from TV to Playback Device 1 (0 to 4): POLL
Transmitted by Playback Device 1 to TV (4 to 0): INACTIVE_SOURCE (0x9d):
        phys-addr: 1.0.0.0

(warn: State Change events were lost)
71615.982610: Event: State Change: PA: 1.0.0.0, LA mask: 0x0000
Transmitted by Playback Device 1 to Playback Device 1 (4 to 4): POLL
        Tx, Not Acknowledged (1), Max Retries

71616.202477: Event: State Change: PA: 1.0.0.0, LA mask: 0x0010
Transmitted by Playback Device 1 to all (4 to 15): REPORT_FEATURES (0xa6):
        cec-version: version-2-0 (0x06)
        all-device-types: 0 (0x00)
        rc-profile: tv-profile-none (0x00)
        dev-features: 0 (0x00)
Transmitted by Playback Device 1 to all (4 to 15): REPORT_PHYSICAL_ADDR (0x84):
        phys-addr: 1.0.0.0
        prim-devtype: playback (0x04)
Transmitted by Playback Device 1 to all (4 to 15): DEVICE_VENDOR_ID (0x87):
        vendor-id: 0xe0319e, 14692766
Transmitted by Playback Device 1 to all (4 to 15): REPORT_POWER_STATUS (0x90):
        pwr-state: on (0x00)
Transmitted by Playback Device 1 to TV (4 to 0): POLL
Transmitted by Playback Device 1 to TV (4 to 0): IMAGE_VIEW_ON (0x04)
Transmitted by Playback Device 1 to all (4 to 15): REQUEST_ACTIVE_SOURCE (0x85)
Transmitted by Playback Device 1 to TV (4 to 0): GIVE_AUDIO_STATUS (0x71)
Received from TV to all (0 to 15): VENDOR_COMMAND_WITH_ID (0xa0):
        vendor-id: 0x080046 (Sony)
        vendor-specific-data: 0x00 0x09 0x00 0x01
Received from TV to Playback Device 1 (0 to 4): FEATURE_ABORT (0x00):
        abort-msg: 113 (0x71, GIVE_AUDIO_STATUS)
        reason: incorrect-mode (0x01)
Transmitted by Playback Device 1 to all (4 to 15): ACTIVE_SOURCE (0x82):
        phys-addr: 1.0.0.0
Received from TV to all (0 to 15): REPORT_PHYSICAL_ADDR (0x84):
        phys-addr: 0.0.0.0
        prim-devtype: tv (0x00)
Received from TV to all (0 to 15): DEVICE_VENDOR_ID (0x87):
        vendor-id: 0x080046 (Sony)
Received from TV to all (0 to 15): ACTIVE_SOURCE (0x82):
        phys-addr: 0.0.0.0
Received from TV to all (0 to 15): VENDOR_COMMAND_WITH_ID (0xa0):
        vendor-id: 0x080046 (Sony)
        vendor-specific-data: 0x00 0x13 0x00 0x10 0x00 0x90 0x01 0x00 0x00 0x00 0x00
Received from TV to all (0 to 15): VENDOR_COMMAND_WITH_ID (0xa0):
        vendor-id: 0x080046 (Sony)
        vendor-specific-data: 0x00 0x13 0x00 0x10 0x00 0x90 0x50 0x00 0x00 0x00 0x00
Transmitted by Playback Device 1 to all (4 to 15): ACTIVE_SOURCE (0x82):
        phys-addr: 1.0.0.0
...

Comparing this log file to a direct cec-ctl --to 0 --standby output, it seems the correct interaction

Transmitted by Playback Device 1 to TV (4 to 0): STANDBY (0x36)
Received from TV to all (0 to 15): VENDOR_COMMAND_WITH_ID (0xa0):
        vendor-id: 0x080046 (Sony)
        vendor-specific-data: 0x00 0x3f 0x00 0x00 0x00 0x00 0x00
Received from TV to all (0 to 15): VENDOR_COMMAND_WITH_ID (0xa0):
        vendor-id: 0x080046 (Sony)
        vendor-specific-data: 0x00 0x09 0x00 0x01

never occurred. Although i'm not familar with the protocol itself, I personally think the (warn: State Change events were lost) part is especially suspicious.

主要语言
没有语言数据
星标
2.7k
派生
88
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

ValveSoftware/SteamOS 的其他 Issue

查看 ValveSoftware/SteamOS 的全部 Issue

相似的 Issue

更多 Operating Systems Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。