52Piが販売していたP02 PCIe Slot For Raspberry Pi 5 Extension Adapter Boardをポチってみました。
P02 PCIe Slot for Raspberry Pi 5 Extension Adapter Board – 52Pi Store
1月末にポチったら支払いが確定したまま旧正月に入り、旧正月が終わっても発送のはの字もなかったため、定期的にメールで問い合わせたり、Forumに書いたりしたら全部無視され、製品ページにしれっと「発送に1ヶ月かかります」と追記されました(今見たら消えてた)が、その後やっと発送されて届きました。よって、先に言っておくと52Piのサポートはカスでした。ものは良かったんですけどね。おしい。なので、52Pi製品を取り扱っているGeekwormがAliExpressとかAmazonで売り始めたのを買うのがベターのような気がしました。
その前に
じつはAliExpressでM.2からPCIスロットに変換するボードというのを1月に300円くらいで仕入れまして、ワンチャンこれで動く可能性に賭けようとしたのですが、どうやら安すぎたらしく認識しなかったり何だりして不安定すぎたので断念していました。絵面は良かったんですけどね。
スロットに切り欠きがなかったので自分で加工したのですが、このときに壊したのかそもそも駄目だったのか。先に刺さるやつでテストすればよかったですね。まあ300円なので別に痛くも痒くもないですが。
GIGAZINEで同じようなボードを買って同じく加工していたようですが、あちらは動作したようですね。
52Pi P02 PCIe Slotのほう。
そして本題。パッケージと内容物はこんな感じ。えっと、パッケージに伝票シール直張りで、たまげました。52Pi直販すげえな、たまげました。内容物に問題なかったのでよかったんですけど。中身の方は、ボード、Pi 5を立てる用のネジとナット、PCIe用FPCケーブル、マニュアルとドライバー。ドライバーこそ添付しなくて良くないですか?その気遣いをするなら後述のボードを浮かせるナットが欲しかったです。
Pi 5を乗せたところまで。ポゴピンはPi 5の5VとGNDに接触します。
裏面はFPCコネクター以外何もないこざっぱりとしたようす。
10GbEカードを差し込んで動かしたところ。PCIスロットの分だけ基板を浮かせるためのナットがないため、そのままではだいぶ不格好です。
仕方ないので、手持ちのネジ袋から20mmくらいのナットネジを4つとネジを留める用のナット2つ出して、基板のPCIeスロット側の穴2つと、Pi 5の電源側の穴2つに取り付けました。
これで見かけの方はだいぶ良くなりました。
動かす
今回は手持ちのSolarFlareの10GbEカードを動かしてみました。電源は変換ボードのスイッチで内部電源、外部電源を選択できますが、内部電源にして、公式の電源アダプター(※ユーザー会所有のサンプル品)を使いました。一応これで問題なく動きましたが、外部電源を使ったほうがなんとなく安心な説はあるかもしれません。
で、SolarFlareの10GbEカードはカーネルコンパイルが必要なので、ソースを引っ張ってきてコンパイルします。が、なんかrpi-sourceのPi5対応をどうもまだやっていないか、やってたけど壊れているらしく、とにかくrpi-sourceを使って使用中のカーネルのソースコードを引っ張ってくることができないため、ブランチ指定でGithubからcloneする感じのようです。
そのへんの面倒をいい感じにしてくれるコマンドを作っている有志がいるので、これを使わせてもらいました。
https://forums.raspberrypi.com/viewtopic.php?t=343387
ダウンロードしてzipを展開したあと、chmod +x build-kernelで実行権限をつけます。私は-uオプションで一度コンパイルしたあと自分で/usr/src/linuxに移動してmenuconfigをやり直して二度手間になりましたが、多分以下のコマンドでmenuconfigに入ってくれると思います。
$ sudo ./build-kernel --branch rpi-6.1.y -c 5 -j 4 -m
で、menuconfigでSolarFlareのドライバーを有効化してコンパイルしてインストール。そして再起動すると無事10GbEカードが認識しました。(あ、PCIeの有効化の諸々は済ませてあったので省略していますが、52Piのマニュアルを読むなり、NVMeのPi 5での使い方を調べるなりすれば設定できると思います。)
同じ10GbEカード使用のESXiサーバー内のVMとiperf3でベンチマークした結果は3.2Gbpsほどでした。昔CM4でSolarFlareとX520の1:1で試したときは2.7Gbpsほどだったので、500Mbpsくらい早くなったといえば早くなりましたが、いちおうPCIe3.0x1相当のオプションにはしたので、もうちょっと出てもいいような気はしました。また後日試す。試してからブログ書けよそれはそう。
ちなみに、ブートデバイスにしていたUSB SSDをhdparmでシーケンシャルリードさせながらiperf3をしても3.2Gbpsで、SSDも340MB/s出せていたので、帯域を食い合うということはなさそうに見えました。ここももうちょっと試して別途追加でブログってみましょう。
まとめ
52Piにハラハラさせられながらも、PCIスロットボードを輸入で購入して遊んでみる話でした。びっくりするほど問い合わせが全部スルーされたので、直接買うのは今後ないと思います。
WaveShareでPoE+ボードをポチるなどしているところですが、こちらはすぐに発送されたので問い合わせるまでもなく、まあ、差を感じてしまいますね……。そうそう、PoE+も楽しみにしておるところです。わくてか〜。