Edited at

AndroidThings + Raspberry PiでHDMIディスプレイが映らない時にやること

More than 1 year has passed since last update.

Android Thingsを始めた頃にせっかくAndroidと同じように、layout xmlで画面を作れるのだからと、

HDMIディスプレイを買ったのですが、DP5.1までは全くうまく表示できませんでした。

先日DP6.0になって、そのIssueが治ったとのことで試したのですが、デフォルトのままではうまく表示できませんでした。

今回は色々やって表示できるようになったのでその覚書記事です。

なお私が買ったディスプレイは以下です。

Kuman 5インチ Raspberry Pi用ディスプレイ 800*480 解像度 TFTモニタ タッチスクリーン タッチパネル Raspberry Pi 3 2 Model B B+ A A+ 用ディスプレイ ラズベリーパイ SC5A

多分XPT2046タッチコントローラーが乗ってます。


まとめ

以下でやります。


  • diskutilでディスクを確認

  • 一回diskをホストPCにマウントする(msdosで)

  • config.txtをいじる

  • 起動


手順


diskutilでディスクを確認

まずAndroidThingsが入っているマイクロSDカードをMacに接続します。

diskutilで接続したマイクロSDカードを確認します。

$ sudo diskutil list

/dev/disk0 (internal):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 500.3 GB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_CoreStorage Macintosh HD 499.3 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3

/dev/disk1 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD +499.0 GB disk1
Logical Volume on disk0s2
7961425C-D4A5-4ADA-90FF-2250B5DA14B6
Unencrypted

/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *15.9 GB disk3
1: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A 67.1 MB disk3s1
2: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A 1.0 MB disk3s2
3: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A 1.0 MB disk3s3
4: BB499290-B57E-49F6-BF41-190386693794 33.6 MB disk3s4
5: BB499290-B57E-49F6-BF41-190386693794 33.6 MB disk3s5
6: 0F2778C4-5CC1-4300-8670-6C88B7E57ED6 536.9 MB disk3s6
7: 0F2778C4-5CC1-4300-8670-6C88B7E57ED6 536.9 MB disk3s7
8: B598858A-5FE3-418E-B8C4-824B41F4ADFC 65.5 KB disk3s8
9: B598858A-5FE3-418E-B8C4-824B41F4ADFC 65.5 KB disk3s9
10: 6B2378B0-0FBC-4AA9-A4F6-4D6E17281C47 1.0 MB disk3s10
11: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A 67.1 MB disk3s11
12: 314F99D5-B2BF-4883-8D03-E2F2CE507D6A 67.1 MB disk3s12
13: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 268.4 MB disk3s13
14: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 268.4 MB disk3s14
15: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 4.2 MB disk3s15
16: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 4.2 MB disk3s16
17: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 33.6 MB disk3s17
18: AA3434B2-DDC3-4065-8B1A-18E99EA15CB7 16.8 MB disk3s18
19: 0BB7E6ED-4424-49C0-9372-7FBAB465AB4C 2.6 GB disk3s19

↑だと/dev/disk3 (external, physical)と書いてあるdisk3が対象のディスクです。


マウント

マウントします。マウントする時にmsdosモード(?)でマウントします。

マウントする時は/dev/disk3s1とかにします。

$ mkdir /mnt/disk

$ sudo mount -t msdos /dev/disk3s1 /mnt/disk


config.txtを編集

マウントしたディレクトリの直下にある、config.txtを編集します。

実際に編集する値はディスプレイによって異なるはずなので、ディスプレイのマニュアルを確認します。

$ cd /mnt/disk

$ vi ./config.txt

# 以下を追記
dtparam=audio=on
max_usb_current=1
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_drive=1
hdmi_cvt 800 480 60 6 0 0 0
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900


umountして、起動

最後にumountしてSDカードを抜いて、Raspberry Piにさせば完了です。

config.txtの設定やumountをミスると、たまにSDカードが壊れたり、イメージが壊れてAndroidThingsが起動しなくなる事があるのでご注意ください。