リボンHDMIケーブルにやられてみる… [Raspberry Pi]
『そうだ,ラズパイでポータブルしよう!』の一環で,リボンなHDMIケーブルを用意してみました。
長さは20cm,これでDisplayの裏側に無理なくケーブルを回せる…はず。
ですが… これでDisplayと繋ぐと,Bootしてくれない orz
よく見てみたら,ピン1本にハンダが載っていない…
ピンピッチは狭いは,酸化してしてるは… orz
なんとか,はんだを載せても症状は改善しない…
Displayに情報が表示されないので,UARTを有効にして,boot開始からの様子を見てみたら…
初っパナで止まってるょぉ orz
とにかくHDMI周りが正しく動作していないっぽい。
と,言うより害している…
hdmi_ignore_cec:0=1
やhdmi_ignore_cec_init:0=1
してもダメ。
EDIDをファイルにしてもダメ。
これは,時間の無駄かな…
ってことで,次行ってみよう!(号泣
『そうだ,ラズパイでポータブルしよう!』は…
- そうだ,ラズパイでポータブルしよう!(タッチスクリーンの動作)
- 番外: リボンHDMIケーブルにやられてみる… ←このページ
- そうだ,ラズパイでポータブルしよう!(実装編)
- そうだ,ラズパイでポータブルしよう!(ソフトウエア編)
- 番外: Pixel desktopからRetroPieを起動する
- そうだ,ラズパイでポータブルしよう!(まとめ?)
な,感じでやってます。(ました。)
以下は作業ログっぽい何か…
UARTからの出力(Boot時)
cmdline.txt(以下の記述が有ることを確認)
console=serial0,115200 console=tty1
config.txt(以下を追加)
dtoverlay=disable-bt # BTとUARTが被っているので,BTを無効化
uart_2ndstage=1
GPIOのPin8(GPIO14(TXD0))とPin10(GPIO15(RXD0))にUSB-Serial変換を繋いで,Bootしてみる。
# 初めて電源投入直後からの様子を見ました。
recover4.elf not found (6)
recovery.elf not found (6)
Read start4.elf bytes 2278432 hnd 0x00016211 hash '69e55b8716fb074f'
Read fixup4.dat bytes 5418 hnd 0x0001b5d2 hash 'e56dffc51f3f6256'
0x00d03114 0x00000000 0x0000001f
MEM GPU: 320 ARM: 704 TOTAL: 1024
Starting start4.elf @ 0xfec00200 partition 0
MESS:00:00:05.260093:0: arasan: arasan_emmc_open
MESS:00:00:05.423112:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:05.426492:0: brfs: File read: 2140 bytes
<< ここで止まる orz >>
HDMIケーブルを抜くと,boot継続…
MESS:00:00:44.253585:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:44.262916:0: brfs: File read: 2140 bytes
MESS:00:00:44.757488:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:44.764739:0: *** Restart logging
MESS:00:00:44.778378:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:44.784318:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:44.789785:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:44.800201:0: dtb_file 'bcm2711-rpi-4-b.dtb'
:
Boot初っ端で停止…
ラズパイから見たDisplay
ご参考:
Displayの状態の確認(Boot後にHDMIケーブルを接続)
$ /opt/vc/bin/tvservice -s state 0xa [HDMI CUSTOM RGB full 16:9], 1920x1080 @ 60.00Hz, progressive
EDIDを読んでみる。
$ /opt/vc/bin/tvservice -d edid.dat; /opt/vc/bin/edidparser edid.dat ^C
あれ?返事が返ってこない orz
動作(Boot出来る)するHDMIケーブルで繋ぐと… ドッサリ。
$ /opt/vc/bin/tvservice -d edid.dat; /opt/vc/bin/edidparser edid.dat Written 256 bytes to edid.dat Enabling fuzzy format match... Parsing edid.dat... HDMI:EDID version 1.3, 1 extensions, screen size 34x19 cm HDMI:EDID features - videodef 0x80 !standby !suspend active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; support GTF HDMI:EDID found monitor name descriptor tag 0xfc HDMI:EDID monitor name is GSW56TB-HDMI HDMI:EDID found monitor S/N descriptor tag 0xff HDMI:EDID found monitor range descriptor tag 0xfd HDMI:EDID monitor range offsets: V min=0, V max=0, H min=0, H max=0 HDMI:EDID monitor range: vertical is 50-75 Hz, horizontal is 31-84 kHz, max pixel clock is 190 MHz HDMI:EDID monitor range default GTF supported HDMI:EDID found preferred CEA detail timing format: 1920x1080p @ 60 Hz (16) HDMI:EDID established timing I/II bytes are BF EF 80 HDMI:EDID found DMT format: code 4, 640x480p @ 60 Hz in established timing I/II HDMI:EDID found DMT format: code 5, 640x480p @ 72 Hz in established timing I/II : : ドッサリ…出る : HDMI:EDID has HDMI support and audio support /opt/vc/bin/edidparser exited with code 0
EDIDをファイルから読み込む。
返事が返らないので,ファイルで用意してみる。
EDIDネタファイルを用意
動作するHDMIケーブルを繋いで,以下のコマンドを実行。
$ sudo /opt/vc/bin/tvservice -d /boot/gstory.edid
config.txtを修正
hdmi_ignore_edid:0=0xa5000080 # DisplayのEDID無視
hdmi_ignore_edid:1=0xa5000080 # DisplayのEDID無視
hdmi_edid_file=1
hdmi_edid_filename:0=gstory.edid
hdmi_edid_filename:1=gstory.edid
Reboot… やっぱり止まる orz
hdmi_ignore_cec:0=1
やhdmi_ignore_cec_init:0=1
を追加してもダメ。
コメント 0