我刚刚安装了 Linux Mint 13, 64 位(来自“c't kompakt Linux”的 CD,如果这很重要的话),并遇到了一个非常意外的问题,我还没有通过 Google 或搜索找到解决方案这个网站:它声称我的局域网电缆没有连接。这是令人惊讶的,因为 Linux Mint 的实时版本(我从中安装了它)和在同一台计算机上运行的 OpenSUSE(我当前正在其上输入此内容)都通过同一根网络电缆(我没有使用它)连接得很好。同时不要碰)。
那么可能出了什么问题呢?更重要的是,我能做些什么来解决这个问题?
更新:
关闭计算机并断开电源后(由于雷暴),再次启动后它现在可以工作了。不管怎样,如果有人知道它可能是什么(我根本没有碰过局域网电缆!),我仍然很乐意知道(以防它再次发生)。
更新2:
虽然我现在已经是Mint 17了,但是这种情况还是偶尔会发生;重新启动(有时两次)会有所帮助,因此我断定不是电缆有问题(我没有在靴子之间触摸它)。我现在还检查(使用另一台计算机),在这种情况下,我的 Fritz 盒子(网络电缆的另一端插入其中)确实看到电缆已连接,即使 Mint 没有。
另请注意,如果启动后我没有收到错误消息,那么以后也不会收到该错误消息。
我想要一个比重新启动计算机更好的解决方案。
更新3:
根据评论中的要求,这是ifconfig
、lspci
和的输出lsmod
(注意:在网络工作期间;由于不工作是不可预测的,幸运的是不是太频繁,我不能随意复制它)。
ifconfig
(我省略了该lo
条目,因为我认为它不相关):
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.178.20 Bcast:192.168.178.255 Mask:255.255.255.0
inet6 addr: fd00::21b:fcff:fe87:298d/64 Scope:Global
inet6 addr: fe80::21b:fcff:fe87:298d/64 Scope:Link
inet6 addr: fd00::f9a9:dfeb:9e90:717b/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5339 errors:0 dropped:0 overruns:0 frame:0
TX packets:4883 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4426282 (4.4 MB) TX bytes:698006 (698.0 KB)
lspci
:
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD/ATI] RS690 Host Bridge
00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RS690 PCI to PCI Bridge (PCI Express Graphics Port 0)
00:07.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RS690 PCI to PCI Bridge (PCI Express Port 3)
00:12.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB600 Non-Raid-5 SATA
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB600 USB (OHCI0)
00:13.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB600 USB (OHCI1)
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB600 USB (OHCI2)
00:13.3 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB600 USB (OHCI3)
00:13.4 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB600 USB (OHCI4)
00:13.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB600 USB Controller (EHCI)
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 14)
00:14.1 IDE interface: Advanced Micro Devices, Inc. [AMD/ATI] SB600 IDE
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB600 PCI to LPC Bridge
00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
01:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 01)
03:06.0 FireWire (IEEE 1394): Texas Instruments TSB12LV26 IEEE-1394 Controller (Link)
lsmod:
snd_hda_codec_hdmi 46207 4
snd_hda_codec_realtek 61438 1
snd_hda_intel 52355 7
snd_hda_codec 192906 3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep 13602 1 snd_hda_codec
rfcomm 69160 0
bnep 19624 2
joydev 17381 0
bluetooth 395423 10 bnep,rfcomm
snd_pcm 102099 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_page_alloc 18710 2 snd_pcm,snd_hda_intel
binfmt_misc 17468 1
snd_seq_midi 13324 0
snd_seq_midi_event 14899 1 snd_seq_midi
snd_rawmidi 30144 1 snd_seq_midi
kvm_amd 59987 0
kvm 451511 1 kvm_amd
snd_seq 61560 2 snd_seq_midi_event,snd_seq_midi
snd_seq_device 14497 3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer 29482 2 snd_pcm,snd_seq
snd 69238 24 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
dm_multipath 22873 0
scsi_dh 14882 1 dm_multipath
serio_raw 13462 0
edac_core 62291 0
k8temp 12978 0
edac_mce_amd 22617 0
sp5100_tco 13979 0
i2c_piix4 22155 0
soundcore 12680 1 snd
shpchp 37032 0
asus_atk0110 18657 0
parport_pc 32701 1
ppdev 17671 0
lp 17759 0
parport 42348 3 lp,ppdev,parport_pc
mac_hid 13205 0
dm_mirror 22135 0
dm_region_hash 20862 1 dm_mirror
dm_log 18411 2 dm_region_hash,dm_mirror
hid_generic 12548 0
usbhid 52616 0
hid 106148 2 hid_generic,usbhid
pata_acpi 13038 0
firewire_ohci 40409 0
psmouse 102222 0
firewire_core 68769 1 firewire_ohci
crc_itu_t 12707 1 firewire_core
pata_atiixp 13271 0
nouveau 1097199 3
floppy 69370 0
mxm_wmi 13021 1 nouveau
r8169 67581 0
wmi 19177 2 mxm_wmi,nouveau
video 19476 1 nouveau
mii 13934 1 r8169
i2c_algo_bit 13413 1 nouveau
ttm 85115 1 nouveau
drm_kms_helper 52758 1 nouveau
drm 302817 5 ttm,drm_kms_helper,nouveau
ahci 25819 4
libahci 32168 1 ahci
更新4:
它又发生了。由于 dmesg 有超过 800 行,我已经
egrep -n '(r8169|eth0)'
在它上面运行了(r8169 是由内德64在评论中负责以太网控制器);我希望能够抓住所有相关的内容。结果如下:
629:[ 1.431823] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
630:[ 1.431840] r8169 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control
632:[ 1.432178] r8169 0000:02:00.0: irq 42 for MSI/MSI-X
633:[ 1.432341] r8169 0000:02:00.0 eth0: RTL8168b/8111b at 0xffffc90000368000, 00:1b:fc:87:29:8d, XID 18000000 IRQ 42
634:[ 1.432343] r8169 0000:02:00.0 eth0: jumbo features [frames: 4080 bytes, tx checksumming: ko]
791:[ 5.214715] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
862:[ 6.773423] r8169 0000:02:00.0 eth0: link down
863:[ 6.773438] r8169 0000:02:00.0 eth0: link down
864:[ 6.773963] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
865:[ 6.774513] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
按照 Ned64 的建议重新加载内核模块可以解决问题而无需重新启动,因此这是一个可行的解决方法,但当然我仍然更喜欢无需手动干预即可解决问题的解决方案。
答案1
ifconfig
从您的、lsmod
和lspci | grep -i eth
以及错误期间获取信息后,很明显您的 Realtek 以太网适配器的内核模块dmesg
存在问题。r8169
作为重新启动以太网卡并重新连接到网络的短期修复,请在发生错误时使用rmmod r8169
和(以 root 身份)。modprobe r8169
作为长期解决方案,您可以切换以太网适配器的驱动程序。其他一些人使用了r8168
之后使用了r8169
之前。这是某人这样做的一份报告:
http://www.foxhop.net/realtek-dropping-packets-on-linux-ubuntu-and-fedora
当然,由您不认识的人下载和运行脚本可能是有害的。您可以直接从 Realtek 获取最新版本的驱动程序:
http://www.realtek.com/search/default.aspx?keyword=r8168
当您安装自己的内核模块来替换现有模块时,请不要忘记将旧模块列入黑名单,以便它不会自动使用,如下所示:
echo blacklist r8169 >> /etc/modprobe.d/blacklist.conf
(看看这是否适用于您的系统),并记住,每当您升级 Linux 内核时,您可能都需要重新构建新的内核模块。