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?

Proxmox VE 8.3でTP-Link Archer T2U PLUS [RTL8821AU]を使う

Last updated at Posted at 2024-12-27

※そもそもTP-LINK製品を買うな、という定説は省略する
ホスト機Proxmox VE 8.3なマシンで、TP-Link Archer T2U PLUS [RTL8821AU]を使ってプライマリNICとしたい(有線を引き回したくない場所に設置したいので)

前提

  • 蟹チップ Realtek RTL8821AU こいつのドライバはUbuntuでは勝手に当たらない
  • rtl8812auドライバ https://github.com/aircrack-ng/rtl8812au.git を当てる方法が出てくるが(実際ドライバ側も88xxauを名乗っていてrtl8821auでも動く製品もあるらしい?)うまく動かない(ssid scanができない)
    • 厄介なのは、scanプロセスを殺さないとデバイスがbusy状態になって何もできなくなる。ps auxあたりで探してkillallすると良い

必要なパッケージのインストール

# apt install build-essential dkms git iw wpasupplicant

今回接続するためのCLIインタフェースはiwを使うが、たとえばNetworkManager (nmcli)を入れてしまうと、proxmox veで使っているsystemd-networkdと競合し、管理画面につながらなくなる(ip unreachableになる)ので注意

morrownr/8821au-20210708 ドライバを使う

# git clone https://github.com/morrownr/8821au-20210708.git
# cd 8821au-20210708

# sh ./install-driver.sh
: ---------------------------
: install-driver.sh v20240314
: x86_64 (kernel architecture)
: x86_64 (architecture to send to gcc)
: 6/6 (in-use/total processing units)
: 65765324 (total system memory)
: 6.8.12-4-pve (kernel version)
: gcc (version of gcc used to compile the kernel)
: gcc (Debian 12.2.0-14) 12.2.0
: dkms-3.0.10
: SecureBoot disabled
: ---------------------------

Checking for previously installed drivers...
Finished checking for and removing previously installed drivers.
: ---------------------------

Starting installation.
Installing 8821au.conf to /etc/modprobe.d
The dkms installation routines are in use.
Copying source files to /usr/src/rtl8821au-5.12.5.2
Creating symlink /var/lib/dkms/rtl8821au/5.12.5.2/source -> /usr/src/rtl8821au-5.12.5.2
The driver was added to dkms successfully.
: ---------------------------

Sign command: /lib/modules/6.8.12-4-pve/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Certificate or key are missing, generating self signed certificate for MOK...

Building module:
Cleaning build area...
kernelver=6.8.12-4-pve ./dkms-make.sh............
Signing module /var/lib/dkms/rtl8821au/5.12.5.2/build/8821au.ko
Cleaning build area...
Compile time: 116.47 seconds
The driver was built by dkms successfully.
: ---------------------------

8821au.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.8.12-4-pve/updates/dkms/
depmod...
The driver was installed by dkms successfully.
: ---------------------------

Info: Update this driver with the following commands as needed:

# git pull
# sudo sh install-driver.sh

Note: Updates to this driver SHOULD be performed before distro
      upgrades such as Ubuntu 23.10 to 24.04.
Note: Updates to this driver SHOULD be performed before major
      upgrades such as kernel 6.5 to 6.6.
Note: Updates can be performed as often as you like. It is
      recommended to update at least every 3 months.
Note: Work on this driver, like the Linux kernel, is continuous.

Enjoy!

Unable to run $ rfkill unblock wlan
Do you want to edit the driver options file now? (recommended) [Y/n] y
Do you want to apply the new options by rebooting now? (recommended) [Y/n] n

うまくいけば問題なく終わる、最後のドライバオプション編集とかは見る必要ないかも。
推奨は再起動することのようだが、しなくても別に動く

確認

dkmsで確認すればドライバがインストール済みであるかわかる。

# dkms status
8812au/5.6.4.2_35491.20191025: added
rtl8821au/5.12.5.2, 6.8.12-4-pve, x86_64: installed

もし8812auを試していて不安なら $ modprobe -r 88XXauしておいても良いかも
そのあとmodprobeで8821auを念のため追加、iwethtoolでデバイス状況を確認してみる;

# modprobe 8821au

# iw dev
phy#0
        Interface wlx984827e06e24
                ifindex 11
                wdev 0x1
                addr 98:48:27:e0:6e:24
                type managed
                txpower -100.00 dBm

# ethtool -i wlx984827e06e24 
driver: rtl8821au
version: v5.12.5.2-0-g70054197b.20210708
firmware-version: 0.0
expansion-rom-version: 
bus-info: 3-2.4:1.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

ssid scan

※インタフェース名はwlx984827e06e24となっているが、ここは環境によって違うので注意
インタフェースをupさせて、scanしてみる($ ip aしてDOWNと書いてあったらupさせる必要がある)

# ip link set wlx984827e06e24 up
# iw dev wlx984827e06e24 scan
...数秒後ずらずらと出てくる...

なんか色々出てきたら成功。失敗してる場合、何も応答しない状態が続く。その場合はドライバが間違ってるのでやり直し。DOWNうんたらと出ていたら、set upせよ

実際のSSID scanはこのようなコマンドが便利

# iw dev wlx984827e06e24 scan | grep SSID
        SSID: aterm-xxxxx-g_EXT
        SSID: IO-Guest-xxxxx-2G
        SSID: aterm-xxxxx-g
        SSID: DXXXXXXXXXXX-2G
        SSID: AXXXXXXXXXXX-2G
        SSID: xxxxx
                 * SSID List
        SSID: xxxxx
                 * SSID List
...

接続

wpasupplicantで接続をしてみる。まずはSSID接続するための認証情報configをwpa_passphraseを使って作る;

# wpa_passphrase "Unko" "dechatta" > /etc/wpa_supplicant/unko.conf

# cat /etc/wpa_supplicant/unko.conf 
network={
        ssid="Unko"
        #psk="dechatta"
        psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

そのconfigをもとに、wpa_supplicantで接続させる。-Bはバックエンド稼働、-iでインタフェース名を指定、-cでconfig pathを与えて問題なければ成功と帰ってくる

# wpa_supplicant -B -i wlx984827e06e24 -c /etc/wpa_supplicant/unko.conf 
Successfully initialized wpa_supplicant

# ip a
~略~
11: wlx984827e06e24: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 98:48:27:e0:6e:24 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::9a48:27ff:fee0:6e24/64 scope link 
       valid_lft forever preferred_lft forever

このようにまだIPは貰えていない。dhcpが動いてる一般的環境であるなら、取りに行くようにする;

# dhclient wlx984827e06e24
# ip a
~略~
11: wlx984827e06e24: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 98:48:27:e0:6e:24 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.112/24 brd 192.168.100.255 scope global dynamic wlx984827e06e24
       valid_lft 14397sec preferred_lft 14397sec
    inet6 fe80::9a48:27ff:fee0:6e24/64 scope link 
       valid_lft forever preferred_lft forever

問題なくIPがきて外部と疎通できれば成功。

接続先の固定化

作ったwpa_supplicant configで稼働するようなserviceを作って登録すればよい
vmbr0のデバイス指定先を変えるなり、vmbr1とか作って切り替えるなりすればよい

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?