ฉันจะหยุดการเชื่อมต่อเครือข่ายอีเธอร์เน็ตได้อย่างไร


16

การเชื่อมต่อเครือข่ายที่ใช้อีเธอร์เน็ตของฉันไม่ได้อยู่อย่างสม่ำเสมอ ฉันกำลังใช้ ping กับเกตเวย์และมันจะ:

  • ทำงานสักนาที
  • ตรึงหมดเวลาหรือให้เวลาตอบสนองหลายวินาที
  • ทำซ้ำ

หากมันติดขัดและฉันปิดการใช้งาน / เปิดใช้งานเครือข่ายผ่านแอปเพล็ตตัวจัดการเครือข่ายทุกอย่างจะทำงานได้ดีอีกครั้งหนึ่งนาที หลังจากส่งแพ็กเก็ต 280 ชุดฉันจะได้รับแพ็กเก็ตหายไป 41% ฉันลองใช้สายเคเบิลและการเชื่อมต่อกับเกตเวย์อื่นแล้ว แต่นี่ไม่มีผล ระยะทางไปสู่เกตเวย์นั้นอยู่ที่ประมาณ 3 ฟุต

ดูเหมือนว่าจะทำงานได้ดีถ้าฉันสลับไปใช้ Windows แต่ Ubuntu เป็นระบบปฏิบัติการหลักของฉันและฉันไม่สามารถใช้งานได้ตอนนี้เพราะฉันต้องพึ่งพาเครือข่าย

การตั้งค่าของฉัน ...

  • ระบบปฏิบัติการ: Ubuntu 11.04, Windows 7 แบบดูอัลบูต
  • Mobo: Gigabyte Z68X-UD4-B3
  • ซีพียู: 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 เสมอ ปิงไม่หมดเวลาแอพพลิเคชั่นไม่บ่นว่าไม่มีเครือข่ายให้ดาวน์โหลดขนาดใหญ่ไม่ขัดจังหวะหรือช้า


2
เป็นไปได้ในทางทฤษฎีว่าปัญหาเกิดขึ้นกับเกตเวย์ คุณลองใช้เกตเวย์อื่นหรือไม่?
Robin Green

2
ฉันไม่คิดว่ามาเธอร์บอร์ดหรือ CPU น่าสนใจมาก lspci | grep -i ethอาจเป็น informatve มากขึ้นและโมดูลใดที่ถูกโหลดกำลังทำงาน dhcp สิ่งที่dmesg | tail -fพูดจากการเชื่อมต่อกับการปล่อยการเชื่อมต่อ
ผู้ใช้ที่ไม่รู้จัก

คุณบอกว่า "ดูเหมือนว่าจะทำงานได้ดีใน windows" แต่คุณแน่ใจเกี่ยวกับเรื่องนี้จริงหรือ
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

จากนั้นลบโมดูล r8169 ออกจากเคอร์เนล 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

ในที่สุดบัญชีดำไดรเวอร์ 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/และการทำงาน ตอนนี้มันดีด้วยความเร็วเน็ต


มันทำงานได้อย่างสมบูรณ์แบบ! การเชื่อมต่อเครือข่ายของฉันมีเสถียรภาพและฉันสามารถทำการย้ายข้อมูลจากเดสก์ท็อปเก่าไปยังที่นี้ได้ ฉันลงคะแนนให้คุณ แต่เห็นได้ชัดว่าฉันต้องการชื่อเสียงมากขึ้น ... ฉันจะเข้าใจ แต่ดูเหมือนแปลกเมื่อพิจารณาว่าเป็นคำถามของฉัน
Sean Hill

ขอบคุณสิ่งนี้ช่วยฉันไม่สามารถใช้อินเทอร์เน็ตได้หลังจากรีบูตเครื่อง ดูเหมือนว่ามีปัญหาที่อาจเกิดขึ้นกับบัญชีดำของโมดูล มีข้อมูลเพิ่มเติมในความคิดเห็นในโพสต์นี้
Drew

ที่จะได้รับบนอินเทอร์เน็ตหลังจากรีบูตเครื่องฉันทำตามขั้นตอนบางอย่างจากที่นี่ubuntuforums.org/showthread.php?t=723569ยกเว้นการคอมไพล์จากซอร์ส
dude

ฉันอัปเดตเป็น gnome3 และสูญเสียการแทนที่โมดูลนี้ดูเหมือนว่าคุณจะต้องทำตามขั้นตอนเหล่านี้สำหรับการอัปเดตเคอร์เนลทุกครั้ง ฉันไม่แน่ใจว่า initramfs ทำอะไร แต่ฉันไม่ได้ทำก่อนที่จะทำการอัพเดต ฉันวิ่งแล้วและอัปเดต ramfs การบูตสำหรับเคอร์เนลปัจจุบันบางทีมันอาจอัปเดตใหม่ด้วย / ข้ามนิ้ว
Drew

คุณใช้สิ่งนี้หรือไม่? คุณสังเกตเห็นปัญหาเหล่านี้หรือไม่? มีคำแนะนำที่นี่เกี่ยวกับอัตโนมัติอัพเกรดเมล็ดใหม่ที่มี DKMS djlab.com/2010/10/fixing-rtl8111-8168b-driver-debian-ubuntu
ดึง

8

ดังนั้นฉันจะพบสิ่งนี้ในครั้งต่อไปที่ SSD ของฉันระเบิด นี่คือคำแนะนำสำหรับการลบ r8169 ที่ขาดและแทรก r8168 บน Ubuntu w / Linux Kernel 3.x

เคอร์เนล 3.x

  • ดาวน์โหลด r8168
  • ใช้โปรแกรมปะแก้นี้หากยังทำเครื่องหมายไม่ได้รับการแก้ไข
  • STOP : หากคุณวางแผนที่จะใช้ 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

ฉันเคยใช้มาหลายครั้งแล้วและไม่เคยเห็นความแตกต่างคุณแน่ใจหรือไม่ว่านี่เป็นสิ่งจำเป็นสำหรับโมดูลเครือข่าย ที่จริงแล้วฉันจะรวมไว้เพื่อความปลอดภัย ฉันเขียนคำแนะนำในขณะที่ฉันก้าวผ่านกระบวนการเพื่อให้แน่ใจว่ามันใช้งานได้จริง ฉันอาจเคยใช้สิ่งนี้มาก่อนในขณะที่โมดูลถูกสร้าง / ติดตั้ง / ไม่ว่าจะเป็นอะไรก็ตาม
ดึง

วันนี้ฉันสลับเราเตอร์หลังจากที่ RTL8111E บน GA-Z68X-UD3H-B3 (รัน Kubuntu 11.10 64- บิต) หยุดทำงาน: แม้ว่าจะสามารถสร้างการเชื่อมต่อเครือข่ายได้ไม่มีการถ่ายโอนข้อมูล ( pingไปยังเราเตอร์ที่ล้มเหลวด้วย "ปลายทางโฮสต์ ไม่สามารถเข้าถึง ") หลังจากmake modulesและใส่โมดูลมันทำงานอีกครั้ง หลังจากrmmodเปิดโมดูลใหม่และโหลดโมดูลเก่าแล้วเครือข่ายก็ทำงานอีกครั้ง สิ่งนี้ก็เป็นจริงเช่นกันหลังจากรีบูต ฉันไม่แน่ใจว่าสิ่งใดที่ช่วยให้ NIC นี้ทำงานอีกครั้ง (โมดูล rmmod / insmod vs โมดูล rmmod / insmod ใหม่) แต่หวังว่าจะเป็นประโยชน์กับใครบางคน
Lekensteyn


0

ที่อาจเป็นประโยชน์

คุณอาจประสบปัญหากับไดรเวอร์ r8169 หากคุณบูทสองครั้ง Windows ในบางระบบ Windows โดยค่าเริ่มต้นจะปิดใช้งาน NIC ในเวลาปิดระบบ Windows เพื่อปิดใช้งาน Wake-On-Lan และ NIC นี้จะยังคงปิดใช้งานจนกว่าจะเปิด Windows ในครั้งต่อไป ไดรเวอร์ r8169 ในเคอร์เนลไม่ทราบวิธีเปิด NIC จากสถานะที่ถูกปิดใช้งานนี้ ดังนั้นอุปกรณ์จะไม่ตอบสนองแม้ว่าไดรเวอร์จะโหลดและรายงานว่าอุปกรณ์ทำงาน หากต้องการแก้ไขปัญหานี้เพียงเปิดใช้งานคุณสมบัติ "Wake-on-lan หลังจากปิดระบบ" คุณสามารถตั้งค่าตัวเลือกนี้ผ่านตัวจัดการอุปกรณ์ของ Windows

แก้ไข: ปัญหาเกี่ยวกับการบูทคู่กับ Windows มีอยู่ในเคอร์เนล 2.6.19.5 และ 2.6.20.8 ดังนั้นจึงปลอดภัยที่จะถือว่ามันจะเกี่ยวข้องกับเมล็ดทั้งหมด 2.6 จนกว่าผู้พัฒนาเคอร์เนลจะอัปเดตไดรเวอร์สำหรับ RTL8168 เป็นเวอร์ชันที่จะสามารถทำได้ เพื่อเปิด NIC จากสถานะปิดใช้งาน



0

ข้อผิดพลาด Errata:

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.