我在运行Arch Linux。在dmesg中,我有以下消息:
[ 3.225860] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 8.405807] e1000e: eth0 NIC Link is Down
[ 39.495793] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 44.679494] e1000e: eth0 NIC Link is Down
[ 110.525785] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 115.709482] e1000e: eth0 NIC Link is Down
[ 344.245735] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
我确实在这个链接上使用IPv6 (它连接到一个电缆调制解调器),我确实需要这个链接才能准备好。请注意,“未准备好”不是一个短暂的过关问题。在我手动提出来之前,它根本没有准备好。
雷击后我不得不更换主板。这样做后,eth0 (主板上的)不会自动出现,但英特尔PCI卡上的4个端口(以太网服务器适配器I340-T4)确实出现了。主板采用英特尔以太网(I 219-V)。(见下面的lspci输出。)
我尝试了以下几项,但没有成功:
netctl reenable eth0-profile
这个链接仍然无法自动出现。ip a
显示此链接已关闭。netctl status
显示了一个失败:
netctl status eth0-profile
● netctl@eth0\x2dprofile.service - WAN
Loaded: loaded (/etc/systemd/system/netctl@eth0\x2dprofile.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2017-06-28 02:14:27 EDT; 11min ago
Docs: man:netctl.profile(5)
Process: 329 ExecStart=/usr/lib/network/network start %I (code=exited, status=1/FAILURE)
Main PID: 329 (code=exited, status=1/FAILURE)
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
手动运行下一个命令不会成功:
netctl start eth0-profile
这个系统从来没有启用过dhcpcd@eth0.service的systemd单元(甚至是一个通用的全接口dhcpcd服务)。我不反对添加一个,如果这将修复它,但它以前是有效的,没有它,我想回到以前的状态。(我有btrfs快照,但我不想退回去。我想了解发生了什么,并做出修正,所以我从中学到了一些东西。)
要解决链接问题,我必须运行以下命令。
sudo ip link set eth0 up
sudo dhcpcd -n eth0
sudo systemctl restart dnsmasq
一旦我运行了这些命令,一切都很好。出于某种原因,它并不是自动启动的。在运行这些命令时,我注意到ip link set eth0 up
需要很长时间。有时候我得跑好几次。
/etc/netctl/eth0-概况:
Description='WAN'
Interface=eth0
Connection=ethernetvpn
IP='dhcp'
lspci -v
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)
Subsystem: ASUSTeK Computer Inc. Device 8672
Flags: bus master, fast devsel, latency 0, IRQ 143
Memory at f7400000 (32-bit, non-prefetchable) [size=128K]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [e0] PCI Advanced Features
Kernel driver in use: e1000e
Kernel modules: e1000e
01:00.0 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter I340-T4
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f7180000 (32-bit, non-prefetchable) [size=512K]
Memory at f720c000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-1b-2c-3d-4e-5f-6a-7b
Capabilities: [1a0] Transaction Processing Hints
Capabilities: [1c0] Latency Tolerance Reporting
Kernel driver in use: igb
Kernel modules: igb
01:00.1 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter I340-T4
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at f7100000 (32-bit, non-prefetchable) [size=512K]
Memory at f7208000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-1b-2c-3d-4e-5f-6a-7b
Capabilities: [1a0] Transaction Processing Hints
Kernel driver in use: igb
Kernel modules: igb
01:00.2 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter I340-T4
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at f7080000 (32-bit, non-prefetchable) [size=512K]
Memory at f7204000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-1b-2c-3d-4e-5f-6a-7b
Capabilities: [1a0] Transaction Processing Hints
Kernel driver in use: igb
Kernel modules: igb
01:00.3 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter I340-T4
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at f7000000 (32-bit, non-prefetchable) [size=512K]
Memory at f7200000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-1b-2c-3d-4e-5f-6a-7b
Capabilities: [1a0] Transaction Processing Hints
Kernel driver in use: igb
Kernel modules: igb
我还没有找到解决办法。将这两行添加到/etc/netctl/eth0-配置文件似乎可以解决这一问题一段时间,但问题又回来了。
TimeoutUp=300
TimeoutCarrier=300
我发现了一些新的信息。在最近的引导之后,日志显示了以下问题:
Sep 12 03:38:26 arch2 network[358]: Duplicate Address Detection is taking too long on interface 'eth0'
Sep 12 03:38:27 arch2 network[358]: Failed to bring the network up for profile 'eth0-profile'
Sep 12 03:38:27 arch2 dhcpcd[588]: script_runreason: /usr/lib/dhcpcd/dhcpcd-run-hooks: Terminated
我可以像这样把网络提出来:
# netctl restart eth0-profile
在那之后,一切都正常了。然而,我想找到并解决根本的问题。
以下是systemctl状态"netctl@eth0\x2dprofile.service“的输出
● netctl@eth0\x2dprofile.service - ETH0
Loaded: loaded (/etc/systemd/system/netctl@eth0\x2dprofile.service; enabled; vendor preset: disabled)
Active: active (exited) since Tue 2017-09-12 03:47:54 EDT; 36s ago
Docs: man:netctl.profile(5)
Process: 870 ExecStart=/usr/lib/netctl/network start eth0-profile (code=exited, status=0/SUCCESS)
Main PID: 870 (code=exited, status=0/SUCCESS)
Status: "online"
Tasks: 2 (limit: 4915)
CGroup: /system.slice/system-netctl.slice/netctl@eth0\x2dprofile.service
├─ 963 dhcpcd -4 -q -t 30 -L eth0
└─1070 dhcpcd -6 -q -t 30 eth0
Sep 12 03:47:59 arch2 dhcpcd[1050]: eth0: soliciting an IPv6 router
Sep 12 03:47:59 arch2 dhcpcd[1050]: eth0: Router Advertisement from ff00::bbda:ffff:fe44:2dee
Sep 12 03:47:59 arch2 dhcpcd[1050]: eth0: adding address 2001:333:300:1c6:dd09:189b:cf5b:bbbb/64
Sep 12 03:47:59 arch2 dhcpcd[1050]: eth0: adding route to 2601:343:380:1f6::/64
Sep 12 03:47:59 arch2 dhcpcd[1050]: eth0: adding default route via ff00::bbda:ffff:fe44:2dee
Sep 12 03:47:59 arch2 dhcpcd[1050]: forked to background, child pid 1070
Sep 12 03:47:59 arch2 dhcpcd[1070]: eth0: confirming prior DHCPv6 lease
Sep 12 03:47:59 arch2 network[870]: Started network profile 'eth0-profile'
Sep 12 03:48:09 arch2 dhcpcd[1070]: eth0: failed to confirm prior address
Sep 12 03:48:09 arch2 dhcpcd[1070]: eth0: soliciting a DHCPv6 lease
发布于 2017-09-13 00:55:09
我的解决方案是将以下行添加到此接口的netctl配置文件(in /etc/netctl)中:
SkipDAD=yes
系统的启动速度比以往任何时候都快,并且错误都得到了解决。
这是一个由一个以太网电缆直接连接到电缆调制解调器的盒子。这是整个网络,永远不会有其他系统连接起来。所以爸爸没什么用处,afaik。但它确实带来了问题。跳过爸爸对我来说是有意义的,虽然我肯定有人会说这是错误的解决方案。这是我在过去三个月中发现的最好的解决方案,它导致了一个比以往任何时候都好的系统。
发布于 2017-07-04 18:14:38
我的解决方案很简单。我将这两行添加到/etc/netctl/eth0-profile中:
TimeoutUp=300
TimeoutCarrier=300
https://unix.stackexchange.com/questions/373852
复制相似问题