イーサネットネットワーク接続のドロップを停止するにはどうすればよいですか?


16

イーサネットベースのネットワーク接続が常に安定していません。私はゲートウェイに対してpingを実行しています。

  • ちょっと働いて
  • フリーズ、タイムアウト、または数秒の応答時間を与える
  • 繰り返す

スタックしていて、ネットワークマネージャーアプレットを使用してネットワークを無効/有効にすると、すべてが1分間正常に機能します。280個のパケットを送信した後、41%のパケット損失が発生しています。別のケーブルとゲートウェイへの接続を試しましたが、効果はありませんでした。ゲートウェイまでの距離は約3フィートです。

Windowsに切り替えると正常に動作するように見えますが、UbuntuがメインOSであり、ネットワークに依存しているため、今は使用できません。

私のセットアップ...

  • OS:Ubuntu 11.04、デュアルブートWindows 7
  • Mobo:ギガバイトZ68X-UD4-B3
  • CPU:Intel Core i7 2600K

編集

ちょっとした説明...ネットワークマネージャーはまだ接続されていると表示していますが、ゲートウェイまたはそれ以上のものに到達できません。NMは接続が失われたことを示唆せず、ifconfigを呼び出すと、まだIPアドレスがあることが示されます。

別のケーブルで別のゲートウェイに接続しようとすると、同じ問題が発生します。

要求どおり:

lspci | grep -i eth
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

dmesg | tail -f
[   14.024709] EXT4-fs (sda5): re-mounted. Opts: errors=remount-ro,commit=0
[   14.026443] EXT4-fs (sda7): re-mounted. Opts: commit=0
[   14.176101] hda-intel: IRQ timing workaround is activated for card #2. Suggest a bigger bdl_pos_adj.
[   23.917731] eth0: no IPv6 routers present
[  726.109697] r8169 0000:07:00.0: eth0: link up
[  733.169494] r8169 0000:07:00.0: eth0: link up
[  753.930119] r8169 0000:07:00.0: eth0: link up
[  880.787332] r8169 0000:07:00.0: eth0: link up
[ 1159.161283] r8169 0000:07:00.0: eth0: link up
[ 1406.623550] r8169 0000:07:00.0: eth0: link up

編集

@ roland-taylor:ネットワークは常にWindowsで利用可能です。pingはタイムアウトせず、アプリケーションはネットワークの可用性がないことを訴えず、大規模なダウンロードは中断も遅延もしません。


2
理論的には、問題がゲートウェイにある可能性があります。別のゲートウェイを使用してみましたか?
ロビングリーン

2
ここでは、マザーボードやCPUにあまり関心がないと思います。lspci | grep -i ethより情報量が多く、どのモジュールがロードされているか、dhcpが実行されている、dmesg | tail -f接続から接続の切断までのことを言います。
ユーザー不明

あなたはそれを「窓でうまく機能しているようだ」と言いますが、それについて本当に確信していますか?
RolandiXor

回答:


13

公式のrealtekドライバーをダウンロードします。

http://www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=5&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#2

次に、Linuxカーネルからr8169モジュールを削除します。

# rmmod r8169

<Quick install with proper kernel settings>
Unpack the tarball :
# tar vjxf r8168-8.aaa.bb.tar.bz2
Change to the directory:
# cd r8168-8.aaa.bb
If you are running the target kernel, then you should be able to do :
# ./autorun.sh (as root or with sudo)
You can check whether the driver is loaded by using following commands.
# lsmod | grep r8168
# ifconfig -a
If there is a device name, ethX, shown on the monitor, the linux
driver is loaded. Then, you can use the following command to activate
the ethX.
# ifconfig ethX up

最後に、r8169ドライバーをブラックリストに追加し、次を/etc/modprobe.d/blacklist.confに追加します。

#blacklist r8169 driver
blacklist r8169

私はそれをhttp://www.rvdavid.net/how-to-get-gigabit-speeds-from-rtl81118168b-pci-express-gigabit-ethernet-controller-on-ubuntu-linux/で見つけました、そしてそれは動作します。これで、ネット速度がすべて良好になりました。


これは完璧に機能しました!ネットワーク接続が安定し、古いデスクトップからこのデスクトップへの移行を続行できました。私はあなたに投票しますが、どうやらもっと評判が必要なようです。
ショーンヒル

これが助けてくれたおかげで、リブートしてもインターネットに接続できません。モジュールのブラックリストに潜在的な問題があるようです。この投稿のコメントに詳細があります。
ドリュー

再起動後にインターネットにアクセスするには、ここからいくつかの手順を行いましたubuntuforums.org/showthread.php?t=723569、ソースからコンパイルすることを除いて

gnome3に更新し、このモジュールのオーバーライドを失いました。カーネルを更新するたびにこれらの手順を実行する必要があるようです。initramfsが何をするのかわかりませんが、更新前にそれをしていませんでした。私は今それを実行し、現在のカーネルのブートramfsを更新しました。おそらく新しいものも更新します/ cross Finger
Drew

これを使用していますか?これらの問題に気づきましたか?DKMSで新しいカーネルへのアップグレードを自動化することについて、ここでヒントがありますdjlab.com/2010/10/fixing-rtl8111-8168b-driver-debian-ubuntu
ドリュー

8

次回、SSDが故障したときにこれを見つけることができます。ここでは、破損したr8169を削除し、Ubuntu w / Linux Kernel 3.xにr8168を挿入する手順を示します。

カーネル3.x

  • ダウンロードr8168
  • まだ未解決のマークが付いている場合は、このパッチを適用してください
  • 停止:DKMSを使用する場合は、DKMSセクションに進んでください。
  • 実行sudo ./autogen.shすると、モジュールがビルドされ、古いモジュールが削除され(必要に応じてブラックリストに追加)、r8168.koが/ lib / modules / 'uname -r' / drivers / net /にインストールされます。

DKMS

DKMSは、新しいカーネルのインストール時にモジュールをビルドしてインストールします。古いモジュールをブラックリストに追加する必要もあります。

古いモジュールをまだブラックリストに登録していない場合。

echo 'rmmod r8169' | sudo tee /etc/modprobe.d/blacklist.conf

DKMSとgccをインストールします。

sudo apt-get install dkms gcc

モジュールのソースファイルを永続的な場所にコピーして、後で誤って削除しないようにします。

sudo cp -R r8168-8.025.00 /usr/src

echo 'PACKAGE_NAME=r8168
PACKAGE_VERSION=8.025.00
MAKE[0]="make"
BUILT_MODULE_NAME[0]=r8168
BUILT_MODULE_LOCATION[0]="src/"
DEST_MODULE_LOCATION[0]="/kernel/updates/dkms"
AUTOINSTALL="YES"' | sudo tee /usr/src/r8168-8.025.00/dkms.conf

その後、実行し、

dkms add -m r8168 -v 8.025.00
dkms build -m r8168 -v 8.025.00
dkms install -m r8168 -v 8.019.00
sudo update-initramfs -u

1
+1のすばらしい投稿。update-initramfsコマンドが不足している可能性があります
-bbaja42

私はそれを何度も使用しましたが、違いを見たことはありません。これはネットワークモジュールに必要なことでしょうか。実際には、安全のためにそれを含めます。私は、すべての機能を確認するためにプロセスを段階的に進めながらガイドを書きました。モジュールをビルド/インストール/その他の方法で実行したことがあります。
ドリュー

今日、ルーターを交換した後、GA-Z68X-UD3H-B3(Kubuntu 11.10 64ビットを実行)のRTL8111Eが機能しなくなりました。ネットワーク接続を確立できたとしても、パケットは転送されません(ping「宛先ホスト到達不能」)。make modulesモジュールを挿入した後、再び機能しました。後にrmmod新しいモジュールをすると、古いものをロードし、ネットワークが再び働きました。これは、再起動後も同様です。このNICが再び機能するようになった理由はわかりませんが(rmmod / insmod対rmmod / insmod新しいモジュール)、うまくいけば誰かに役立つでしょう。
Lekensteyn


0

それは役に立つかもしれません

一部のシステムでWindowsをデュアルブートすると、r8169ドライバーで問題が発生する場合があります。デフォルトでは、WindowsはWake-On-Lanを無効にするためにWindowsシャットダウン時にNICを無効にし、このNICは次にWindowsがオンになるまで無効のままになります。カーネルのr8169ドライバーは、この無効な状態からNICをオンにする方法を知りません。したがって、ドライバーがロードされ、デバイスが起動していると報告されても、デバイスは応答しません。この問題を回避するには、「シャットダウン後のWake-on-lan」機能を有効にします。このオプションは、Windowsのデバイスマネージャーを使用して設定できます。

編集:Windowsでのデュアルブートの問題は2.6.19.5および2.6.20.8カーネルにも存在するため、カーネル開発者がRTL8168のドライバーを可能なバージョンに更新するまで、すべての2.6カーネルに関係すると想定するのは安全です。無効状態からNICをオンにする



0

正誤表:

echo 'blacklist r8169' | sudo tee /etc/modprobe.d/blacklist-r8169.conf
dkms add -m r8168 -v 8.025.00
dkms build -m r8168 -v 8.025.00
dkms install -m r8168 -v 8.025.00
sudo update-initramfs -u

これらのコマンドが実行していることの説明を追加してください。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.