Rocky Linux 8.10でRTL8812AUのUSB子機を使って802.11acのAPをたてる2

RTL8812AU用のドライバをRocky Linux 8.10 で使えるようにするメモその2です。

その1との違いは使うドライバのソースが違います。その1で使ったドライバでもそこそこ実用的だったのですが、安定性に欠ける面があったので。

 

 

環境

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

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

 

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

 

前準備

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

 

GitHub - lwfinger/rtw88: A backport of the Realtek Wifi 5 drivers from the wireless-next repo.
A backport of the Realtek Wifi 5 drivers from the wireless-next repo. - lwfinger/rtw88

今回はこちらを試します。kmodもあるようですが、そちらをインストールするよりも、最新ソースを追えるよう自分でコンパイルするようにします。
この記事執筆時点のコミット数は 738 です。

カーネル 5.4 以上が要件となってますが、4.18 の Rocky Linux 8 でも使えました。

別のドライバが入ってしまってる場合は削除してからはじめてください。

 

 

コンパイル

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

楽な時代になったもので、エラーメッセージをAIに聞くだけで簡単に答えを教えてくれるようになりました。

 

ソースを入手します。

 

main.h / main.c / mac80211.c / tx.c / fw.c / bf.c /  rtw8703b.c / pci.c の修正

カーネルの分岐条件を修正していきます。RHEL系はカーネルバージョンが古いように見えて先のカーネルの一部をバックポートしてるとかで、単純にカーネルバージョンだけを見て分岐させると間違えてしまうようです。

 

ソースを修正したらコンパイルが通るか確認します。

 

コンパイルが通ったらドライバのロード用ファイルをコピーします。

 

dkmsでインストールしてしまいましょう。

 

hostapdの設定

まず仕様を確認します

 

Band 2の方が5GHzの方。Capabilities と VHT Capabilitiesを確認します。

 

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がたつようになりました

 

性能比較

https://github.com/aircrack-ng/rtl8812AU
https://github.com/lwfinger/rtw88

この2種のうち、今回は後者を使ってみましたが、アクセスポイントとして使う場合の印象としては前者比で

  • 最大スループット、射程はわずかに落ちる
  • ビームフォーマーが使えなくなる
  • 安定性は向上

こんな印象です。ドライバのメンテナンスも継続されているようですし、こちらのドライバに乗り換えることにしました。

 

コメント

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