あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

36歳になった(きのうのアキバ&久々にPCを自作した)

36歳になりました。干支3周分ですね。がしかし、人生の進捗は特にないです。日本人絶滅キャンペーンに加担していくゾ♡

いつものミクとケーキする写真をどうぞ。


きのうのアキバ

昨日はとしぁとアキバにいって散策してきました。なんかほかのておくれ勢も呼ぼうとしたら温泉旅行に行ってて、なんかハブられててキレたので自作PC一式を買ってしまいました。

本当はWebで見たドスパラのケースが気になったので実物を見に行きたくて、ケースだけ買ってあとはぽつぽつ買おうかとか思っていたのに、気がついたらマザボをみていて、他のパーツも眺めていたら店員に声をかけられて、そのまま行っちゃうか〜!ってなり、相談しながら一式行ってしまった次第。昔ならクリアファイルの女目当てに黒と緑のお店に通っていましたが、それももう昔の話で、なんだかさみしい気もします。

今回の構成はこんな感じになりました。久々に自作PCAMDを選択したし、Ryzenで組むのは初です。

  • CPU: AMD Ryzen 5 7600 BOX (AM5/3.8GHz/38M/C6/T12/65W)
    • ¥34,800
    • 7000番台の下の方を選択。ガッツリにしても、M1 Macより使い込むかどうかもわからなかったので無難に。
  • メモリ: Crucial CP2K16G60C36U5B(DDR5 PC5-48000 16GBx2)
    • ¥17,000
    • これも無難に。強いて言えば光らないことを重視🤣
  • マザーボード: ASRock B650M Pro RS WiFi (B650 AM5 mATX DDR5)
    • ¥19,980
    • GPU以外のPCIeを指す余裕が欲しかったのでこれを選択。25GbEとか挿したい日もあるかもしれないじゃないですか?
    • 光らないことを重視🤣したのに、こいつ裏面がギラギラ光ったぞ!(ボードの設定でオフにできた)
  • SSD: SAMSUNG 990 PRO MZ-V9P1T0B-IT (M.2 Gen4 1TB)
    • ¥15,880
    • SSDはキャンヘーンで1,500円オフが効いたのでProで
  • ケース: DEEPCOOL MACUBE110 PASTEL BLUE
    • ¥6,980
    • 諸悪の根源。自宅サーバーのATXケースよりでかいMicroATXケースだけど、いい色だったので
    • PCIeスロットのカバーがもぎとるタイプで、もぎとっだら戻せない以外は満足
  • ケースファン:
    • DEEPCOOL FK120 PASTEL GREEN(120mm PWM)
    • DEEPCOOL FK120 PASTEL BLUE(120mm PWM)
    • 各 ¥1,500
    • めちゃくちゃ迷って、ケースと同色とミクグリーンを1つずつ。リアにミクグリーンを配置しました
  • CPUファン: DEEPCOOL AK400 WH PASTEL BLUE(1150-1700 AM4)
    • ¥3,980
  • 電源: DEEPCOOL PQ750M(ATX 750W 80+GOLD)
    • ¥10,480
    • そう言えばないと動かないよねシリーズ。
    • GPUを積んだので気持ち盛りました
  • OS: MS Windows 11 Pro
    • ¥21,850
    • そう言えばないと動かないよねシリーズ。
    • RDPしたいのでプロで!と即答
    • MSのサイトでも買えると思って、店員さんの横で調べさせてもらったら、¥28kとか出てきてパッケージ版選んだよね。なにあれ
  • GPU: Palit NE64060019P1-1070F(RTX4060 StormX V1 8G)
    • ¥43,800
    • GPU以外で小計を出してもらって、そこにGPUを入れて20万いかないようならGPUも行っちゃおっかなーって言ったら切ってたので行きました
    • 3050と比較であれこれ言われるけどAV1エンコードで遊んでみたかったので40シリーズのエントリーを選択

というわけで、合計177,750円。たぶん、エントリー〜ミドルくらいの構成ですが、どうせマイクラとAV1エンコードのお試しをしたい以外衝動買いみたいなものだったので、こんなもんかなと思います。なんせSkylake & RTX1050からの移行なので、どうやっても性能は爆上がりです。

としぁも同じく、マイクラサーバーのリプレース用に主要パーツを買い込んでいましたが、CPUとメモリは全くおなじになったので、Ryzen 5 7600のPCでRyzen 5 7600のマイクラサーバーに接続することになりそうです。

わたしが一式を買ってしまい、かつハンドキャリーを選択してしまったので、他にはほとんどアキバを回れなくなってしまい、渋谷のHey社で組み立て会をする流れに。夕飯は隣のクアアイナで。良い気温&運動になったので、ビールをインストール。桜ミクはアキバで見つけて即お迎えした新入りです。としぁ「100ミク超えた?」わし「そろそろ超えた気がする」

コンビニで追加のビールを買って組み立て会の開始。

このヒートスプレッダーの形なんかキモいよね〜って、出たときに思った記憶があったけど、買う日が来ようとは。

CPUクーラー。ヒートシンクが白いのってちょっと新鮮。パステルカラーがいい色。30代にぶっ刺さる。メモリは挿し位置を間違えて、このあと修正しました。グリスは最初からついていましたが、部長のクマグリスを分けてもらいました。ありがとうございました。

ケースに入れる前の動作テスト。オンボードHDMIに接続すると緑背景、GPUに接続すると黒背景のBIOS設定画面になるっぽく、謎の配慮。

ケースに組み付け。配線が後ろに回せて隠せる最近のケース、きれいに見せられるけど横幅がデカくなっちゃうので悩ましいですね。どうせ足元に置いてそんなに見ないので、もう少し小さくてもいいよなって思わないこともないです。それとも空きスペースにミクフィギュアでも入れて光らせちゃう……?あと、緑のファンもいい色で満足。

Windows11を買っておきながら、動作テストはUbuntu Server 24.04で。neofetch普段使わないからピンとこなかったけど、言われて入れてみたら、ああこれかとなりました。わかりやすくて良いですね。

組み立てて、カサは減ったけどやはり重いは重いPCを気合でハンドキャリーして帰宅し、並べてみた様子。前のPCがMini-ITXなので小さいのは当然ですが、左のATXケースなサーバよりでかいのはちょっと意外。あとケースに曲線があるやつが続いたところで角張ったやつが来たので、それも最初だけ違和感出るのかなって感じ。

990 PROのベンチマーク。いやあ圧巻。2層DVDが2〜3秒で読み書きできるって考えると凄まじいですよね(ジジイ)。SSDは500GB分空けといたので、後日Ubuntu Server 24.04を入れて、切り替えて使えるようにしようかなと思っています。

課題としては、今までPCの上に積んでいたMac Miniとネットワークスイッチをどうしようかなと。MacMiniは試しにデスク上に移動してみて運用中です。悪くないけど、PCにDisplayPortを明け渡した代わりにThunderbolt接続にしようとすると、手持ちのケーブル長が0.9mとかで不足なので、もう少し長いのがほしい〜(なんかちゃんと高いらしく)。

ケースの上には今のところスイッチだけ乗せてますが、天板がメッシュの通気口だから塞ぐなととしぁに言われており。でもこれでスイッチの冷却ができるならありなんでは、という考え方も?

social.mikutter.hachune.net

というわけで、

GWのおもちゃが増えました。今年もどこにも行く用事がないので、これを遊び倒したいと思います。じつは52PiのPi5にPCIeスロットを生やすやつも追加していて、これはさっき遊んで満足してところでしたが、遊ぶものが増えまくってもうた^〜〜

自作PC組み立て価格としては自己新記録な気がするので、しばらくは納豆ご飯ですが、でも今日は誕生日なので、回転寿司にいってきま~すσ(՞ةڼ◔)

Mellanox ConnectX-4 LxのHPE FlexLOMが安かったので散財した

Mellanox ConnectX-4 LxのHPE FlexLOM版がヤフオクで6000円だったので、2枚ポチりました。クーポンが降ってきて10%オフになったので、10,800円でした。めちゃくちゃお得やん。ポチった翌日には着弾したので、ひとまず会社に持ち込んで、動作検証をしました。ちゃんと25Gbのケーブルを使えば25Gbでリンクして
使えました。お得やん。

Mellanox ConnectX-4 Lxと言えば、こないだ会社から借りたやつと同じチップなので、ラズピッピでの実績もあるわけですが、とはいえPCIeにしないといけないので、FlexLOMをPCIeに変換する謎変換ボードをAliExpressで2枚ポチりました。3,152円。

https://ja.aliexpress.com/item/1005002254637565.html

先週木曜にカードを落札してすぐに謎基板をポチりましたが、今日着弾。1週間切ってて、どうなってるのアリエクの流通…強すぎ。謎変換ボードに取り付けると、いい感じにPCIeボード化します。強いね。

さらに、25GbE用のケーブルも欲しくなったのでヤフオクで見つけたケーブルをポチって3,600円。これも今日着。


ためす

前回使ったSDカードのうち片方がOSアップデートで消えてしまったので、新たに10GbE用の環境をセットアップしました。OSCでもそうでしたが、カードがそれなりに発熱するので、USB扇風機で冷却しながら動作テスト。

10GbEDACで接続してiperf3をした結果は6.27Gbpsで良好。

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  7.30 GBytes  6.27 Gbits/sec   41             sender
[  5]   0.00-10.00  sec  7.29 GBytes  6.27 Gbits/sec                  receiver

そして25Gb……と思いきや、リンクがうまくできず、断念。Dellのケーブルなので、HPEのカードにさせないとかベンダーロックになってなければ良いなと思う次第ですが、いや、でも一回だけリンクした回があるんだよな……。

どうも、安物M.2→PCIe変換が不安定な気がしなくもなく、信じられなくなったので、アリエクで52PiのPCIeスロット変換をポチりました。3,940円……。

https://ja.aliexpress.com/item/1005006593634410.html

まとめ

というわけで、25GbEカードがお得!と言いながら、周辺アイテムを買い揃えたら2万を超えました。げ、げんこうりょうがあるから、わたしには、あるはずだから……!ってなってます。アホやん。

ちなみに、25GbEカードはまだ転がってるっぽいので、気になる人は探してみても良いかもですね〜。

追記

25Gbのケーブルの件が悔しかったので、ラックサーバーに25GbE FlexLOMを差し込んでみました。前に買ったConnectX-3と差し替えたら、ファンコントロールがきくようになって、アイドル時の回転数が25%から12%に下がってワロタwConnectX-3は古い世代のProLiant向けなので、多分サポートされない組み合わせなんですよね。

Pi 5と25Gbでリンクできました。Amberに光るLINKランプが25Gbの証。

うーむ、やはりM.2 to PCIeの不安定さが原因とかかなあー。届いたらさらに追試ですね。ちなみに、言わずもがなiperf3の速度は10GbのDACと変わらず6.3Gbpsです。25Gbケーブルはロマン要素なので(あと、10Gbケーブルはいちおう会社のやつなので……!)

インプレス PC WatchでRaspberry Pi 5のレビュー記事を書きました

なんか珍しく執筆ラッシュがきまして、Raspberry Pi 5のレビュー記事をインプレスさんのPC Watchで書かせていただきました。

pc.watch.impress.co.jp

文字数の制限とかを言われなかったので書けるだけ書いたら、ボリュームすごいっすねとのコメントを頂戴しました……w

円安が進行する話題しか流れてこない今日この頃、個人的にはむしろ今後も値上がりするのではと心配になっているので、迷っている人には常に「買いたい時が買い時」とアドバイスしているが、「買う理由がないと買いにくい」など、やはり財布の紐はかたくなってしまっているようだ。

これ書いている最中に2円も円安に振れちゃって、155円超えとか言われてるので、様子を見れば見るほどラズパイが高級機みたいな値段に(日本円では)なっていくんじゃないかと思ってますね。

じゃ、執筆が終わったので私はマイクラの方に帰らせていただきますσ(՞ةڼ◔)

Raspberry Pi OSのsysfsによるGPIOは非推奨になった話

今朝、社のSlackに貼られた日経の記事で、Pi 5でGPIOがRP1経由になった影響でsysfsでのGPIO番号が変わったという話題を見ました。

xtech.nikkei.com

ほんまかいなと思って試すと、確かにGPIOの番号がいろいろ違っていました。っていうか、他のデバイスのGPIOも見れるんですね。これはこれで活用できそう。さておき、長いけどぜんぶ貼っておきます。

$ cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 512-543, parent: platform/107d508500.gpio, gpio-brcmstb@107d508500:
 gpio-512 (-                   )
 gpio-513 (2712_BOOT_CS_N      |spi10 CS0           ) out hi ACTIVE LOW
 gpio-514 (2712_BOOT_MISO      )
 gpio-515 (2712_BOOT_MOSI      )
 gpio-516 (2712_BOOT_SCLK      )
 gpio-517 (-                   )
 gpio-518 (-                   )
 gpio-519 (-                   )
 gpio-520 (-                   )
 gpio-521 (-                   )
 gpio-522 (-                   )
 gpio-523 (-                   )
 gpio-524 (-                   )
 gpio-525 (-                   )
 gpio-526 (PCIE_SDA            )
 gpio-527 (PCIE_SCL            )
 gpio-528 (-                   )
 gpio-529 (-                   )
 gpio-530 (-                   )
 gpio-531 (-                   )
 gpio-532 (PWR_GPIO            |pwr_button          ) in  hi ACTIVE LOW
 gpio-533 (2712_G21_FS         )
 gpio-534 (-                   )
 gpio-535 (-                   )
 gpio-536 (BT_RTS              )
 gpio-537 (BT_CTS              )
 gpio-538 (BT_TXD              )
 gpio-539 (BT_RXD              )
 gpio-540 (WL_ON               |wl_on_reg           ) out hi 
 gpio-541 (BT_ON               |shutdown            ) out hi 
 gpio-542 (WIFI_SDIO_CLK       )
 gpio-543 (WIFI_SDIO_CMD       )

gpiochip1: GPIOs 544-547, parent: platform/107d508500.gpio, gpio-brcmstb@107d508520:
 gpio-544 (WIFI_SDIO_D0        )
 gpio-545 (WIFI_SDIO_D1        )
 gpio-546 (WIFI_SDIO_D2        )
 gpio-547 (WIFI_SDIO_D3        )

gpiochip2: GPIOs 548-564, parent: platform/107d517c00.gpio, gpio-brcmstb@107d517c00:
 gpio-548 (RP1_SDA             )
 gpio-549 (RP1_SCL             )
 gpio-550 (RP1_RUN             |RP1 RUN pin         ) out hi 
 gpio-551 (SD_IOVDD_SEL        |vdd-sd-io           ) out lo 
 gpio-552 (SD_PWR_ON           |sd_vcc_reg          ) out lo 
 gpio-553 (SD_CDET_N           |cd                  ) in  hi ACTIVE LOW
 gpio-554 (SD_FLG_N            )
 gpio-555 (-                   )
 gpio-556 (2712_WAKE           )
 gpio-557 (2712_STAT_LED       |ACT                 ) out hi ACTIVE LOW
 gpio-558 (-                   )
 gpio-559 (-                   )
 gpio-560 (PMIC_INT            )
 gpio-561 (UART_TX_FS          )
 gpio-562 (UART_RX_FS          )
 gpio-563 (-                   )
 gpio-564 (-                   )

gpiochip3: GPIOs 565-570, parent: platform/107d517c00.gpio, gpio-brcmstb@107d517c20:
 gpio-565 (HDMI0_SCL           )
 gpio-566 (HDMI0_SDA           )
 gpio-567 (HDMI1_SCL           )
 gpio-568 (HDMI1_SDA           )
 gpio-569 (PMIC_SCL            )
 gpio-570 (PMIC_SDA            )

gpiochip4: GPIOs 571-624, parent: platform/1f000d0000.gpio, pinctrl-rp1:
 gpio-571 (ID_SDA              )
 gpio-572 (ID_SCL              )
 gpio-573 (GPIO2               )
 gpio-574 (GPIO3               )
 gpio-575 (GPIO4               )
 gpio-576 (GPIO5               )
 gpio-577 (GPIO6               )
 gpio-578 (GPIO7               )
 gpio-579 (GPIO8               )
 gpio-580 (GPIO9               )
 gpio-581 (GPIO10              )
 gpio-582 (GPIO11              )
 gpio-583 (GPIO12              )
 gpio-584 (GPIO13              )
 gpio-585 (GPIO14              )
 gpio-586 (GPIO15              )
 gpio-587 (GPIO16              )
 gpio-588 (GPIO17              )
 gpio-589 (GPIO18              )
 gpio-590 (GPIO19              )
 gpio-591 (GPIO20              )
 gpio-592 (GPIO21              )
 gpio-593 (GPIO22              )
 gpio-594 (GPIO23              )
 gpio-595 (GPIO24              )
 gpio-596 (GPIO25              )
 gpio-597 (GPIO26              )
 gpio-598 (GPIO27              )
 gpio-599 (PCIE_RP1_WAKE       )
 gpio-600 (FAN_TACH            )
 gpio-601 (HOST_SDA            )
 gpio-602 (HOST_SCL            )
 gpio-603 (ETH_RST_N           |phy-reset           ) out hi ACTIVE LOW
 gpio-604 (-                   )
 gpio-605 (CD0_IO0_MICCLK      |cam0_reg            ) out lo 
 gpio-606 (CD0_IO0_MICDAT0     )
 gpio-607 (RP1_PCIE_CLKREQ_N   )
 gpio-608 (-                   )
 gpio-609 (CD0_SDA             )
 gpio-610 (CD0_SCL             )
 gpio-611 (CD1_SDA             )
 gpio-612 (CD1_SCL             )
 gpio-613 (USB_VBUS_EN         )
 gpio-614 (USB_OC_N            )
 gpio-615 (RP1_STAT_LED        |PWR                 ) out hi ACTIVE LOW
 gpio-616 (FAN_PWM             )
 gpio-617 (CD1_IO0_MICCLK      |cam1_reg            ) out lo 
 gpio-618 (2712_WAKE           )
 gpio-619 (CD1_IO1_MICDAT1     )
 gpio-620 (EN_MAX_USB_CUR      )
 gpio-621 (-                   )
 gpio-622 (-                   )
 gpio-623 (-                   )
 gpio-624 (-                   )

ここまでスクロールしてくれてありがとうございました。

で、これをPi 4でも実行したら、こっちも違うじゃないですか。なんで?

$ cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 512-569, parent: platform/fe200000.gpio, pinctrl-bcm2711:
 gpio-512 (ID_SDA              )
 gpio-513 (ID_SCL              )
 gpio-514 (GPIO2               )
 gpio-515 (GPIO3               )
 gpio-516 (GPIO4               )
 gpio-517 (GPIO5               )
 gpio-518 (GPIO6               )
 gpio-519 (GPIO7               |spi0 CS1            ) out hi ACTIVE LOW
 gpio-520 (GPIO8               |spi0 CS0            ) out hi ACTIVE LOW
 gpio-521 (GPIO9               )
 gpio-522 (GPIO10              )
 gpio-523 (GPIO11              )
 gpio-524 (GPIO12              )
 gpio-525 (GPIO13              )
 gpio-526 (GPIO14              )
 gpio-527 (GPIO15              )
 gpio-528 (GPIO16              )
 gpio-529 (GPIO17              )
 gpio-530 (GPIO18              )
 gpio-531 (GPIO19              )
 gpio-532 (GPIO20              )
 gpio-533 (GPIO21              )
 gpio-534 (GPIO22              )
 gpio-535 (GPIO23              )
 gpio-536 (GPIO24              )
 gpio-537 (GPIO25              )
 gpio-538 (GPIO26              )
 gpio-539 (GPIO27              )
 gpio-540 (RGMII_MDIO          )
 gpio-541 (RGMIO_MDC           )
 gpio-542 (CTS0                )
 gpio-543 (RTS0                )
 gpio-544 (TXD0                )
 gpio-545 (RXD0                )
 gpio-546 (SD1_CLK             )
 gpio-547 (SD1_CMD             )
 gpio-548 (SD1_DATA0           )
 gpio-549 (SD1_DATA1           )
 gpio-550 (SD1_DATA2           )
 gpio-551 (SD1_DATA3           )
 gpio-552 (PWM0_MISO           )
 gpio-553 (PWM1_MOSI           )
 gpio-554 (STATUS_LED_G_CLK    |ACT                 ) out lo 
 gpio-555 (SPIFLASH_CE_N       )
 gpio-556 (SDA0                )
 gpio-557 (SCL0                )
 gpio-558 (RGMII_RXCLK         )
 gpio-559 (RGMII_RXCTL         )
 gpio-560 (RGMII_RXD0          )
 gpio-561 (RGMII_RXD1          )
 gpio-562 (RGMII_RXD2          )
 gpio-563 (RGMII_RXD3          )
 gpio-564 (RGMII_TXCLK         )
 gpio-565 (RGMII_TXCTL         )
 gpio-566 (RGMII_TXD0          )
 gpio-567 (RGMII_TXD1          )
 gpio-568 (RGMII_TXD2          )
 gpio-569 (RGMII_TXD3          )

gpiochip1: GPIOs 570-577, parent: platform/soc:firmware:gpio, raspberrypi-exp-gpio, can sleep:
 gpio-570 (BT_ON               |shutdown            ) out hi 
 gpio-571 (WL_ON               )
 gpio-572 (PWR_LED_OFF         |PWR                 ) out lo ACTIVE LOW
 gpio-573 (GLOBAL_RESET        )
 gpio-574 (VDD_SD_IO_SEL       |vdd-sd-io           ) out lo 
 gpio-575 (CAM_GPIO            |cam1_regulator      ) out lo 
 gpio-576 (SD_PWR_ON           |regulator-sd-vcc    ) out lo 
 gpio-577 (SD_OC_N             )

Pi 4でも、古いOSではsysfsの番号がGPIOピン番号と一致するようです。

$ sudo cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-57, parent: platform/fe200000.gpio, pinctrl-bcm2711:
 gpio-0   (ID_SDA              )
 gpio-1   (ID_SCL              )
 gpio-2   (SDA1                )
 gpio-3   (SCL1                )
 gpio-4   (GPIO_GCLK           )
 gpio-5   (GPIO5               )
 gpio-6   (GPIO6               )
 gpio-7   (SPI_CE1_N           )
 gpio-8   (SPI_CE0_N           )
 gpio-9   (SPI_MISO            )
 gpio-10  (SPI_MOSI            |i2c@0               ) out lo 
 gpio-11  (SPI_SCLK            |i2c@0               ) out lo 
 gpio-12  (GPIO12              )
 gpio-13  (GPIO13              )
 gpio-14  (TXD1                )
 gpio-15  (RXD1                )
 gpio-16  (GPIO16              )
 gpio-17  (GPIO17              )
 gpio-18  (GPIO18              |spi7 CS0            ) out hi ACTIVE LOW
 gpio-19  (GPIO19              |backlight           ) out hi 
 gpio-20  (GPIO20              )
 gpio-21  (GPIO21              )
 gpio-22  (GPIO22              )
 gpio-23  (GPIO23              )
 gpio-24  (GPIO24              )
 gpio-25  (GPIO25              )
 gpio-26  (GPIO26              |mosi                ) out hi 
 gpio-27  (GPIO27              |sck                 ) in  hi 
 gpio-28  (RGMII_MDIO          )
 gpio-29  (RGMIO_MDC           )
 gpio-30  (CTS0                )
 gpio-31  (RTS0                )
 gpio-32  (TXD0                )
 gpio-33  (RXD0                )
 gpio-34  (SD1_CLK             )
 gpio-35  (SD1_CMD             )
 gpio-36  (SD1_DATA0           )
 gpio-37  (SD1_DATA1           )
 gpio-38  (SD1_DATA2           )
 gpio-39  (SD1_DATA3           )
 gpio-40  (PWM0_MISO           )
 gpio-41  (PWM1_MOSI           )
 gpio-42  (STATUS_LED_G_CLK    |ACT                 ) out lo 
 gpio-43  (SPIFLASH_CE_N       )
 gpio-44  (SDA0                )
 gpio-45  (SCL0                )
 gpio-46  (RGMII_RXCLK         )
 gpio-47  (RGMII_RXCTL         )
 gpio-48  (RGMII_RXD0          )
 gpio-49  (RGMII_RXD1          )
 gpio-50  (RGMII_RXD2          )
 gpio-51  (RGMII_RXD3          )
 gpio-52  (RGMII_TXCLK         )
 gpio-53  (RGMII_TXCTL         )
 gpio-54  (RGMII_TXD0          )
 gpio-55  (RGMII_TXD1          )
 gpio-56  (RGMII_TXD2          )
 gpio-57  (RGMII_TXD3          )

gpiochip1: GPIOs 504-511, parent: platform/soc:firmware:gpio, raspberrypi-exp-gpio, can sleep:
 gpio-504 (BT_ON               )
 gpio-505 (WL_ON               )
 gpio-506 (PWR_LED_OFF         |PWR                 ) out lo ACTIVE LOW
 gpio-507 (GLOBAL_RESET        )
 gpio-508 (VDD_SD_IO_SEL       |vdd-sd-io           ) out lo 
 gpio-509 (CAM_GPIO            |cam1_regulator      ) out lo 
 gpio-510 (SD_PWR_ON           |sd_vcc_reg          ) out lo 
 gpio-511 (SD_OC_N             )

調べた

フォーラムで言及されてました。

https://forums.raspberrypi.com/viewtopic.php?p=2165403&sid=09f001c95deee231b3ecb0c2da29cae4#p2165403

For years now, fixing the base GPIO number to zero has been frowned upon by the kernel devs. In the next kernels we release (6.6) there will be an error message at boot up about it. At the same time, the sysfs interface to the GPIOs has been deprecated - some distributions have already disabled it and are expecting users to go through libgpiod.
The launch of Pi 5 gave us the opportunity to nudge people to update their apps in preparation for the upcoming changes without breaking existing systems. When we launch 6.6 the older Pis will have the same, high-numbered GPIOsn - probably still available by sysfs, but eventually that will be switched off.

曰く、ここ数年、ベースのGPIO番号を固定するのはカーネル開発者から嫌がられていたそうで、Pi 5のリリースの機会に合わせて固定をやめたため、番号が固定ではなくなったようでした。さらに、RPi OSのカーネル6.6からは過去のモデルでも固定を廃止かつ非推奨化していて、最終的にはsysfsからのアクセスは廃止?(switch off)されるようです。つまり、Pi 5はきっかけではあるものの、Linuxの標準に合わせていく都合で固定がなくなっているということのようです。なお、カーネル6.6の起動時のエラーメッセージというのは確認できませんでした。

先月リリースのBookwormの最新版にはもうカーネル6.6がバンドルされているので、Bookwormを新規インストールするか、Bookworm環境のアップデートを実行すると、sysfsでのGPIO操作は壊れることになりそうです。日経の記事もsysfsの廃止には触れていたものの、カーネル6.6と過去モデルへの波及は触れられていなかったので、どこを参照したのかは不明ですが、まあsysfsは卒業したほうが良いのは間違いないようでした。

有志がエミュレートするツールを作成したそうなので、そう言うのを使うのも延命策としてはあるみたいです。

https://forums.raspberrypi.com/viewtopic.php?t=367548

自宅の環境だとカーテンEjectがsysfsを使っていた気がするので、Bookwormにするときは気をつけないといけない、というか、GPIO周りはぜんぶ見直しって感じがしますね。Pimoroniも製品用のライブラリのアップデートに結構苦労しているようなので、Bookwormで始まったGPIO移行まわりは大変そうだなあという印象です。

ちなみに、sysfsのGPIOについては別のスレッドでも発言されていた模様。

https://forums.raspberrypi.com/viewtopic.php?p=2160793#p2160793
https://forums.raspberrypi.com/viewtopic.php?p=2160806#p2160806

OSでガラッと変わるときは移行ガイドみたいなのもあると良いのかもですねえ。カメラのときもディスプレイのkms周りのときもそうでしたけど……。

I/O 2024年5月号で執筆しました

ほぼ1ヶ月ぶりのブログですけど、生きてます。年度末パワーで忙殺され、実家の家庭環境の変化に動揺し、鼻風邪をひいてますが、生きてます。

さて、工学社さんのI/O 2024年5月号で、「今さら聞けないRaspberry Pi」特集内の「Raspberry Piを生活に取り入れよう」というテーマで記事を執筆させていただきました。4月18日発売です。よろしくお願いいたします。

https://www.kohgakusha.co.jp/books/detail/4823

I/Oを初めて知ったのが2003年7月号のOSASKが取り上げられた号だったので、20年経って自分が書く日が来るとは……と感慨深く思う次第。

https://www.kohgakusha.co.jp/books/detail/3082

私のパートでは、自宅内のラズピッピがどのような使われ方をしているかについて紹介をしています。ブログではちょいちょい書いているんですが、いじったときの追加部分にしか触れていなかったりして、結構断片化していると思うので、ガッとまとめるのに良い機会をいただけたなあと思っています。

ちなみにというか、記事用の写真を撮影しようとしている最中にCM4を1枚破損してしまいました。どうもヒートシンクを外すときにポカをして壊してしまった模様。メダカメラ用に使っていたものでしたが、まあ1GB RAMモデルだったし、さんざん使い込んだし、8GB RAMで代替はあるし、今後はCM5も出てきてまた増やすはずなので、壊れた子はOSCの静態展示に回ってもらって、まだまだ働いてもらうつもりです。ぐふふ。