🌐

Mac mini 2018にLinux(Ubuntu)をインストールして、WIFIを有効にする

2024/01/04に公開

どうしてもWIFIを使いたい

Mac Pro 2013を中古で購入し、元々メインで使っていたMac mini 2018からのデータ移行が完了したので、Mac mini 2018をLinux化することにした。
当初、Ubuntu Serverをインストールして、自宅サーバとして使用する予定だったが、有線LANの取り回しが面倒だったのと、自宅の有線環境が古く最大100Mbpsでしか使用できないこともあり、デフォルトでWIFIのドライバが認識することを期待して、Desktop版をインストールすることにした。

通常のインストールではドライバが認識しない

インストール後WIFIの表示がデスクトップの右上に出ないので、ドライバが認識していないと思いログを確認したところ、以下のようなメッセージが表示されていた。

 103 00:52:28 tshpaper-Macmini kernel: usbcore: registered new interface driver brcmfmac
 103 00:52:28 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: enabling device (0000 -> 0002)
 103 00:52:28 tshpaper-Macmini kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4364b2-pcie for chip BCM4364/3
 103 00:52:28 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.Apple Inc.-Macmini8,1.bin failed with err>
 103 00:52:28 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.bin failed with error -2
 103 00:52:28 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: brcmf_pcie_setup: Dongle setup failed

色々と調べてKernelの変更とドライバの追加で正常動作した

refs: https://wiki.t2linux.org/guides/wifi-bluetooth/

  1. Mac mini 2018上で必要なファイルを外部メディアにコピーしておく(私はUSBにコピーした)
cp -rp /usr/share/firmware/wifi/C-4364__s-B* /Volumes/WIFI-FIRM
  1. Kernelの変更が必要かどうかを確認する
modinfo brcmfmac | grep 4387
  1. 私の場合は上記の実行の結果、何も表示されなかったので、kernelの変更を行う
    resf: https://github.com/t2linux/T2-Ubuntu-Kernel#installation
sudo apt install curl
curl -s --compressed "https://adityagarg8.github.io/t2-ubuntu-repo/KEY.gpg" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/t2-ubuntu-repo.gpg >/dev/null
sudo curl -s --compressed -o /etc/apt/sources.list.d/t2.list "https://adityagarg8.github.io/t2-ubuntu-repo/t2.list"
sudo apt update
sudo apt install t2-kernel-script
sudo apt install t2-kernel-script-lts
update_t2_kernel
sudo reboot

これだと、再起動してもインストールしたkernelが適用されなかった。

おそらく、変更前のkernelのバージョンが変更後のkernelのバージョンよりも新しいものだったからなのでは?と思うが、詳細までは調べていない。

そのため、手動で/boot/grub/grub.cfgを修正した。

  1. ドライバを追加する
    Mac mini 2018 で取得したドライバを追加する
cd /media/tshpaper/WIFI-FIRM/C-4364__s-B2
sudo cp -v lanai.txcb /lib/firmware/brcm/brcmfmac4364b2-pcie.txcap_blob
sudo cp -v lanai.trx /lib/firmware/brcm/brcmfmac4364b2-pcie.bin
sudo cp -v lanai.clmb /lib/firmware/brcm/brcmfmac4364b2-pcie.clm_blob
sudo cp -v P-lanai-X3_M-HRPN_V-u__m-7.5.txt /lib/firmware/brcm/brcmfmac4364b2-pcie.txt
  1. ドライバを再読み込みする
sudo modprobe -r brcmfmac
sudo modprobe brcmfmac
  1. ログの確認
  • モジュール再読み込み後のログ
 103 02:36:33 tshpaper-Macmini kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4364b2-pcie for chip BCM4364/3
 103 02:36:33 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-HRPN-u-7.5-X3.bin failed with>
 103 02:36:33 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-HRPN-u-7.5.bin failed with er>
 103 02:36:33 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-HRPN-u.bin failed with error >
 103 02:36:33 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-HRPN.bin failed with error -2
 103 02:36:33 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-X3.bin failed with error -2
 103 02:36:33 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai.bin failed with error -2
 103 02:36:34 tshpaper-Macmini kernel: brcmfmac: brcmf_c_process_txcap_blob: TxCap blob found, loading
 103 02:36:34 tshpaper-Macmini kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4364/3 wl0: Jul 12 2021 19:26:30 version 9.30.464.0.32.5.76 FWID 01->

一部エラーが出ているが、この状態でWIFIが正常に動作した。
夜遅かったので、ここでシャットダウンし、翌朝起動してみたが、同じ状態だった。
動作的には特に問題ないが、気持ち悪いので、余裕がある時に見てみる。

  • 停止⇨起動後のログ
 103 12:28:27 tshpaper-Macmini kernel: usbcore: registered new interface driver brcmfmac
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: enabling device (0000 -> 0002)
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4364b2-pcie for chip BCM4364/3
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-HRPN-u-7.5-X3.bin failed with>
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-HRPN-u-7.5.bin failed with er>
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-HRPN-u.bin failed with error >
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-HRPN.bin failed with error -2
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai-X3.bin failed with error -2
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac 0000:03:00.0: Direct firmware load for brcm/brcmfmac4364b2-pcie.apple,lanai.bin failed with error -2
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac: brcmf_c_process_txcap_blob: TxCap blob found, loading
 103 12:28:27 tshpaper-Macmini kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4364/3 wl0: Jul 12 2021 19:26:30 version 9.30.464.0.32.5.76 FWID 01->

Linux化の目的は、k8sの検証環境を作ること

きっかけは、Mac mini 2018の役割がなくなったので、活用しなければ!というモチベーション。
なぜ、k8sの検証環境を作るのかというと、k8sの運用経験はあるものの、だいぶ忘れているのと、自社でのk8sの動きが加速していくので、流石にマネジメントの立場でも触っておかないとまずいと思ったからです。

Discussion