定められた枠から外れたい人はいつの時代にもいるもので、ぼくもそのうちのひとりなので、ついうっかりCloudReadyをインストールしてしまいました。
しかし、Wi-Fiアダプタが正しく動かなくて断念した(CloudReadyはGoogleアカウントでのログインが必要なのでインターネット未接続では使用不可)のは前回記したとおりで、Wi-Fi周りのソースを眺めながらあれやこれやと試行錯誤していたのですが、このたび晴れてWi-Fi APに繋がってインターネットできるようになったので、ここに手順を記しておきます。
CloudReadyはChrome OS/Chromium OS (CxOS)のディストリビューションのひとつであり、CxOSはDebian GNU/Linuxをベースとしているので、少なくともDebian系のディストリビューションには応用できるはずで、Linux全般で共通であることを期待します。
Wi-Fiアダプタは見えているのにAPが見つけられない問題
ここにハマっていたのですが、要するにドライバはロードされているものの、正しいファームウェアを読み出せていないのでこのような状況に陥っている、ということです。
ファームウェアは /lib/firmware/ath10k/QCA6174/hw3.0/
に含まれていて、Surface Goの場合は特に board.bin
ファイルが重要です。このファイルが正しい情報を持っていないと、ロードに失敗して前述のような状況になります。
上に記したリンクからファイルをダウンロードして、正しいフォルダに配置します。また、同フォルダにある board-2.bin
は不要なので削除します。
$ sudo mount -o rw,remount /
$ cd /lib/firmware/ath10k/QCA6174/hw3.0
$ sudo cp -r ~/Downloads/board.bin ./
$ sudo rm -r ./board-2.bin
$ sudo reboot
最後に再起動していますので、再起動後からWi-Fi APが見える状態になっているはずです。
また、このファイルが更新されてしまうと繋がらなくなるので、同じ手順を実行する必要があります。
ここに思い至ったのは、OSX86でもQualcomm製のBluetoothデバイスでは正しいファームウェアをロードする必要があって、ファームウェアアップローダなどが存在するというところからです。