「Txデバイス停止検出」ネットワークエラーを修復する方法はありますか?

「Txデバイス停止検出」ネットワークエラーを修復する方法はありますか?

一時停止中に目が覚めた後、Ubuntu 21.04システムにネットワークの問題があります。 IPソケットの約50%がダウンしているようです。これにはとのsshエラーが含まれますping。 「失敗」とは、接続試行がブロックされた後に最終的にタイムアウトしたことを意味します。 (余談:pingソケットを使用しない可能性がありますか?)ネットワークアクセスを試みるすべてのプログラムは、同じ失敗率を経験することになると思います。

私は数週間毎晩システムを一時停止しました。今日は回復後に初めて問題が発生した日でした。

システムを再起動しましたが、問題が解決したようです(少なくとも問題が再発するまで)。

再起動後にさまざまなメッセージが見つかりましたsyslog

一時停止するたびに、次の2行が表示されます。

Sep  4 09:00:18 hostname kernel: [896165.908582] igc 0000:b0:00.0: no suspend buffer for PTM
Sep  4 09:00:18 hostname kernel: [896165.908589] igc 0000:af:00.0: no suspend buffer for PTM

(余談:上記の行はhang以前に発生したイベントを意味しますが、ログエントリはシステムが復元された後にのみ生成されたと考えられます。したがって、そのイベントは実際に指定された時間より数時間前に発生しました。)

すべての履歴書には2つの同じ行があります。

Sep  4 09:00:18 hostname kernel: [896166.257107] igc 0000:af:00.0: no suspend buffer for PTM
Sep  4 09:00:18 hostname kernel: [896166.257177] igc 0000:b0:00.0: no suspend buffer for PTM

(余談:システムに2つのネットワークカードが内蔵されているため、2つの回線があるかもしれませんか?)

以下は、ネットワーク問題が開始された最新の履歴書にのみ表示されるログエントリです。

Sep  4 09:00:19 hostname kernel: [896168.214463] igc 0000:b0:00.0 enp176s0: Register Dump
Sep  4 09:00:19 hostname kernel: [896168.214467] igc 0000:b0:00.0 enp176s0: Register Name   Value
Sep  4 09:00:19 hostname kernel: [896168.214478] igc 0000:b0:00.0 enp176s0: CTRL            081c0641
Sep  4 09:00:19 hostname kernel: [896168.214481] igc 0000:b0:00.0 enp176s0: STATUS          40380401
Sep  4 09:00:19 hostname kernel: [896168.214483] igc 0000:b0:00.0 enp176s0: CTRL_EXT        10000040
Sep  4 09:00:19 hostname kernel: [896168.214486] igc 0000:b0:00.0 enp176s0: MDIC            18017949
Sep  4 09:00:19 hostname kernel: [896168.214488] igc 0000:b0:00.0 enp176s0: ICR             00000001
Sep  4 09:00:19 hostname kernel: [896168.214490] igc 0000:b0:00.0 enp176s0: RCTL            04408022
Sep  4 09:00:19 hostname kernel: [896168.214497] igc 0000:b0:00.0 enp176s0: RDLEN[0-3]      00001000 00001000 00001000 00001000
Sep  4 09:00:19 hostname kernel: [896168.214504] igc 0000:b0:00.0 enp176s0: RDH[0-3]        00000000 00000000 00000000 00000000
Sep  4 09:00:19 hostname kernel: [896168.214511] igc 0000:b0:00.0 enp176s0: RDT[0-3]        000000ff 000000ff 000000ff 000000ff
Sep  4 09:00:19 hostname kernel: [896168.214518] igc 0000:b0:00.0 enp176s0: RXDCTL[0-3]     02040808 02040808 02040808 02040808
Sep  4 09:00:19 hostname kernel: [896168.214525] igc 0000:b0:00.0 enp176s0: RDBAL[0-3]      2e35d000 51576000 337b2000 29a5b000
Sep  4 09:00:19 hostname kernel: [896168.214532] igc 0000:b0:00.0 enp176s0: RDBAH[0-3]      00000001 00000001 00000002 00000001
Sep  4 09:00:19 hostname kernel: [896168.214534] igc 0000:b0:00.0 enp176s0: TCTL            a50400fa
Sep  4 09:00:19 hostname kernel: [896168.214541] igc 0000:b0:00.0 enp176s0: TDBAL[0-3]      2e35d000 51576000 337b2000 29a5b000
Sep  4 09:00:19 hostname kernel: [896168.214548] igc 0000:b0:00.0 enp176s0: TDBAH[0-3]      00000001 00000002 00000001 00000001
Sep  4 09:00:19 hostname kernel: [896168.214555] igc 0000:b0:00.0 enp176s0: TDLEN[0-3]      00001000 00001000 00001000 00001000
Sep  4 09:00:19 hostname kernel: [896168.214562] igc 0000:b0:00.0 enp176s0: TDH[0-3]        00000007 00000009 00000004 00000000
Sep  4 09:00:19 hostname kernel: [896168.214568] igc 0000:b0:00.0 enp176s0: TDT[0-3]        0000000d 00000011 00000004 00000001
Sep  4 09:00:19 hostname kernel: [896168.214575] igc 0000:b0:00.0 enp176s0: TXDCTL[0-3]     02100108 02100108 02100108 02100108
Sep  4 09:00:19 hostname kernel: [896168.214576] igc 0000:b0:00.0 enp176s0: Reset adapter

これにより、次のような項目がたくさん(19,000以上)あります。

Sep  4 09:01:22 hostname kernel: [896231.189109] igc 0000:b0:00.0 enp176s0: Detected Tx Unit Hang
Sep  4 09:01:22 hostname kernel: [896231.189109]   Tx Queue             <1>
Sep  4 09:01:22 hostname kernel: [896231.189109]   TDH                  <9>
Sep  4 09:01:22 hostname kernel: [896231.189109]   TDT                  <9>
Sep  4 09:01:22 hostname kernel: [896231.189109]   next_to_use          <9>
Sep  4 09:01:22 hostname kernel: [896231.189109]   next_to_clean        <9>
Sep  4 09:01:22 hostname kernel: [896231.189109] buffer_info[next_to_clean]
Sep  4 09:01:22 hostname kernel: [896231.189109]   time_stamp           <10d596f4c>
Sep  4 09:01:22 hostname kernel: [896231.189109]   next_to_watch        <000000002b25478e>
Sep  4 09:01:22 hostname kernel: [896231.189109]   jiffies              <10d59ad90>
Sep  4 09:01:22 hostname kernel: [896231.189109]   desc.status          <0>

私の質問は、システム全体を再起動するだけでなく、コマンドラインからネットワークインタフェースを手動でリセット/再起動する方法はありますか?

システムはデスクトップワークステーションなので、キーボードにアクセスできます。

再起動後、システムを再び一時停止して再起動する必要があることに気づきました。しかし、完全に再起動した後でさえ、この事実を知りました。

答え1

スリープモードから復帰した後、再びネットワークエラーが発生しました。今回は再起動するのではなく、次のような(やや明らかな)解決策を試しました。

sudo  ifconfig  enp176s0  down
sudo  systemctl  stop   systemd-networkd
sudo  systemctl  start  systemd-networkd

私のネットワークは再び正常に戻ってきました!

問題がある場合:

enp176s0ネットワークインタフェースの名前に変更してください。

ネットワーク管理者ではない可能性がありますsystemd-networkd

グラフィックスデスクトップ環境を使用している場合は、上記の操作を実行するのではなく、デスクトップツールバーのメニューからネットワークを無効にして再度有効にすることができます。

関連情報