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

Aperta
#2,916 8 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
linux

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Nessun dato sulla lingua
Stelle
2.7k
Fork
88
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ValveSoftware/SteamOS

Tutte le issue di ValveSoftware/SteamOS

Issue simili

Altre issue su Operating Systems

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.