WiFi APの構築をしています。NCUで。
当初はVyOSを使おうとしていたんですが、IntelのNCUではbootできませんでした。あと、内蔵Wi-FiモジュールはLinux Kernel 4.2以上が必要ということで、3であるVyOSは対象から除外することとなりました。それでいろいろ苦労しております。
そのあたりは後述するとして、この際LinuxはArch Linuxにしようと決めました。理由はただひとつ、どんどん新しくなるからセキュリティ対応も早かろうと。
Wi-FiのAPなので、アンテナが外部に出ていたほうがなにかと便利と思い、I-O DataのWN-AC433UAがなんだか在庫があるということで、何も考えずに注文して届いたわけですが、当然Arch Linuxでは認識できないわけです。動いたという報告が見当たらなくて、しばらく途方に暮れていたのですが、日をあらためて調べ直すと、チップセットは「Realtek RTL8811AU」とのこと。つまり、このカーネルモジュールを入れればよいということになります。
すると簡単に、AURとして「rtl8812au_rtl8821au-dkms-git」があることがわかりました。名前はあれですが、RTL8811AUもサポートすると書かれています。
そうくればあとは簡単です。
とりあえず、AURの環境が準備されていなかったので、こちらの手続きにしたがって、yaourtでAURのパッケージコンパイルとインストールができるようにします。
そして、linux-headers、dkms、rtl8812au_rtl8821au-dkms-gitをインストールすることになります。最初はカーネルモジュールだけ入れて、dkmsが必要と言われてdkms、linux-headersがないと言われてlinux-headersを入れたのですが、この逆がよいのではないかと思います。
sudo yaourt -S linux-headers dkms
sudo yaourt -S rtl8812au_rtl8821au-dkms-git
dkmsを使うのは初めてだったので再起動してしまったのですが、そうしなくてもなんとかなるんだろうとは思います。これで
dkms status
すると$ dkms statusと、カーネルに組み込まれていることがわかります。そこでおもむろにWN-AC433UAをUSBポートに挿し、lsusbすると
rtl8812au_rtl8821au, 4.3.22_beta.r9.928e27f, 4.5.0-1-ARCH, x86_64: installed
$ lsusbこんな感じで見えるようになりました。ip linkすると、
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 8087:0a2a Intel Corp.
Bus 001 Device 004: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 04bb:0953 I-O Data Device, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ ip linkちゃんとデバイスが生えています。よかった。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: wlp0s20u1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether yy:yy:yy:yy:yy:yy brd ff:ff:ff:ff:ff:ff
まだ通信テストができていませんが、それはこれから。