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

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

※初版時点ではCentOS8を使ってましたが、最終更新時点ではRocky Linux 8.9 です

 

更新履歴

2023/12/06 カーネル4.18.0-513向けに書き直し
2023/05/23 
カーネル4.18.0-477向けに書き直し
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/21...

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

 

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

 

 

ソースを入手します。

 

 

コンパイル

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

 

dkms用のスクリプトが用意されているので、インストール自体はそちらにやってもらうことにしました。カーネル更新ごとにソース修正になるケースが多いので、dkms使わなくてもいいかもしれませんが…

 

1737行目の不等号を逆にします

 

463行目の不等号を逆にします

 

479行目の不等号を逆にします

 

 

1158行目の不等号を逆にします

 

1741,1888,2056,2080,2132行目付近の不等号を逆にします

 

5311行目の不等号を逆にします

 

6187行目の不等号を逆にします

 

10482行目の不等号を逆にします

 

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

 

 

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

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

 

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

 

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

 

 

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

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

 

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

 

最終行に追記します

 

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

 

 

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をコピーしました