やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

ラズパイ4がUSBブートしない 原因はHDDケースのコントロールチップだった(JMicron JMS567)

 ずっとブートせず悩んでいたが、Amazonレビューをみて解決した。ケースのせいだった。

問題の商品

  • Salcar USB3.0 2.5インチ HDD/SSDケース 9.5mm/7mm厚両対応 SATAⅠ/Ⅱ/Ⅲ対応 UASP対応 Windows/Mac 工具不要 簡単脱着 アルミ 1年保証
  • ELUTENG MSATA to USB3.0 ケース 5gbps 高速データ転送 MSATA SSDケースアルミ合金製 MSATA USB 変換 外付け ドライブケース 30x30 / 30×50mm 超小型 MSATA ケース USBケーブル付き

f:id:ytyaru:20210725164028j:plain f:id:ytyaru:20210725164425j:plain

情報源

 調べてみると以下にも。

解決策

  1. /boot/cmdline.txtの先頭にusb-storage.quirks=152d:0578:uを追記する

 Raspberry PI OSをHDD/SSDに書き込んだら、bootパーティションをマウントして、上記のように追記する。そして初回ブートすればブートに成功する。

原因

 HDDケースのコントローラチップのせい。ラズパイ4がデフォルトでブートするチップはASM1351, VL716, ASM1153Eあたりらしい。

 USB接続したデバイスの情報を調べてみる。

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

後悔

 面倒くさい。このケースにしたとたん、cmdline.txtを書き換えねばならないって。

 絶対そんなこと忘れる。また別のOSを書いたとき、おなじ手順が必要になる。そのとき覚えているか? いや絶対わすれる。そしてこんなコマンド覚えられない。この記事を読んで思い出し、再現する必要がある。あー面倒くさい。

対策

 紙に書いてケースに貼る。

反省

 ちゃんとレビューみてから買うべきだった。前にもsalcar製買って大丈夫だったからいいだろうと思ったらコレだよ。