液晶ディスプレイ初回電源オンでのHDMI出力の不具合について

お世話になっております,平野と申します.

Armadillo-840のHDMI出力を液晶ディスプレイに表示するシステムで利用しています.
液晶ディスプレイによってはArmadillo-840は利用できる解像度の情報が得られていても映像が表示がされないことがあります.
何か解決策はありますでしょうか?

●環境
液晶ディスプレイ:LCD-AS172-B5(NEC)
接続ケーブル:HDMI-DVIケーブル(メーカー不明)

ATDE5 i386(20160225)
linux-3.4-at17.tar.gz
atmark-dist-20160527.tar.gz

●再現テスト
・液晶ディスプレイのACを接続し電源オンしたあと"SELECT"などボタン操作をしない.
・Qtを使った自作アプリではなくGstreamerで確認.(rc.localで起動)

gst-launch-1.0 videotestsrc ! "video/x-raw,width=1280,height=1024" ! fbdevsink device=/dev/fb0 &

●結果
・Gstreamer動作後に下記が出力されその後"WARNING"からの5行が繰り返される.

(gst-plugin-scanner:3404): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstvideo4linux2.so': libX11.so.6: cannot open shared object file: No such file or directory
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
WARNING: from element /GstPipeline:pipeline0/GstFBDEVSink:fbdevsink0: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2683): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstFBDEVSink:fbdevsink0:
There may be a timestamping problem, or this computer is too slow.
sh_hdmi_hotplug: 51 callbacks suppressed

・液晶ディスプレイはパワーマネージメント動作のオレンジ色となる.
・"SELECT"ボタンを操作すると映像が映るようになる.

以上,よろしくお願いいたします.

製品: 
Armadillo-840

佐藤です。

最新のカーネルとユーザーランドでも発生するか確認できますでしょうか。
https://users.atmark-techno.com/armadillo-840/software

加えて以下の点も確認できますでしょうか。
Armadillo-840 を複数お持ちであればその全てで発生するか
他のディスプレイでも発生するか
ケーブルを変更しても発生するか

お世話になっております,平野と申します.

> 最新のカーネルとユーザーランドでも発生するか確認できますでしょうか。
[snip]
> 加えて以下の点も確認できますでしょうか。
> Armadillo-840 を複数お持ちであればその全てで発生するか
> 他のディスプレイでも発生するか
> ケーブルを変更しても発生するか

試験用のArmadillo-840に最新のカーネルとユーザーランドでも発生しました.
他のディスプレイでは発生しませんでした.
表示ブランクが発生する液晶ディスプレイではケーブルを変更しても発生しました.

前回投稿で利用したものではないArmadillo-840に下記を書き込んで動作確認をしてみました.
 ブートローダー:loader-armadillo840-nor-v3.11.0.bin
 Linuxカーネル :linux-a840-v1.22.bin.gz
 ユーザーランド:romfs-a840-v1.15.img.gz

液晶ディスプレイは連続動作試験をしていたため同型番のものを利用したところ下記のような結果となりました.
・最新カーネル・ユーザーランド
 HDMI-DVIケーブルで映像は表示されない.入力切替など液晶ディスプレイの操作をしても変化なし.
 対応している解像度は下記の通りで推奨解像度の1280x1024が現れない.

[root@armadillo840-0 (ttySC2) ~]# cat /sys/class/graphics/fb0/modes
V:1024x768p-70
V:1024x768p-60
U:832x624p-75
V:800x600p-75
V:800x600p-72
V:800x600p-60
V:800x600p-56
V:640x480p-75
V:640x480p-72
U:640x480p-67
V:640x480p-60
U:720x400p-70

 HDMIケーブルにDVI変換アダプタを利用した接続に変更しても映像は表示されない.入力切替など液晶ディスプレイの操作をしても変化なし.
 フルHD対応の液晶ディスプレイでは画像ビューア アプリが表示される.

・利用しているカスタムしたカーネル・ユーザーランド
 カーネルおよびユーザーランドを書き換え
 HDMIケーブルにDVI変換アダプタを利用した接続で映像は表示されない.入力切替など液晶ディスプレイの操作をしても変化なし.
 対応している解像度は下記の通りで推奨解像度の1280x1024が現れる.

[root@armadillo840-0 (ttySC2) ~]# cat /sys/class/graphics/fb0/modes 
U:1280x960p-75
V:1152x864p-75
V:1280x1024p-75
V:1024x768p-75
V:1024x768p-70
V:1024x768p-60
U:832x624p-75
V:800x600p-75
V:800x600p-72
V:800x600p-60
V:800x600p-56
V:640x480p-75
V:640x480p-72
U:640x480p-67
V:640x480p-60
U:720x400p-70
D:1280x1024p-60

・WindowsPCでの動作確認
 Armadillo-840からPCへの接続切替は電源オンのまま作業
 フルHDの液晶ディスプレイで動作させていたが1280x1024で表示される
 接続ケーブルはDVI-Dケーブルを利用

・再度Armadillo-840を液晶ディスプレイに接続
 映像が表示される

・Armadillo-840・液晶ディスプレイを電源オフから確認
 ACアダプタなどを外して1分程度放置してから接続
 液晶ディスプレイを電源オン
 Armadillo-840を電源オン
 HDMIケーブルにDVI変換アダプタを利用した接続で映像は表示されない(LEDは青点灯[信号あり])
 推奨解像度に設定するも映像は表示されない
 Gstreamerを停止したところ少し時間が経つと映像が表示される

・再度電源ケーブルを抜き放置してから起動
 Gstreamerを自動実行せず起動
 手動でGstreamerを実行.映像は出ない
 Gstreamerを停止し推奨解像度に設定するも映像は出ない
 何度かGstreamerを起動・停止しても映像は出ない
 haltを実行したら表示された

佐藤です。

drivers/video/sh_mobile_hdmi.c の冒頭部分に #define DEBUG と追加すると、
dmesg にログが出力されるようになるので確認してみてもらえますでしょうか。

お世話になっております,平野と申します.

> drivers/video/sh_mobile_hdmi.c の冒頭部分に #define DEBUG
> と追加すると、
> dmesg
> にログが出力されるようになるので確認してみてもらえますでしょうか。

コンソールのログと/var/log/messagesを添付します.
dmesgではすぐに初期の内容が無くなっていたので/var/log/messagesを選択しました.

機器の電源を入れる順番で動作が異なっています.

以下は液晶ディスプレイをAS172,Armadillo-840をa840とします.

●a840起動後にAS172の電源オン:正常に表示
条件:AS172,a840をAC切断放置
・a840が起動し終わったらログイン
・AS172のAC接続(ログ:echo monitor opower on)
・AS172の電源オン(ログ:echo monitor switch on)
・カラーバー表示(ログ:echo color bar success)
20191206_a840_hdmi_debug_4.log
20191206-1130_message.txt

●AS172のAC接続しておきa840起動後にAS172の電源オン:正常に表示
条件:AS172,a840をAC切断放置
・AS172のAC接続
・a840電源オン
・AS172の電源オン(ログ:echo monitor poswitch on)
・カラーバー表示(ログ:echo color bar success)
20191206_a840_hdmi_debug_5.log
20191206-1136_messages.txt

●AS172のAC接続し電源オン,a840起動:表示しない
条件:AS172,a840をAC切断放置
・AS172のAC接続
・AS172の電源オン
・AS172のスタンバイを確認
・a840電源オン
・AS172はスタンバイのまま
・AS172の入力切替押下(ログ:echo monitor input select)
・コンソールへの空行出力が止まる
・カラーバーが表示できない(ログ:echo color bar faild)
・Gstreamer停止して少し時間が経ってから表示された(砂嵐は静止)(ログ:echo color bar displayed)
20191206_a840_hdmi_debug_6.log
20191206-1143_messages.txt

●AS172電源オン,a840halt停止中:正常に表示
条件:AS172,a840ともに通電
・液晶ディスプレイにはカラーバーが止まって表示されている
・a840リセット
・カラーバー表示(ログ:echo color bar success)
ログ:20191206_a840_hdmi_debug_7.log
20191206-1152_messages.txt

◆参考:Dura Vision FDX1203(EIZO)
●FDX1203の電源オン,a840起動:正常に表示
・FDX1203の電源オン
・FDX1203のスタンバイを確認
・a840電源オン
・FDX1203はDVI認識
・カラーバー表示(ログ:echo color bar success)
20191206_a840_hdmi_debug_7.log
20191206-1318_messages.txt

ファイル名 ファイルの説明
20191206_a840_hdmi_debug_4.log コンソールのログ1
20191206-1130_message.txt /var/log/messages 1
20191206_a840_hdmi_debug_5.log コンソールのログ2
20191206-1136_messages.txt /var/log/messages 2
20191206_a840_hdmi_debug_6.log コンソールのログ3
20191206-1143_messages.txt /var/log/messages 3
20191206_a840_hdmi_debug_7.log コンソールのログ4
20191206-1152_messages.txt /var/log/messages 4
20191206_a840_hdmi_debug_8.log コンソールのログ5
20191206-1318_messages.txt /var/log/messages 5

佐藤です。

すいません。 /var/log/kern.log というファイルをいただけますでしょうか。
kern.log.1 や kern.log.(数字).gz となっているファイルがあればそれもお願いします。

以下の2パターンのときのものをお願いします。
a840起動後にAS172の電源オン:正常に表示
AS172のAC接続し電源オン,a840起動:表示しない

お世話になっております,平野と申します.

> すいません。 /var/log/kern.log というファイルをいただけますでしょうか。
> kern.log.1 や kern.log.(数字).gz となっているファイルがあればそれもお願いします。

「/var/log/kern.log」は存在しませんでした.

[root@armadillo840-0 (ttySC2) /var]# ls /var/*
/var/cache:
 
/var/empty:
 
/var/lib:
 
/var/lock:
 
/var/log:
messages  wtmp
 
/var/run:
avahi-daemon/    ifstate          lighttpd.pid     udhcpc.eth0.pid
fb0.mode         inetd.pid        syslogd.pid      utmp
 
/var/spool:
 
/var/tmp:

確認中のカーネルはdrivers/video/sh_mobile_hdmi.cには下記を追加しmakeのみ実施しています.

#define DEBUG 1

「/var/log/kern.log」が出力されるにはカーネルの設定が必要でしょうか?

ファイル名 ファイルの説明
sh_mobile_hdmi_edit.png drivers/video/sh_mobile_hdmi.c への追記内容

佐藤です。

申し訳ありません。
linux起動時に以下のようにすることで、コンソールにデバッグログが表示されると思います。
それをいただけますでしょうか。
(JP1をショートして保守モードで起動してください。)

hermit> setenv console=ttySC2,115200 loglevel=8