LINUX.ORG.RU

Периодически отваливается сетевая карта


0

0

Всем доброй ночи.

В один злополучный день я сменил сетевую карту.
После этого в логах я вижу следующее:
# dmesg |tail
[ 877.830305] eth1: link down
[ 879.409149] eth1: link up, 100Mbps, full-duplex, lpa 0x41E1
[ 905.384991] eth1: link down
[ 906.984884] eth1: link up, 100Mbps, full-duplex, lpa 0x41E1
[ 907.368528] eth1: link down
[ 908.966559] eth1: link up, 100Mbps, full-duplex, lpa 0x41E1
[ 919.337463] eth1: link down
[ 920.940509] eth1: link up, 100Mbps, full-duplex, lpa 0x41E1
[ 923.757822] eth1: link down
[ 925.365211] eth1: link up, 100Mbps, full-duplex, lpa 0x41E1

На старой карте такого, разумеется, не было. У предыдущего хозяина (у него была XP) никаких нареканий не было. При подключении этой же карты через роутер DL-524UP никаких разрывов :-) нет. Инет, и напрямую и через роутер, получаю по dhcp. Старая сетевая именовалась как eth0, текущая именуется, соответственно, eth1.

# lspci
02:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth1
iface eth1 inet dhcp

Что посоветуете?


ну можно было бы посоветовать убиться об стену, или воспольоваться поиском по ЛОРу,
но я сёння добрый, я посоветую посмотреть /etc/udev/rules.d/70-persistent-net.rules
опупеть, почесать нос, подумать и сделать всё правильно и не парить людЯм моск.

novitchok ★★★★★
()
Ответ на: комментарий от novitchok

Вот так /root/udev/rules.d/70-persistent-net.rules выглядит у меня:

# PCI device 0x1106:0x3106 (via-rhine)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:17:9a:05:b2:a4", NAME="eth0"

# PCI device 0x1106:0x3106 (via-rhine)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:17:9a:bc:55:84", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"



Что я попробовал.
Удалил вторую строку:

# PCI device 0x1106:0x3106 (via-rhine)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:17:9a:05:b2:a4", NAME="eth0"

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

- никакого эффекта, линк падает каждые 5-10 секунд.



Удалил первую и вторую строки:

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

- никакого эффекта, линк падает каждые 5-10 секунд.



Удалил все строки, кроме первой, поправил мак:

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", KERNEL=="eth*", NAME="eth0"

Поправил /etc/network/interfaces (как Вы посоветовали):

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp


Перезапустил udev, интерфейс не поднимается:
# ifup eth0
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0.

Выяснил, что udev (видимо, при перезапуске) дописывает в конец файла прописанную выше сетевую, но уже под именем eth1:
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


Есть способ отучить его делать это? И ещё было бы здорово избавиться от ошибки при поднятии интерфейса eth0.

vkapas
() автор топика
Ответ на: комментарий от vkapas

> Есть способ отучить его делать это? И ещё было бы здорово избавиться от ошибки при поднятии интерфейса eth0.

А ты в строке, которую добавляет udev, замени eth1 на eth0. Разве так сложно догадаться?

Deleted
()

> На старой карте такого, разумеется, не было. У предыдущего хозяина (у него была XP) никаких нареканий не было. При подключении этой же карты через роутер DL-524UP никаких разрывов :-) нет. Инет, и напрямую и через роутер, получаю по dhcp. Старая сетевая именовалась как eth0, текущая именуется, соответственно, eth1.

Либо это индивидуальная несовместимость карты с роутером, либо где-то перебита витая пара, а сетевая карта (или роутер) выдают слишком слабый сигнал. В результате карточка иногда начинает думать, что линк пропадает.

Deleted
()

Всем спасибо за советы, проблема оказалась, как это часто бывает, в ДНК пользователя; а точнее -- в пробитом кабеле :-)

vkapas
() автор топика
Ответ на: комментарий от Deleted

И всё-таки интересно было бы разобраться с нумерацией сетевых карт.

>А ты в строке, которую добавляет udev, замени eth1 на eth0.


Уже менял, перезапускал udev, поднимал eth0, и всё равно:
Ignoring unknown interface eth0=eth0

vkapas
() автор топика
Ответ на: комментарий от Deleted

Сейчас:
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


Пробовал варианты:
1.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
2.
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", KERNEL=="eth*", NAME="eth0"


Ошибка одна и та же всегда:
Ignoring unknown interface eth0=eth0

vkapas
() автор топика
Ответ на: комментарий от vkapas

1. Отключи сеть (инит-скриптами)
2. Выгрузи драйвер:

rmmod 8139too

3. Сделай так, чтобы строка в /etc/udev/rules.d/70-persistent-net.rules выглядела как

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

4. Загрузи драйвер:

modprobe 8139too

5. Включи сеть

В качестве альтернативы - пункт 3, а после него перезагрузи компьютер =).

Deleted
()
Ответ на: комментарий от Deleted

Сделал, как вы написали (пробовал перезагружаться). В /etc/networking/interfaces тоже всё поправил.

Ничего не помогает, постоянно пишет:
Ignoring unknown interface eth0=eth0

vkapas
() автор топика

Гыгыгы.
У меня было точно так же. Вылечилось после того как поменял опции для realtek8* в конфиге ядра. Там их две. А вот что на что поменял не помню.
Так что придётся вам методом тыка. Что довольно изнурительно по той причине что отваливается она через довольно длительное время.
Сейчас этого ужоса нет, т.к. сетевуха другая.

darkshvein ☆☆
()
Ответ на: комментарий от Deleted

>И постоянно меняет файл /etc/udev/rules.d/70-persistent-net.rules

Нет, файл уже не меняется.


1.Отключаю сеть:

# /etc/init.d/networking stop
Deconfiguring network interfaces...There is already a pid file /var/run/dhclient.eth1.pid with pid 2676
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/eth1/00:13:8f:b3:72:71
Sending on LPF/eth1/00:13:8f:b3:72:71
Sending on Socket/fallback
DHCPRELEASE on eth1 to 88.201.224.2 port 67
Reloading /etc/samba/smb.conf: smbd only.
done.

2. Выгружаю драйвер:

# rmmod 8139too

3. Меняю /etc/network/interfaces (с eth1 на eth0) и строку /etc/udev/rules.d/70-persistent-net.rules на:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

4. Загружаю драйвер:

# modprobe 8139too

5. Стартую сеть

# /etc/init.d/networking start
Configuring network interfaces...done.

6. Сам интерфейс не поднимается. Пробую вручную:

# ifup eth0
Ignoring unknown interface eth0=eth0.

7. dmesg |tail

[78705.585579] ACPI: PCI interrupt for device 0000:02:05.0 disabled
[78742.855842] 8139too Fast Ethernet driver 0.9.28
[78742.855890] ACPI: PCI Interrupt 0000:02:05.0[A] -> GSI 22 (level, low) -> IRQ 22
[78742.857091] eth0: RealTek RTL8139 at 0xb800, 00:13:8f:b3:72:71, IRQ 22
[78742.857096] eth0: Identified 8139 chip type 'RTL-8101'


Если перезагружать машину, происходит то же самое:
Ignoring unknown interface eth0=eth0.

vkapas
() автор топика
Ответ на: комментарий от Deleted

# dmesg
http://ifolder.ru/13869249
(пароль -- 8139)

# ifconfig -a
eth1 Link encap:Ethernet HWaddr 00:13:8f:b3:72:71
inet addr:88.201.235.30 Bcast:88.201.239.255 Mask:255.255.240.0
inet6 addr: fec0::a:213:8fff:feb3:7271/64 Scope:Site
inet6 addr: 2002:58c9:e781:a:213:8fff:feb3:7271/64 Scope:Global
inet6 addr: fe80::213:8fff:feb3:7271/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19670 errors:0 dropped:0 overruns:0 frame:0
TX packets:21100 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3928574 (3.7 MiB) TX bytes:21579847 (20.5 MiB)
Interrupt:22 Base address:0xb400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:298 errors:0 dropped:0 overruns:0 frame:0
TX packets:298 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:28054 (27.3 KiB) TX bytes:28054 (27.3 KiB)

pan0 Link encap:Ethernet HWaddr ee:05:bd:09:51:68
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)



1. Отключаю сеть (инит-скриптами)
2. Выгружаю драйвер: # rmmod 8139too
3. Делаю так, чтобы строка в /etc/udev/rules.d/70-persistent-net.rules выглядела как
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:8f:b3:72:71", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
3.1. Меняю в /etc/network/interfaces eth1 на eth0
4. Перезагружаю компьютер.



# dmesg
http://ifolder.ru/13869273
(пароль -- 8139)

# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:13:8f:b3:72:71
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:22 Base address:0xb400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:48 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3696 (3.6 KiB) TX bytes:3696 (3.6 KiB)

pan0 Link encap:Ethernet HWaddr 26:7f:a4:d4:4a:90
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

vkapas
() автор топика
Ответ на: комментарий от vkapas

> eth0 Link encap:Ethernet HWaddr 00:13:8f:b3:72:71

Всё нормально, eth1 переименовался в eth0.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.