0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ラズパイで6GHz帯WiFiを使ってみた(ルータモードアクセスポイント編)

Last updated at Posted at 2023-06-19

2022年9月から日本でも6GHz帯が無線LANで使用することが許可されました。Netgear A8000を使って、ラズパイで6GHz対応のルータモードアクセスポイントを作ってみました(English version article is here)。
接続用のクライアントは「ラズパイで6GHz帯WiFiを使ってみた(クライアント編)」で作ります。

なお、ブリッジモードアクセスポイントの構築については、ラズパイで6GHz帯WiFiを使ってみた(ブリッジモードアクセスポイント編)をご覧下さい。

まとめ - これだけやればできる

  • A8000がUSB接続時に返すベンダーID・製品IDが標準mt7921uドライバに認識されるようにする
  • Linux無線規制データベースを最新化して日本での6GHz帯使用許可を反映する
  • MediaTek WiFiアダプタ用のファームウェアを最新化する
  • dnsmasqを導入する
  • hostapdを導入してv2.10へ差し替える

前提

  • Raspberry Pi OSはBullseye(kernel 6.1)を利用しています
  • ラズパイの内蔵WiFiのインターフェース名がwlan0、A8000のインターフェース名がwlan1であるとします
  • 6GHz帯のネットワークを192.168.193.0 / 255.255.255.192とし、アクセスポイントに192.168.193.62を割り当てます

A8000がUSB接続時に返すベンダーID・製品IDが標準mt7921uドライバに認識されるようにする

「ラズパイで6GHz帯WiFiを使ってみた(クライアント編)」を参照

Linux無線規制データベースを最新化して日本での6GHz帯使用許可を反映する

「ラズパイで6GHz帯WiFiを使ってみた(クライアント編)」を参照

MediaTek WiFiアダプタ用のファームウェアを最新化する

「ラズパイで6GHz帯WiFiを使ってみた(クライアント編)」を参照

dnsmasqを導入する

sudo apt-get install dnsmasqでパッケージを導入した後、設定ファイル/etc/dnsmasq.confへ以下の記述を追加します。

/etc/dnsmasq.conf
interface=wlan1
dhcp-range=192.168.193.1,192.168.193.61,12h

hostapdを導入してv2.10へ差し替える

まず最初に、sudo apt-get install hostapdでパッケージを導入します。
次に、802.11axサポートはv2.10で付加されたので、本稿執筆当時で最新であるv2.10への差し替えを行います。
「ラズパイで6GHz帯WiFiを使ってみた(クライアント編)」ではWPA Supplicantをv2.10へ差し替えます。WPA Supplicantとhostapdの両方が含まれたhostap_2_10.tar.gz配布サイトからダウンロードします。
以下は手順です。

tar -xzvf hostap_2_10.tar.gz
cd hostap_2_10/hostapd
cp defconfig .config
echo CONFIG_IEEE80211AX=y >> .config
echo CONFIG_IEEE80211AC=y >> .config
echo CONFIG_SAE=y >> .config
echo CONFIG_ACS=y >> .config
make
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd_2_9
sudo cp hostapd /usr/sbin/
sudo mv /usr/sbin/hostapd_cli /usr/sbin/hostapd_cli_2_9
sudo cp hostapd_cli /usr/sbin/

dhcpcdの設定ファイル/etc/dhcpcd.confを変更して、wlan1へはDHCPを適用せず静的IPアドレスを割り当てるようにします。

/etc/dhcpcd.conf
interface wlan1
static ip_address=192.168.193.62/26
nohook wpa_supplicant

hostapdの設定ファイル/etc/hostapd/hostapd.confを新規に作成します。ssid=sae_password=channel=の部分は適当に変更して下さい。

/etc/hostapd/hostapd.conf
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
country_code=JP
interface=wlan1
driver=nl80211
ssid=foo-ax
sae_password=foobar
hw_mode=a
channel=57
ieee80211ax=1
wmm_enabled=1
op_class=131
ieee80211w=2
auth_algs=3
wpa=2
wpa_key_mgmt=SAE
rsn_pairwise=CCMP
rsn_preauth=1
sae_require_mfp=1
sae_pwe=1
wpa_group_rekey=1800
group_cipher=CCMP
wpa_psk_radius=0

hostapdをブート時に自動開始するサービスとして登録します。

sudo systemctl unmask hostapd.service
sudo systemctl enable hostapd.service

必要に応じて、/etc/sysctl.d/routed-ap.confに以下を追加することで、IPv4フォワーディングを有効化します。

/etc/sysctl.d/routed-ap.conf
net.ipv4.ip_forward=1

完了

sudo hostapd_cli statusすると、6GHz帯でアクセスポイントが稼働していることがわかります。お疲れ様でした。

$ sudo hostapd_cli status
Selected interface 'wlan1'
state=ENABLED
phy=phy1
freq=6235
num_sta_non_erp=0
num_sta_no_short_slot_time=1
num_sta_no_short_preamble=1
olbc=0
num_sta_ht_no_gf=0
num_sta_no_ht=1
num_sta_ht_20_mhz=0
num_sta_ht40_intolerant=0
olbc_ht=0
ht_op_mode=0x0
cac_time_seconds=0
cac_time_left_seconds=N/A
channel=57
edmg_enable=0
edmg_channel=0
secondary_channel=0
ieee80211n=0
ieee80211ac=0
ieee80211ax=1
beacon_int=100
dtim_period=2
he_oper_chwidth=0
he_oper_centr_freq_seg0_idx=0
he_oper_centr_freq_seg1_idx=0
supported_rates=0c 12 18 24 30 48 60 6c
max_txpower=23
bss[0]=wlan1
bssid[0]=94:18:65:xx:xx:xx
ssid[0]=foo-ax
num_sta[0]=1

おまけ

6GHz WiFiには直接関係のない話題です。

dnsmasqを使って、wlan1だけでなくeth0でもDHCPによるIPアドレス動的配布を行いたいが、上手く行かないという声を頂きました。
/etc/dhcpcd.confでeth0のIPアドレスを指定すると、ケーブル未接続状態ではリンクダウンとなりeth0インターフェースが利用できないことが原因のようです。昔ながらのやり方でブート時のスクリプトでifconfigによってインターフェース定義することで回避しましょう。

/etc/network/interfaces.d/ifconfig.eth0
auto eth0
iface eth0 inet static
  address 192.168.194.62
  netmask 255.255.255.192
/etc/dnsmasq.conf
interface=wlan1
dhcp-range=192.168.193.1,192.168.193.61,12h
interface=eth0
dhcp-range=192.168.194.1,192.168.194.61,12h
dhcp-option=3 # no default route
dhcp-option=tag:wlan1,option:classless-static-route,192.168.194.0/26,192.168.193.62
dhcp-option=tag:eth0,option:classless-static-route,192.168.193.0/26,192.168.194.62
/etc/dhcpcd.conf
interface wlan1
static ip_address=192.168.193.62/26
nohook wpa_supplicant

これでokです。

$ cat /var/lib/misc/dnsmasq.leases 
1690710797 94:18:65:xx:xx:xx 192.168.193.7 oak 01:94:18:65:xx:xx:xx
1690709032 04:1e:64:xx:xx:xx 192.168.194.29 rose 01:04:1e:64:xx:xx:xx

eth0に接続したMacにもIPアドレスが配布されるようになりました。

0
3
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
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?