RaspberryPi B+でLCDディスプレイ3.5 (KeDei) を表示する為に四苦八苦した話

最近念願のRaspberryPiのタッチパネルディスプレイを購入しました！
年末年始に確認した時は安くても3000円前後していたディスプレイですが久々にebayを見てみたら、なんと2000円を切っているではないですか？！
しかもヒートシンクとケース付きw
小遣いの少ない僕にとってはまさに今が買いだと思い、急いで激安ディスプレイを購入しました。
ちなみにkedeiというメーカー？のディスプレイです。
![スクリーンショット_2016-06-04_1_41_39.png](https://qiita-image-store.s3.amazonaws.com/0/93763/c1f09c56-fb52-1a60-cd67-d56f3af8c72f.png)

#ディスプレイの到着
いつもebayで購入した時は、購入から配送まで2週間以上かかっていました。
まぁ海外配送だし忘れた頃に届くのが当たり前かなと思ってたんですが、
なんと今回は1週間くらいで家に届きました。
もう感激ですね。
今までの中で一番Top-rated sellerだわ〜好印象だわ〜とか思いつつ、
ワクワクしながらさっそくRaspberryPiに接続してみました。

#いざ接続
早速接続してみたのですが、ディスプレイの電源がつくだけで真っ白な画面のまま。。。
一瞬 不良品? という言葉が脳裏に浮かびましたが、まさか今までで一番好印象なTop-rated sellerに限ってそんな事はないはず。。。と考え直し、もう一度購入元のDescriptionを確認してみました。
version5はB+に対応してるって書いてます。
![スクリーンショット 2016-06-15 2.36.17.png](https://qiita-image-store.s3.amazonaws.com/0/93763/c0d0346a-68fa-6388-b1ff-a5e2ee6e7f3d.png)

その下に、ちゃんとドライバーをインストールしてねって書いてありました^^
![スクリーンショット 2016-06-15 2.23.33.png](https://qiita-image-store.s3.amazonaws.com/0/93763/0944f377-bcd0-8163-3a95-5203128332ca.png)

そりゃそうか、これは失敬と思いつつ手順通りにドライバーをインストールしていこうと思います。

って！そもそもLCD_showってドライバーどこにあんねん！！URLはっとけや！とか思いつつググったらたくさん出てきました。

#打つ手なしのRaspberryPi
まずは訳も分からず、訳のわからないサイトから訳のわからないバージョンのLCD_showドライバーをインストールして実行。
ワクワク。。。
HDMIで接続しているTVにカラフルな画面が表示されました！
それでディスプレイの方はというと。。。真っ白だと？！
そのまま待てども待てども進展はなく、なんとOS起動前にコケているらしく、もちろんssh接続もできるわけもなく、どうしようもなくなりRaspberryPiはご臨終になりました。

#SDカード初期化
仕方ないのでSDカードをmacのディスクユーティリティで初期化して、最新のRASPBIAN JESSIEを入れ直しました。

#kedei公式のLCD-showドライバ
一度失敗してしまいましたが、そもそもの要因として、LCD-showドライバが正しくないのではと思いました。
まぁ、思い返せば先ほど使用したLCD-showドライバは怪しさ満点だったので、
とりあえずもう一度根気よくググってみたら、最終的に[kedeiの公式ドライバ提供ページ](http://kedei.net/raspberry/raspberry.html)を見つけました。

#各バージョンのLCD-showドライバを試した結果
公式の提供ページにはバージョン3からバージョン6.1まで提供されていますが、B+をサポートしているのは5以降ということなのでまずはバージョン5を試してみました。

##LCD_show_v5
まずはバージョン5を試したみた結果。
デジャブがおきました。
>HDMIで接続しているTVにカラフルな画面が表示されました！
>それでディスプレイの方はというと。。。真っ白だと？！
>そのまま待てども待てども進展はなく、RaspberryPi起動前にコケているらしく、もちろんssh接続もできるわけもなく、どうしようもなくなりRaspberryPiはご臨終になりました。

##LCD_show_v6
SDカードを先ほどと同じように初期化して、次にバージョン6を試してみました。
HDMIで接続しているTVにカラフルな画面が表示されました！
そしてなんとRaspberryPiのディスプレイに文字が表示されました！！
左上にはラズベリーのマークが出ています。
キタコレって思いました！
![IMG_4639.jpg](https://qiita-image-store.s3.amazonaws.com/0/93763/c12ab81a-62a1-e031-72b8-d6a1d6cfb5b2.jpeg)
しかし。。。。
```random: nonblocking pool is initialized``` から待てども待てども次に進むことはありませんでした。


##LCD_show_v6.1
仕方がないので、次に最新のバージョン6.1を試してみました。
先ほどと同じくRaspberryPiのディスプレイに文字が表示されました！！
はなぜか左上のラズベリーのマークが青色になっていました。怪しい。。。
しかしこちらも ```random: nonblocking pool is initialized``` から次に進展する事はありませんでした。。。

#魔のrandom: nonblocking pool is initialized
もうここからはずっとハマりました。
```random: nonblocking pool is initialized```でググるといろんな事を言っている人がいて、電源が原因だったり、```boot/cmdline.txt```の設定ミスだったり、そもそもSDカードとの相性だったり、SDカードのフォーマット時にexFATにしてみたりMS-DOS(FAT)にしてみたり、とりあえず手当たり次第やってみましたが解決に至らずorz

#後悔先に立たず
もうため息しかでません。
知識もないのに安物のディスプレイに食いついた自分を呪ってやろうかと思いました。
しかし、kedei公式のドライバ提供ページをよく見たら、imgファイルも提供されてるではありませんか！
なぜ、それにずっと気づけなかったのか><
もう最後の頼みとして提供されているimgファイルに賭ける事にしました。

#結果
長い時間をかけ、ようやくimgファイルがダウンロードできました。
いつもの手順で書き込みます。
ちなみにv6.1はなんか青いラズベリーが怪しかったので、今回はv6で試しました。
<img width="1143" alt="スクリーンショット_2016-06-15_10_05_25.png" src="https://qiita-image-store.s3.amazonaws.com/0/93763/fb5b20e1-4bb9-1ada-502f-9edb7e5f1a99.png">


```
$ diskutil umountDisk /dev/disk1
$ sudo dd bs=1m if=rpi_35_v6_jessie8_kernel_4_1_19.img of=/dev/rdisk1
3781+1 records in
3781+1 records out
3965190144 bytes transferred in 486.903033 secs (8143696 bytes/sec)
$ diskutil eject /dev/disk1
```
さてイメージが書き込めたら、いよいよ起動です。
もうこれがだめならディスプレイ割ります。。。
...
...
...
すると！！
ジャジャーン！！
![IMG_4641.jpg](https://qiita-image-store.s3.amazonaws.com/0/93763/b4c2ac40-76a4-78cd-8a70-7efd914b5187.jpeg)

きました！！
なんと、表示されました！！

なんとか、安物買いの銭失いにならずに済みました！！w
いやーもう感激です(T▽T)
タッチパネルも良好で何もいう事はありません。

#まとめ
いやー安物を買うときはまずは下調べしてからの方がいいですね。
しかし、今回SDカードを何回も初期化するハメになったので、皆さんも作業前にバックアップを取る事をお勧めします。
ちなみに、今回はだいぶ苦戦しましたが、グクってみるとRaspberryPi3だとドライバを入れるだけですんなりうまくいくみたい？です。

はじめはどうなる事かと思いましたが、ちゃんと表示できた今では、コスパのいいKedeiはお勧めですw

#ドライバの参照
kedeiの公式ドライバ提供ページ:http://kedei.net/raspberry/raspberry.html

#追記
悪戦苦闘している時には全然気づいてなかったのですが ディスプレイのバージョンと同じバージョンのドライバを使わないといけないという事みたいです。
ずっと購入したディスプレイはVersion 5のディスプレイだと思っていたのですが、確認してみたら、Version 6でした。
完全に冷静さを欠いていました。

![IMG_4642.jpg](https://qiita-image-store.s3.amazonaws.com/0/93763/9637208e-eac3-6f37-1439-56237a654fce.jpeg)
今回使用したドライバとバージョンが一致しますね。
というわけでKedeiのディスプレイを使う場合は、ディスプレイのバージョンと同じバージョンのドライバが必要。
OSのバージョンの問題か？今回みたいにドライバでうまくいかない場合はイメージファイル事落としてくる事が得策と言う事で。