web-dev-qa-db-ja.com

Wifiが次第に消える-Ubuntu 20.04とBroadcomワイヤレスアダプター

最近Ubuntu 20.04(クリーンインストール、Windowsからのデュアルブート)をインストールしましたが、WiFiがドロップし続けます。以前は窓の下や家の中の他のコンピューターからは安定していたので、ルーターや実際のインターネット接続に問題があるとは思わない。

Broadcomワイヤレスドライバーのインストール に従ってBroadcomドライバーを再インストールしてみましたが、bcmwl-kernel-sourceドライバーが推奨されましたが、問題の解決に役立ちませんでした。

私はまだLinuxゲームにかなり慣れていないので、誰かがリンクされたワイヤレス診断スクリプトを見ることができるとしたら https://paste.ubuntu.com/p/R4PMFVTvDT/

助けてくれてありがとう!

1
Yoomes Bond

私は同じ問題だと思いますが、少しグーグル検索した後、dmesgを確認した後、いくつかの回答が見つかりました。

# dmesg -w

私はこのメッセージエラーを見つけました:

wlan0:c8:e7:xx:xx:xx:xxから認証解除(理由:6 = CLASS2_FRAME_FROM_NONAUTH_STA)

Linux WiFi:Deauthenticated Reason Codes でエラーの意味を見つけました:

認証されていないSTAクライアントから受信したクラス2フレームは、認証される前にデータを転送しようとしました。

エラーを特定した後、私の古いMacBook WhiteがAPからキックされた理由を理解する必要があります。 (接続はオンラインでしたが、パケットの送受信はありませんでした)。

まあ、エラーは私に問題を理解するのに十分なことを示しています。このエラーは、アクセスポイントの認証エラーに関するものです。その後、APが接続を「キック」し、wifiインターフェイスからのパケットを拒否していたことを理解しています。

だから、何か試してみましょう。
たぶん、自動チャネル/周波数変更を停止すると、問題は終了します... AP構成を静的チャネル(36)に変更し、周波数を(80Mhz)に変更すると、wifiインターフェースの停止ドロップと問題が終了します(これまでのところ良好)、Broadcom(BCM4321)を使用したwifi接続で不安定になることはありません。

エラーについて何を理解しましたか?

ファームウェアは、チャネルと周波数を自動ネゴシエートした後の認証にコードの問題があると思います。ファームウェアは、接続が実際にAPとの「ハンドシェイク」を完了する前に認証要求を送信します。

この「回避策」が問題の解決に役立つことを願っています。

3
ReinaldoMoreira

私は2週間以来同様の状況にあり、昨日(5月11日)、今のところ機能している解決策を見つけました(デュアルブートUbuntu 20.04/Windows、ワイヤレスカードBroadcom 4325)。

驚いたことに、私の問題は、ワイヤレスドライバーや電源管理(前の日に多くのことを試しましたが、改善なし)によるものではありませんでしたが、ローカルルーターで期限切れになるコンピューターのARPエントリに関連しています(ARPは Address Resolution Protocol の略で、IPアドレスとMACアドレス間の変換を行います)。

短くするには(この回答の最後にある調査の詳細):

  • 私のルーターのARPエントリのタイムアウトは20分ですが、
  • 私のコンピューターでは、それは有効期限まで減少していました(そのため、20分ごとに接続が失われました)、
  • 他のデバイスでも同じですが、期限切れになる前に自動的に更新されました。私はネットワークキャプチャを行って、これらのデバイスが異なる動作をしていることを確認し、ARP要求を送信するとタイムアウトが更新されることを発見しました。

=>解決策が現れた、私は自分のコンピュータに同じことをするように言わなければならなかった! (ARPリクエストを送信)

ソリューションの実装

ARPリクエストを送信するために、パッケージからインストールできる arping を使用しました。

Sudo apt install arping

起動すると、rootまたはcap_net_raw機能で実行する必要があると表示されます。ルートとして起動したくなかったので、次の機能を追加しました。

Sudo setcap "cap_net_raw+ep" /usr/sbin/arping

次のコマンドを使用して、1つのARP要求をルーターに送信しました(IPアドレスを適切なものに置き換えてください)。

arping -c 1 192.168.1.1

次に、このコマンドを15分ごとに実行して、ARPエントリを定期的に更新する必要がありました。これは、ファイル/ etc/crontabを編集して行います。

Sudo vi /etc/crontab

そして、この行をファイルの最後に追加します:

*/15 * * * * <username> arping -c 1 192.168.1.1

これにより、15分ごとにARP要求が送信されます。

詳細な調査プロセス

ここに私が問題を発見した方法の詳細があります:

  • 接続が失われたときと接続が戻ったときのタイムスタンプを教えてくれるウィジェットを開発しました。
  • 切断/再接続が発生するまで(ウィジェットの目的)、tcpdumpキャプチャを実行します。
  • キャプチャで、問題の時間の前後にARPメッセージが見つかりました。
  • 私のpfSenseルーターのARPテーブルを調べたところ、私のPCのタイムアウトエントリは、有効期限まで常に減少していることがわかりました。接続されている他のデバイスでも減少しましたが、ある時点で有効期限が切れる前にデフォルト値(私の場合は1200s)にリセットされていました。
  • 有効期限が切れるのを待って、コンピューターで切断の現象を確認しました(はい)。
  • ルータでtcpdumpキャプチャを作成して、他のデバイスがタイムアウトを正常にリセットした方法を確認します。タイムアウトになる前にARP要求を送信します。
  • 上記で説明したようにarpingをインストールし、テストARP要求をルーターに送信しました。これにより、有効期限タイムアウトが1200秒にリセットされ、勝利しました!\o /

最後に、Windowsを使用しているときになぜこの問題に直面しなかったのかわかりません。 ARPテーブルを確認すると、エントリも期限切れになっていますが、すぐに20分にリセットされ、ネットワークの切断を確認できません。

また、ARPテーブルを確認する方法についても疑問に思われるかもしれません。 pfSenseルーターを使用している場合は、サブメニュー「Diagnostics> Table ARP」にあります(英語に翻訳されるため、私のメニューはフランス語です)。別のデバイスでは、そのドキュメントを確認する必要があります。

しかし、最後に、ARPテーブルをチェックできない場合のイベントでは、/ etc/crontabに行を挿入して数時間/日実行することもできます。 。問題が再現しない場合は、それが問題でした:-)

お役に立てれば !

1
ronalf4209

同じ問題がありました。基本的に大きなファイルを長期間ダウンロードしているときに接続を切断するBroadcom 4313ワイヤレスカードがあります。

これまでのところこれは私の問題を解決しました:

https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx

クイックガイドが必要な場合は、最初にコマンド名Sudo modprobe -r drivernamegoeshereを使用してすべてのドライバーを削除し、次に一度に1つずつ追加して、機能するかどうかを確認して修正することをお勧めします。

ドライバーのリストを取得します。次にlsmod | grep cfg80211を1つずつ削除し、Sudo modprobe b43を使用してそれらの1つを(b43で始まる)に戻します。これまでのところ、これは私のために働いています。

0
Simon Song