Я использую старый компьютер в качестве домашнего сервера/брандмауэра с дистрибутивом на базе Linux (Mandriva). Изначально в нем было две сетевые карты, eth0
являющиеся адаптером материнской платы, а также eth1
сетевой картой PCI 10/100.
eth0
был подключен к внутреннему коммутатору, к которому подключены другие устройства, и eth1
был подключен к маршрутизатору интернет-приставки.
Со временем и появлением новых вариантов использования я добавил две гигабитные сетевые карты PCI (DLink DGE-528T), которые, таким образом, стали eth2
и eth3
, используемые для той же функциональности, что и карта, которую они заменяют. То есть, eth2
подключены к внутреннему коммутатору и eth3
подключены к маршрутизатору.
Все работало нормально, пока несколько недель назад я не заметил, что потерял соединение, eth3
и, взглянув на саму карту, кабель больше не «щелкал» при вставке в разъем. Как оказалось, с кабелями были некоторые нарушения, из-за которых разъем RJ45 погнулся и стал ненадежным.
Итак, я решил заменить eth3
его на новую гигабитную карту (TP-LINK TG-3269), у которой, похоже, не такой хрупкий разъем. Эта карта так называется eth4
и eth3
была полностью удалена с сервера.
Однако, похоже, я не могу заставить эту новую карту работать с маршрутизатором, светодиоды сзади никогда не загораются при подключении к нему. И, конечно же, ifplugd
оба ethtool
показывают, что соединение не установлено. В качестве временного решения я снова использую, eth1
чтобы сервер продолжал выполнять свою задачу, хотя и в пониженном режиме.
Я думал, что карта «тостовая», но я попробовал несколько вариантов и получил странные результаты, которые я подытожу здесь:
- Подключитесь
eth4
к внутреннему коммутатору: светодиоды горят, соединение установлено на скорости 1000 Мбит - Подключиться : светодиоды
eth4
горятeth0
, соединение установлено на скорости 100 Мбит - Подключаемся
eth2
к роутеру: светодиоды горят, соединение установлено на скорости 1000 Мбит
Похоже, маршрутизатор не хочет взаимодействовать с моей eth4
картой по какой-то причине, которую я не могу объяснить.
Просматривая различные темы, несколько похожие на мою проблему, я обнаружил инструмент mii-diag
и запустил его сначала без кабеля, а затем с подключенным кабелем маршрутизатора. Вот результаты:
[obones@server ~]$ sudo mii-diag eth4
Basic registers of MII PHY #32: 1000 7949 001c c913 0de1 0000 0004 2001.
Basic mode control register 0x1000: Auto-negotiation enabled.
Basic mode status register 0x7949 ... 7949.
Link status: not established.
End of basic transceiver information.
[obones@server ~]$ sudo mii-diag eth4
Basic registers of MII PHY #32: 1000 7949 001c c913 0de1 c5e1 000f 2001.
The autonegotiated capability is 01e0.
The autonegotiated media type is 100baseTx-FD.
Basic mode control register 0x1000: Auto-negotiation enabled.
Basic mode status register 0x7949 ... 7949.
Link status: not established.
Your link partner advertised c5e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT, w/ 802.3X flow control.
End of basic transceiver information.
Я знаю, что это mii-diag
не поддерживает гигабитные скорости, но мне интересно то, что во втором случае он обнаруживает наличие партнера по соединению, но соединение все равно не устанавливается.
В чем может быть причина? Что мне попробовать дальше?
При необходимости приведем несколько дополнительных подробностей.
Маршрутизатор определенно поддерживает гигабит и работал на этой скорости нормально до eth3
того, как сломался коннектор. При подключении к eth2
, он работал также на гигабитной скорости.
dmesg -T | grep eth4
ничего не выводит
Вот вывод lspci:
00:0a.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet [10ec:8169] (rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet [10ec:8169]
00:0b.0 Ethernet controller [0200]: D-Link System Inc DGE-528T Gigabit Ethernet Adapter [1186:4300] (rev 10)
Subsystem: D-Link System Inc DGE-528T Gigabit Ethernet Adapter [1186:4300]
00:0d.0 Ethernet controller [0200]: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 [8086:1229] (rev 08)
00:13.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10)
И еще один от lshw:
*-network:0
description: Ethernet interface
product: RTL-8169 Gigabit Ethernet
vendor: Realtek Semiconductor Co., Ltd.
physical id: a
bus info: pci@0000:00:0a.0
logical name: eth4
version: 10
serial: 14:cc:20:05:38:22
size: 10MB/s
capacity: 1GB/s
width: 32 bits
clock: 66MHz
capabilities: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half latency=64 link=no maxlatency=64 mingnt=32 multicast=yes port=MII speed=10MB/s
resources: irq:18 ioport:a000(size=256) memory:f7109000-f71090ff memory:c0180000-c019ffff(prefetchable)
*-network:1
description: Ethernet interface
product: DGE-528T Gigabit Ethernet Adapter
vendor: D-Link System Inc
physical id: b
bus info: pci@0000:00:0b.0
logical name: eth2
version: 10
serial: 1c:7e:e5:26:54:a0
size: 1GB/s
capacity: 1GB/s
width: 32 bits
clock: 66MHz
capabilities: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full ip=10.10.10.254 latency=64 link=yes maxlatency=64 mingnt=32 multicast=yes port=MII speed=1GB/s
resources: irq:19 ioport:a400(size=256) memory:f710b000-f710b0ff memory:c01a0000-c01bffff(prefetchable)
*-network:2
description: Ethernet interface
product: 82557/8/9/0/1 Ethernet Pro 100
vendor: Intel Corporation
physical id: d
bus info: pci@0000:00:0d.0
logical name: eth1
version: 08
serial: 00:90:27:ca:ba:e8
size: 100MB/s
capacity: 100MB/s
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e100 driverversion=3.5.24-k2-NAPI duplex=full firmware=N/A ip=192.168.1.253 latency=64 link=yes maxlatency=56 mingnt=8 multicast=yes port=MII speed=100MB/s
resources: irq:17 memory:f710a000-f710afff ioport:ac00(size=64) memory:f7000000-f70fffff memory:c0000000-c00fffff(prefetchable)
*-network:3
description: Ethernet interface
product: RTL-8139/8139C/8139C+
vendor: Realtek Semiconductor Co., Ltd.
physical id: 13
bus info: pci@0000:00:13.0
logical name: eth0
version: 10
serial: 00:14:85:c0:ea:2b
size: 10MB/s
capacity: 100MB/s
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=8139too driverversion=0.9.28 duplex=half ip=10.10.10.250 latency=64 link=no maxlatency=64 mingnt=32 multicast=yes port=MII speed=10MB/s
resources: irq:18 ioport:e000(size=256) memory:f710d000-f710d0ff
Думаете ли вы, что принудительное включение eth4
карты на гигабит без автосогласования решит эту проблему? Если я прав, команда будет такой:
ethtool -s eth4 duplex full speed 1000 autoneg off
Я попробую сегодня вечером, но почему не получается сразу?
решение1
Ну, теперь я знаю, почему eth4
не устанавливается соединение, и это пришло ко мне после того, как я немного повозился с кабелями. Что следует знать, так это то, что даже если это дома, я использую коммутационный отсек для распределения различных соединений. Это означает, что сервер подключается к маршрутизатору через такое расположение:
server <--> cable <--> plug <--> wall <--> plug <--> patch bay <--> plug <--> router
В своем первом сообщении я сказал, что eth2
подключусь к маршрутизатору на скорости 1G, и на тот момент это было верно.
Но я попробовал снова на этой неделе, и это больше не случалось, что сразу заставило меня понять, что первоначальные проблемы, с которыми я столкнулся, eth3
были после некоторого злоупотребления кабелем. И, конечно же, использование другой вилки на стене для подключения к коммутационному отсеку позволило eth4
правильно подключиться к маршрутизатору на скорости 1G.
Так что, в конце концов, это связано с оборудованием, но не с тем, которое я ожидал.
Большое спасибо всем, кто прокомментировал мою проблему, я узнал от вас немало трюков, и извините за то, что потратил ваше время, когда мне следовало более тщательно проверить кабели.