Làm cách nào để ngăn kết nối mạng ethernet của tôi bị rớt?


16

Kết nối mạng dựa trên ethernet của tôi không duy trì ổn định. Tôi đang chạy ping đến cổng và nó sẽ:

  • Làm việc trong một phút
  • Đóng băng, hết thời gian hoặc cho thời gian phản hồi nhiều giây
  • Nói lại

Nếu nó bị kẹt và tôi vô hiệu hóa / kích hoạt kết nối mạng thông qua applet của trình quản lý mạng, mọi thứ sẽ hoạt động tốt trở lại trong một phút. Sau 280 gói được truyền, tôi bị mất gói 41%. Tôi đã thử một cáp khác và kết nối với cổng nhưng điều này không có kết quả. Khoảng cách đến cổng chỉ khoảng 3 feet.

Có vẻ hoạt động tốt nếu tôi chuyển sang Windows, nhưng Ubuntu là hệ điều hành chính của tôi và tôi thậm chí không thể sử dụng nó ngay bây giờ vì tôi phụ thuộc vào mạng.

Thiết lập của tôi ...

  • HĐH: Ubuntu 11.04, khởi động kép Windows 7
  • Mobo: Gigabyte Z68X-UD4-B3
  • CPU: Intel Core i7 2600K

Biên tập

Làm rõ một chút ... Quản lý mạng vẫn hiển thị cho tôi là đã kết nối, nhưng tôi không thể tiếp cận với cổng hoặc bất cứ điều gì khác. Không có lúc nào NM đề nghị kết nối bị mất và việc gọi ifconfig cho thấy tôi vẫn có địa chỉ IP.

Tôi đã thử kết nối với một cổng khác bằng một cáp khác và cùng một vấn đề phát sinh.

Như yêu cầu:

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

Biên tập

@ roland-taylor: Mạng luôn khả dụng trong Windows. Pings không hết thời gian, các ứng dụng không phàn nàn về việc không có mạng, tải xuống lớn không bị gián đoạn hoặc bị chậm.


2
Về mặt lý thuyết có thể là vấn đề với cổng. Bạn đã thử sử dụng một cổng khác?
Robin Green

2
Tôi không nghĩ bo mạch chủ hay CPU được nhiều người quan tâm ở đây. lspci | grep -i ethcó thể có nhiều thông tin hơn và mô-đun nào được tải, đang chạy dhcp, điều gì dmesg | tail -fnói từ việc kết nối đến việc ngắt kết nối.
người dùng không xác định

Bạn nói nó "dường như hoạt động tốt trong windows" nhưng bạn có thực sự chắc chắn về điều đó?
RolandiXor

Câu trả lời:


13

Tải về trình điều khiển realtek chính thức.

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

Sau đó loại bỏ mô-đun r8169 khỏi kernel linux.

# 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

Cuối cùng, danh sách đen trình điều khiển r8169 thêm phần sau vào /etc/modprobe.d/blacklist.conf:

#blacklist r8169 driver
blacklist r8169

Tôi đã tìm thấy nó tại http://www.rvdavid.net/how-to-get-gigabit-speed-from-rtl81118168b-pci-express-gigabit-ethernet-controll-on-ub Ubuntu-linux / và nó hoạt động. Bây giờ tất cả đều tốt với tốc độ mạng.


Điều này làm việc hoàn hảo! Kết nối mạng của tôi hiện đã ổn định và tôi đã có thể tiếp tục di chuyển từ máy tính để bàn cũ sang thiết bị này. Tôi sẽ bình chọn cho bạn nhưng rõ ràng tôi cần danh tiếng nhiều hơn ... Tôi sẽ hiểu nhưng có vẻ lạ khi coi đó là câu hỏi của tôi.
Sean Hill

Nhờ sự giúp đỡ này, tôi không thể truy cập internet sau khi khởi động lại. Dường như có vấn đề tiềm ẩn với danh sách đen mô-đun. Có thêm thông tin trong các ý kiến ​​về bài viết này.
vẽ

để truy cập internet sau khi khởi động lại, tôi đã làm theo một số bước từ đây ubuntuforums.org/showthread.php?t=723569 , ngoại trừ biên dịch từ nguồn
anh chàng

Tôi đã cập nhật lên gnome3 và mất ghi đè mô-đun này, có vẻ như bạn cần thực hiện các bước này cho mỗi bản cập nhật kernel. Tôi không chắc chắn những gì initramfs làm, nhưng tôi đã không làm điều đó trước khi cập nhật. Tôi vừa chạy nó và nó đã cập nhật ramfs khởi động cho kernel hiện tại, có thể nó cũng sẽ cập nhật cho những cái mới / ngón tay chéo
Drew

Bạn đang sử dụng cái này? Bạn có nhận thấy những vấn đề này? Có gợi ý ở đây về việc tự động nâng cấp lên hạt nhân mới với DKMS djlab.com/2010/10/fixing-rtl8111-8168b-driver-debian-ubuntu
Drew

8

Để tôi có thể tìm thấy điều này vào lần tới khi SSD của tôi nổ tung. Dưới đây là hướng dẫn để xóa r8169 bị hỏng và chèn r8168 trên Ubuntu w / Linux Kernel 3.x.

Hạt nhân 3.x

  • Tải xuống r8168
  • Áp dụng bản vá này nếu nó vẫn được đánh dấu chưa được giải quyết.
  • DỪNG LẠI : Nếu bạn dự định sử dụng DKMS, hãy bỏ qua phần DKMS ngay bây giờ.
  • Chạy sudo ./autogen.sh, nó sẽ xây dựng mô-đun, xóa cái cũ (danh sách đen nếu bạn muốn) và cài đặt r8168.ko thành / lib / mô-đun / 'uname -r' / driver / net /.

DKMS

DKMS sẽ xây dựng và cài đặt mô-đun khi cài đặt kernel mới. Bạn cũng sẽ cần phải liệt kê các mô-đun cũ.

Danh sách đen các mô-đun cũ nếu bạn chưa có.

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

Cài đặt DKMS và gcc.

sudo apt-get install dkms gcc

Sao chép các tệp nguồn mô-đun vào một vị trí liên tục, do đó bạn không vô tình xóa chúng sau này.

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

Sau đó chạy,

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 bài viết tuyệt vời. có thể bạn đang thiếu update-initramfslệnh
bbaja42

Tôi đã sử dụng nhiều lần và chưa bao giờ thấy sự khác biệt, bạn có chắc rằng điều này là cần thiết cho một mô-đun mạng? Trên thực tế, tôi sẽ chỉ bao gồm nó để được an toàn. Tôi đã viết hướng dẫn khi tôi thực hiện quy trình để đảm bảo tất cả đều hoạt động. Tôi có thể đã chạy nó trước đây trong khi mô-đun được xây dựng / cài đặt / bất cứ điều gì mặc dù.
vẽ

Hôm nay tôi đã trao đổi các bộ định tuyến mà sau đó RTL8111E trên GA-Z68X-UD3H-B3 (chạy Kubfox 11.10 64-bit) đã ngừng hoạt động: ngay cả khi kết nối mạng có thể được thiết lập, không có gói nào được chuyển ( pingđến bộ định tuyến bị lỗi Không thể truy cập "). Sau make modulesvà chèn mô-đun, nó hoạt động trở lại. Sau khi rmmodnhập mô-đun mới và tải mô-đun cũ, mạng hoạt động trở lại. Điều này cũng đúng sau khi khởi động lại. Tôi không chắc điều gì đã giúp cho NIC này hoạt động trở lại (rmmod / insmod vs rmmod / insmod module mới), nhưng hy vọng nó hữu ích với ai đó.
Lekensteyn


0

đó có thể là hữu ích

bạn có thể gặp sự cố với trình điều khiển r8169 nếu bạn khởi động kép Windows trên một số hệ thống. Windows bằng cách mặc định vô hiệu hóa NIC vào thời gian tắt máy Windows để tắt Wake-On-Lan và NIC này sẽ vẫn bị vô hiệu hóa cho đến khi Windows bật lần tiếp theo. Trình điều khiển r8169 trong kernel không biết cách bật NIC từ trạng thái bị tắt này; do đó, thiết bị sẽ không phản hồi, ngay cả khi trình điều khiển tải và báo cáo rằng thiết bị đã hoạt động. Để khắc phục sự cố này, chỉ cần bật tính năng "Wake-on-lan sau khi tắt máy". Bạn có thể đặt tùy chọn này thông qua trình quản lý thiết bị của Windows.

Chỉnh sửa: Vấn đề khởi động kép với Windows cũng tồn tại trong kernel 2.6.19.5 và 2.6.20.8, vì vậy có thể giả định rằng nó sẽ liên quan đến tất cả các kernel 2.6 cho đến khi các nhà phát triển kernel cập nhật trình điều khiển cho RTL8168 lên phiên bản có thể để bật NIC từ trạng thái bị vô hiệu hóa



0

Errata đúng:

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

Bạn có thể vui lòng thêm một lời giải thích về những gì các lệnh này đang làm?
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.