はじめに
ロボコン界隈で最近注目を浴びつつある、というかだんだん必須になりつつある6GHz、皆さん使いたいですよね(?)
ここ最近発売されたPCは、あらかた6GHzに対応してくれてますが、買い換えるタイミングと合わなかったり、ラズパイとかJetsonとかでも使いたくなるじゃないですか()
と、いうことで用意するものがこちらです。↓
- Wifi6E対応ルーター
- Ubuntu22.04の入ったPC
- NetGear A8000
Wifi6E対応ルーターが一番コストかかります。道端に生えてることを祈りましょう。
A8000は、RaspberryPi OS - Bullseye(kernel 6.1)での動作も確認しています。
時間があればUbuntu22.04 on RaspberryPiでも動かしてみたいですね。
A8000がmt7921uドライバに認識されるようにする
/etc/udev/rules.d/90-usb-0846:9060-mt7921u.rules
を作成して以下の中身を書き込みます。
ACTION=="add", \
SUBSYSTEM=="usb", \
ENV{ID_VENDOR_ID}=="0846", \
ENV{ID_MODEL_ID}=="9060", \
RUN+="/usr/sbin/modprobe mt7921u", \
RUN+="/bin/sh -c 'echo 0846 9060 > /sys/bus/usb/drivers/mt7921u/new_id'"
再起動したら5GHzと2.4GHzは認識されてます。多分。
Linuxの無線規制データベースを最新化する
wget https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git/plain/regulatory.db
wget https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git/plain/regulatory.db.p7s
sudo cp regulatory.db /lib/firmware/
sudo cp regulatory.db.p7s /lib/firmware/
wgetで取ってきて、いい感じにコピーしてるだけです。
起動時にCountryCodeが設定されるようにする
なぜか初期設定だとJPに設定されてないので設定します。
別にJP以外に設定しても動きますが、
法に触れそうなのでやりません。
sudo nano /etc/rc.local
rc.localは、既になにか書いてある人はそれにiw reg set JP
を書き足してください。
#!/bin/bash
iw reg set JP
exit 0
sudo chmod +x /etc/rc.local
reboot
rc.localを書いて、iw
コマンドで地域を設定して、実行権限を付与しています。
確認してみる
再起動後、
iw reg get
を実行して、
global
country JP: DFS-JP
(2402 - 2482 @ 40), (N/A, 20), (N/A)
(2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM
(4910 - 4990 @ 40), (N/A, 23), (N/A)
(5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
(5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW
(5490 - 5730 @ 160), (N/A, 23), (0 ms), DFS
(5925 - 6425 @ 160), (N/A, 23), (N/A), NO-OUTDOOR
(57000 - 66000 @ 2160), (N/A, 10), (N/A)
のように出ていたら大成功です。
いつもどおりwifiの接続設定をすれば6GHzのSSIDが爆誕しているでしょう。
Raspbianの場合、そのままだとWPA3のSSIDに接続できなかったりします。
別途設定してください(気が向いたら書きます)
参考させていただいたサイト様
- https://qiita.com/wataniguchi/items/e61130686f3f3e97bde0
- https://zenn.dev/zuzuzu/articles/ubuntu_startup_command
おわりに
そろそろ全国大会ですね。国技館の魔物と電波ヤクザには気をつけて競技をしましょう()
記事書くの遅すぎてもう大会終わってますね。