CentOS8でRTL8812AUのUSB子機を使って802.11acのAPをたてる

以前CentOS7でRTL8812AUの設定をしましたが、CentOS8でも使えるようにしたのでメモ
今回はドライバも進化したようで、802.11acで高速なアクセスポイントをたてることができました

CentOS7のときはカーネルの話中心で手順は雑だったので、今回はもう少し丁寧に。サービス起動順で少し手間取ったのでメモとして残しておきます

 

更新履歴

2022/01/15 モジュールロード時のオプション設定一部変更
2021/12/08 
CentOS8.5用に追記
2021/10/26 
モジュールロード時のオプション設定追記
2021/10/19 
カーネル4.18.0-305-xx向けに書き直し
2021/08/12 
新カーネル用に追記
2021/06/22
 CentOS8.4用に修正

 

CentOS7の記事:CentOS7でRTL8812AUのUSB子機を使って5GHzのAPを立てる

 

記事執筆時の私のカーネルは

上記の通りです。使った子機はPLANEXのGW-900Dです

 

※カーネルのバージョンやドライバのバージョン等の環境次第で下記の通りにならないと思いますが、ご了承ください

 

前準備

必要なパッケージ等を用意します

 

ドライバは複数見つけられますが、今回も

GitHub - aircrack-ng/rtl8812au: RTL8812AU/21AU and RTL8814AU driver with monitor mode and frame injection
RTL8812AU/21AU and RTL8814AU driver with monitor mode and frame injection - GitHub - aircrack-ng/rtl8812au: RTL8812AU/21AU and RTL8814AU driver with monitor mod...

こちらのものを使います。物が違うとAPが立てられないこともあるのでご注意ください。この記事ではバージョン 5.6.4.2 を使いました(記事執筆時ではコミット数1164でした)

 

※カーネル4.18.0-305系では 5.7.0 や下記の新ドライバは、執筆時点では認識に失敗しました
https://github.com/morrownr/8812au-20210629

 

 

ソースを入手します。

 

 

コンパイル

とりあえずmakeをしてみて、こけたらソースを修正するという方針にします。この時点での私の場合は2か所必要でした。カーネルやドライバのバージョン次第でまた変わってくると思いますので参考程度にしてください。gccはパッケージの8.3.1を使用しました

 

dkms用のスクリプトが用意されているので、インストール自体はそちらにやってもらうことにしました

 

もしエラーが出た場合はソースを修正していきます。

このファイルの7736行目付近と10188行目付近の2行を修正します

 

この行の不等号を逆にします

 

 

 

カーネル4.18.0-348(CentOS 8.5の場合)は更にもう1行、463行目を修正します

不等号を逆にします。

 

上の方を通ればいいだけなので、1,3~5行目を削除とかでもいいです

 

 

保存してインストールをやり直します

 

 

ドライバ(モジュール)ロード時のオプション設定

デフォルトでは5GHzのAPが建てられる設定でドライバをロードしてくれません。5GHzのAPをたてる場合のオプションを設定します

 

rtw_switch_usb_modeは1でUSB3.0、2でUSB2.0動作になります。5GHzで動かす場合はUSB3.0推奨です

 

ロードしなおします。次回以降の起動時は不要です

 

 

ネットワークマネージャーの設定

認証失敗回避のための設定を追加します

 

ネットワークマネージャーの設定を変更します

 

最終行に2行追記します

 

ネットワークマネージャーを再起動します

 

 

hostapdの設定

まず仕様を確認します

 

Band 2の方が5GHzの方。Capabilities と VHT Capabilitiesを確認します。ドライバのバージョン次第ではFrequencies:の全てのチャンネルで no IR になってしまっていて、5GHzが使えないこともあります

 

hostapdの設定をします

 

802.11acでAPをたてます。Capabilities や VHT Capabilities を参考に ht_capab と vht_capab を設定します

 

起動と自動起動の有効

 

 

systemdの設定

これで無事設定が終わった、と思ってPCを再起動してみたところ、hostapdが起動しているにも関わらずAPにアクセスできませんでした

hostapdを再起動してみたところ、ブリッジしているブリッジインターフェイスが落ちました。hostapdの起動タイミングに問題がありそうです

 

サービスファイルを編集します

 

このようにしました。3行目と4行目を追加し、5行目をコメントアウト

ブリッジデバイス(br0)を認識してからhostapdを起動するようにしたつもり。br0の部分はデバイス名で置き換えてください。ブリッジを使っていない場合は無線LANデバイス名を指定します

 

再起動して確認。これで問題なく起動時にAPがたつようになりました

コメント

タイトルとURLをコピーしました