ラズパイ4で使える外付けSSDケース

# ラズパイ4 で使える外付け2.5インチケースは？

Raspberry pi4でミュージックサーバーを作ろうとしたら、2.5インチ外付けケースにはまったのでメモ。

![IMG_20200202_201545.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/485449/fbe97972-3fcf-4a51-d4a3-637bbdff5ed5.jpeg)
*ケースは千石電商で売ってるPimoroniのアルミケース*
*I2SDACはAVIOT DAC01　ピンヘッダには40pinのゲタを履かせ、スペーサー代わりに消しゴムを挟んでます*

入手したケースは4つですがそのうち3つ。
![IMG_20200202_194847.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/485449/4f54991d-a84f-c44a-15ca-8c4ec8e754df.jpeg)
*左から時計回りにSalcar JMS567チップ、Inateck FE2013、ORICO 2588C3-G2*

結論を言ってしまうと、明暗分けるのはUSB-SATAチップで、中華に多いJMS567チップが曲者。
Windowsなら大丈夫ですが、raspberry pi4では駄目となりました。

MPDの操作にえらく待たされたり、音楽を再生しても途中で止まる、マウントしたディレクトリをターミナルで見ようとしても何秒も待たされ、お亡くなりかと思いきや復活という具合です。

SSDはSamsung 860 QVO 1Tは裏には5V1.4Aとありますが平均消費電流は2.2W =0.44A位とか。なので電源問題では無い。海外フォーラムを見ていたら同じ問題が上がってました。
　https://blog.codetitans.pl/post/ssd-over-usb3-on-raspberry-pi-4/

hdparmで簡易ベンチマークをしてみたら、驚きの結果が。

```
$ sudo apt install hdparm
$ sudo hdparm -tT /dev/sda1
/dev/sda1:
 Timing cached reads:   1666 MB in  2.00 seconds = 833.53 MB/sec
 Timing buffered disk reads:  22 MB in 31.24 seconds = 721.14 kB/sec
```
　721kB/secは何じゃこりゃぁ～です。個体の問題ではなく、同じチップ採用のメーカも基盤レイアウトも違う2台で同じ結果です。JMS567チップはラズパイでは全滅という事ですヮ。

```
$ sudo lsusb
Bus 002 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge

$ sudo lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
```

更に調査するとraspberry側はUASPドライバをロードしています。
このチップを使うなら、/boot/cmdline.txt に以下を追加します(行の最初に入れ、元からのも1行で)

```
usb-storage.quirks=152d:0578:u
```
u=IGNORE_UAS としてJMS567をブラックリストに登録したよ、という意味らしい。
これでusb-storageドライバが代用されます。

```
$ sudo lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
```
結果はOKとなり、MPDのもたつきや突然死も無くなりました。
だけど手間なのは変わらないし、ラズパイのOS入れ替えればまた同じ事しなければなりません。それは嫌なので、何が良いのかチップから探してみました。

***USB3.1 Gen2 ASM1351、VL716　10Gbps対応
USB3.1 Gen1 ASM1153E　　5Gbps+対応***

今の所この辺が安全らしい。該当する2.5インチSSD/HDDケースはというと、こんな感じです。-2020.2月

***ORICO 2588C3-G2		VL716		USB3.1 Gen2 USB-C プラケース TYPE-C/C, TYPE-C/A
ORICO 2139C3		VL716		USB3.1 Gen2 USB-C 透明ケース TYPE-C/A 
Inateck FE2011		ASM1153E	USB3.1 Gen1 TYPE-microB 金属ケース
Inateck FE2013		ASM1153E	USB3.1 Gen1 TYPE-microB プラケース***

Inateck FE2013はraspberryに通電しただけでは起動せず、電源ボタンを押す必要があります。
raspberryのUSBポートは電源ボタンを押してもすぐには通電せず、前面のアクセスLEDが光ってから6秒位の時に電源ボタンを押せばOKみたいです。だけどうっかりMPDデーモンが先に起動してしまうと、マウント先のSSDが無いと判断されてしまいます。そうなると厄介。

で、最終的にはORICO 2588C3-G2にしました。
接続はUSB TYPE-C/A ケーブルなので10Gbpsではなく5Gbps+UASPですが、将来を見越して。
プラケースですがSSDなので音楽再生程度では熱くはならないです。

以下はhdparmによる簡易ベンチマークでご参考まで。Readだけ3回やってみての中間値です。
ORICO 2139C　VL716チップ usaドライバ経由

```
$ sudo hdparm -tT /dev/sda1
/dev/sda1:
 Timing cached reads:   1660 MB in  2.00 seconds = 829.87 MB/sec
 Timing buffered disk reads: 992 MB in  3.00 seconds = 330.66 MB/sec
```
Inateck FE2013　ASM1153Eチップ usaドライバ経由

```
$ sudo apt install hdparm
$ sudo hdparm -tT /dev/sda1
/dev/sda1:
 Timing cached reads:   1632 MB in  2.00 seconds = 815.76 MB/sec
 Timing buffered disk reads: 988 MB in  3.00 seconds = 329.13 MB/sec
```
Salcar JMS567チップ　usb-storageドライバ経由

```
$ sudo hdparm -tT /dev/sda1
/dev/sda1:
 Timing cached reads:   1600 MB in  2.00 seconds = 800.41 MB/sec
 Timing buffered disk reads: 888 MB in  3.00 seconds = 295.73 MB/sec
```

さて、pi4の発熱問題は公式ブログでも言われていて、ファームウェア改善でかなり良くなったらしいですが、それでも放熱ケースやファンは必要です。
　https://www.raspberrypi.org/blog/thermal-testing-raspberry-pi-4/

ミュージックサーバーの代表的なのはVolumio2, Moode Audioと思いますが、
Volumio2はraspberryを常にフルスピードで動作させます。

```
$ grep "" /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
```
performanceなので1.5GHzの最大値。30分も動作させていると放熱ケースでも熱い風呂くらいになります。温度下げるには/boot/config.txt に arm_freq=600 force_turbo=1 を追加して600MHz固定にすればOKらしい。再生もOKですがどうもねぇ

Moode AudioはVersion 6.4でRaspberry pi4にも対応し、こちらはondemandで動作します。再生時は600MHzでした。音がどうにかならないかと弄ってみて、MPDのバッファサイズを4096 -> 8192にしたらvolumio2の音に近づいたような気がします。

Moode Audioのジャケ写真一覧はvolumioみたいな欠落も無く、落ち着いてJazzが聞けるようになりました。
![2020-01-31_21h45_23.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/485449/1e26c83d-f90e-b365-f201-9a6d8e46b572.jpeg)