cec-clientで電源ONが効かなかった時の確認事項

概要

raspberry pi 経由でcec-clientを使ってHDMIから電源ON/OFFしたいのですが、テレビによってはうまくいかないことがありました。
今回はテレビ側の設定で解決できたので一例として投稿します。

機種

今回うまくいかなかった機種はSHARPのLC-40AE7です。

エラーの確認方法

cec-clientがインストール済みである前提で話を進めます。
テレビの電源をOFF(正確にはスタンバイ)にして下記のコマンドを実行しましょう。

$ cec-client

これで対話モードで実行されるので「waiting for input」が表示されたところで「on 0」と入力。
すると下記のメッセージが表示されました。

AQUOS LINK 'auto power on' is disabled, which prevents the TV from being powered on. To correct this, press the menu button on your remote, go to 'link operation' -> 'AQUOS LINK setup' -> 'Auto power on' and set it to 'On'

適当な和訳ですが「アクオスリンクの自動電源ONが無効だからパワーオンは防止されました。正しく行いたいなら[リンクオペレーション]->[アクオスリンクセットアップ]->[自動電源ON]の設定値をONにしてください。」と読めます。
要するにテレビ側の設定で無効化しているだけということのようですね。

対処方法

実際にテレビの設定を変えるだけで「echo 'on 0' | cec-client -s」が使えるようになりました。
なのでメーカーや機種によって「~リンク」は異なるとは思いますが、セキュリティ対策でデフォルトが自動電源ONを無効化している可能性を疑ってみるのが良いかもしれません。

おまけ

今回はスタンバイ操作はできており、ONが出来ないという中途半端な状態だったので希望をもって調査できましたが、スタンバイ操作も何も反応しない場合はそもそもCEC対応していないとか、ケーブルが古すぎ(安すぎ)で対応していないとか、そういった可能性も考慮する必要があるかもしれません。