0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi Zero2Wで6GHz帯域を使用する

Last updated at Posted at 2024-11-18

概要

Raspberry Pi Zero2Wにドライバを入れて6GHz帯域のAPに接続してみました。

環境

・Raspberry Pi Zero 2 W
・Ubuntu 22.04 Server
・Archer TXE70UH
・32GB SanDisk Extreme microSDXC™ UHS-I CARD

手順

ドライバの導入

まずは、パッケージをアップデートし、NetworkManagerを入れます。

sudo apt update
sudo apt install -y network-manager

次に、Wi-Fiアンテナのドライバを入れます。
このとき公式のものを入れると、「Archer TXE70UH」用に修正をしないといけないため、修正済みのリポジトリを公開するのでそれを使用してください。
※私の環境だと国コードを日本にすると2.4GHz帯域しか認識しなかったためアメリカにしています。

cd ~/
git clone https://github.com/Hissa-K/TXE70UH
cd TXE70UH

次に入れたドライバをコンパイル及びインストールします。
しかし、そのままではメモリが足りないので、SDカードの空き容量を使用してスワップ領域を作成することでこれを回避します。

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

以下のコマンドでスワップ領域が生成されたことを確認できます。

free -h

また、makeコマンドを実行する環境を以下のコマンドで導入します。

sudo apt install build-essential module-assistant
sudo m-a prepare

ドライバをクロスコンパイル及びインストールします。
クロスコンパイルにかなり時間がかかるので気長に待ちましょう。

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
sudo make install

入れたドライバのモジュールを有効化します。

sudo modprobe 8852cu

lsmodコマンドで有効化されているか確認してみてください。
これでドライバの導入は終了です。

ネットワーク設定

Ubuntu側が6GHz帯域の許可をしているかを確認しましょう。
iwコマンドで確認できます。

sudo apt install iw
iw reg get

このコマンドで対応している周波数帯域が表示できます。
日本で使用できる帯域である「5,925MHz~6,425MHz」が含まれているか確認してください。
表示されない場合は、wpa_supplicantが古いバージョンのままだと6GHz帯域のAPに接続できないので、新しいものと差し替えます。

cd ~/
git clone git://w1.fi/hostap.git
cd hostap/wpa_supplicant
sudo apt install libssl-dev libdbus-1-dev libnl-genl-3-dev libnl-route-3-dev
cp defconfig .config
make
sudo make install
sudo cp -f wpa_supplicant /usr/sbin/.
sudo chmod 755 /usr/sbin/wpa_supplicant

もし、対応していない場合国を設定し直すと治ります。
以下のコマンドで国を設定できます。

sudo iw reg set JP

ネットワーク構成ファイルの編集

まずは、デバイス名を取得します。
WiFiアダプターを接続し、デバイス名を確認します。

ip link show

wlx242fdから始まるものがWiFiアダプター名です。
この名前を使用するのでコピー等で保存しておくことをオススメします。

テキストエディタで接続するアクセスポイントをネットワーク構成ファイルに追記します。
テキストエディタは何でもいいですが、ここではnanoを使います。
既存のファイルを壊さないためにも、新たに設定ファイルを作成します。

cd /etc/netplan
sudo nano 99_config.yaml 

ファイルを6GHz帯域のAPに接続できるよう編集します。
「アダプター名」、「SSID・パスワード」は変更してください。
今後の利便性を加味して、ここで静的IPアドレスにすることをオススメします。

99_config.yaml
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    wifis:
        renderer: NetworkManager
        wlxxxxxxxxxxxxx:
            access-points:
                SSID:
                    auth:
                        key-management: sae
                        password: password
            dhcp4: false
            addresses:
                - 192.168.1.xxx/24
            routes:
                - to: 0.0.0.0/0
                  via: 192.168.1.1
            nameservers:
                addresses:
                    - 8.8.8.8
                    - 8.8.4.4
            optional: true

ファイルの権限を変更します。

sudo chmod 600 /etc/netplan/99_config.yaml

最後に変更を反映させます。

sudo netplan apply

起動時に接続待ちが発生して起動が遅くなるので以下のコマンドで設定を変更します。

systemctl disable systemd-networkd-wait-online.service
systemctl mask systemd-networkd-wait-online.service

ここで、再起動をかけて変更を反映させます。

sudo reboot

ここまですると、6GHz帯域のAPに接続できるはずです!
お疲れ様でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?