LINUX.ORG.RU
ФорумAdmin

Не стартуют сетевухи


0

1

Система Debian Squeeze без графической оболчки.
Две сетевые карты: eth0 смотрит в интернет, eth1 - в локалку.
Не выявил никаких закономерностей, но все чаще получается следующая ерунда после загрузки(хотя система чистая, только установил):
Ничего не пингуется, в ifconfig отображается только lo и eth0. На ifconfig -a выводит интерфейс eth1-eth0(именно так написано).
Откуда он берется - не понимаю.
Еще одна деталь: при загрузке системы всегда получаю сообщение c подвисанием примерно на минуту:

Waiting for /dev to be fully populated...[   7.422271] Error: Driver 'pcspkr' is already registered, aborting...
А иногда после того как экран мигнет и видеорежим поменяется выходит сообщение
startpar: service(s) returned failure: udev ... failed!
но дальше все нормально работает. Так же очень редко система не ребутится по команде sudo shutdown -r 0. В самом конце зависает.
Как сделать чтобы обе сетевые поднимались при старте системы автоматически и работали как нужно?
user@testingserver:~$ uname -a
Linux testingserver 2.6.32-5-686 #1 SMP Mon Jun 13 04:13:06 UTC 2011 i686 GNU/Linux
user@testingserver:~$ cat /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# WAN
auto eth0
iface eth0 inet static
address 192.168.100.19
netmask 255.255.255.0
broadcast 255.255.255.255
gateway 192.168.100.4

# LAN
auto eth1
iface eth1 inet static  
address 192.168.119.1  
netmask 255.255.255.0


Вообще очень странно, как ставили систему, ошибки загрузки модуля pcspkr не должно быть.

Посмотрите есть у вас такой файл:

/etc/udev/rules.d/70-persistent-net.rules

Удалите из него записи о сетевых картах, или переименуйте его.

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

Ставил с диска buisnescard(с оффсайта скачал образ) там он с сети почти все качает кажется. Файл такой есть. В нем только один PCI device

#комментарии что файл автоматически сгенерирован
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:6c:37:6f:39", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*" , NAME="eth0"
Переименовал файл, после перезагрузки этот файл снова сгенерировался. Никаких отличий с прежним.

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

Вывод lspci, в нём присутствуют два Ethernet контроллера?

Если только один, то нужно обновлять ядро.

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

Так же желательно использовать более новую версию udev, которая есть только в тестовой ветке дистрибутива.

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

2 контроллера: 00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 91) 00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)

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

Вывод

lspci -k 

Используйте lorcode теп code /code в квадратных скобках.

Думаю вам стоит попробовать установить тестовую версию дистрибутива Debiab Wheezy, там и ядро и udev более новых версий.

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

Я принципиально ставил стабильную версию, думая, что с ней будет меньше проблем. Debian ставил впервые. Можно ли обновить только udev из репозитория тестовой ветки, чтобы система не предлагала другие обновления из тестинга и не было никаких конфликтов?

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

lspci -k для первого:

Subsystem: Foxconn International, Inc. Device 0c56
Kernel driver in use: sis900
для второго:
Kernel driver in use: ne2k-pci

Приходится вручную печатать, надеюсь без ошибок)

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

Можно но не поскажу как, ищите в google «Debian apt.conf установка пакета из другого релиза » или «Debian смешивание релизов» или «Debian aptitude смешивание релизов», уже несколько лет не использую Дебиан. Дебиан стабилен, но цикл подкотовки релиза год-полтора, Squeese вышел в начале 2011 года, пакетная база у него годичной давности, ядро 2.6.32 в то время как уже вышло 2.6.39 и осуществлен переход на новую ветку 3.0.1. Если у вас ПК годичной-двух годичной давности то проблем быть не должно, к тому же серверное железо более стандартизировано и не так быстро появляются новые устройства, на этом железе Дебиан прекрасно работает.

Насчёт тестовой ветки дистрибутива не бойтесь у дебиан многоуровневая система тестирования пакета, есть несколько выпусков.

Debian Lenny - старый стабильный релиз 2009 года выходят для него только обновления безопасности.
Debian Squeesy - текущий стабильный релиз, выходят как обновления безопасности, так и новые версии пакетов, переходящие из тестовой ветки.
Debian Wheesy - тестовая ветка, будущий стабильный релиз, тут тестируются пакеты уже не имеющие проблем в работе, пакеты сюда попадают из нестабильного релиза, и иногда передвигаются в стабильный релиз.
Debian SID (Unstable) - не стабильный релиз сюда попадают самые новые версии пакетов, собранные из исходных кодов самых последних версий программ, затем после некоторой стабилизации они попадают в тестируемый релиз, уже хорошо отлаженными и протестированными.

Также вы можете скачать deb пакет и установить уго:

dpkg -i udev-171*.deb

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

Спасибо, попробую. А железо то старое. Точно не знаю, но может более 5 лет.

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

Скормите вывод lspci -n странице http://kmuto.jp/debian/hcl/ и посмотрите, с какой версии ядра появилась поддержка Ваших сетевых карт.

Вы точно уверены в их исправности?

Также было бы интересно посмотреть на вывод dmesg (он большой, загрузите его на pastebin при помощи программы pastebinit).

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

Скормите вывод lspci -n странице http://kmuto.jp/debian/hcl/ и посмотрите, с какой версии ядра появилась поддержка Ваших сетевых карт.

lspci -n на этом сайте:

10390900	Yes	Silicon Integrated Systems [SiS]	SiS900 PCI Fast Ethernet	sis900	v2.6.25-
10ec8029	Yes	Realtek Semiconductor Co., Ltd.	RTL-8029(AS)	ne2k-pci	v2.6.25-

Вы точно уверены в их исправности?

А как можно узнать исправность сетевых карт? Именно на этой системе на этой машине на этих сетевых картах я сделал NAT и все работало.

Также было бы интересно посмотреть на вывод dmesg (он большой, загрузите его на pastebin при помощи программы pastebinit).

Вывод dmesg: http://pastebin.com/bim7zAgb

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

Кстати. Вот что заметил! Соответствия eth0 и eth1 физическим устройствам поменялись вот уже второй раз!(в первый раз сослался на собственную невнимательность).Может и больше раз менялись, но я не просто этого не замечал.

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

Вы удаляли / переименовывали файл 70-persistent-net.rules, в нём указываются имена сетевых интерфейсов.

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

Вы удаляли / переименовывали файл 70-persistent-net.rules, в нём указываются имена сетевых интерфейсов.

В этом файле только эти строки:

#комментарии что файл автоматически сгенерирован
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:6c:37:6f:39", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*" , NAME="eth0"
Сам ничего не менял и не удалял. Впрочем после переименовывания, файл восстановился точно таким же.

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

сейчас снова посмотрел это файл. Там вместо eth0 уже eth1 стоит.

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

Попробуйте переименовать этот файл, и перезагрузитесь и посмотрите вывод

ifconfig -a
kostik87 ★★★★★ ()
Ответ на: комментарий от aaxee

Странно, никаких ошибок.

Попробуйте снять вывод dmesg (и заодно скопировать /var/log/syslog) при той загрузке, которая сопровождается ошибкой запуска udev.

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

Удалил. Перезагрузил машину. На этот раз все интерфейсы были в порядке. ifconfig и ifconfig -a выдавали одно и тоже:

eth0      Link encap:Ethernet  HWaddr 00:01:6c:37:6f:39  
          inet addr:192.168.100.19  Bcast:255.255.255.255  Mask:255.255.255.0
          inet6 addr: fe80::201:6cff:fe37:6f39/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:54 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5469 (5.3 KiB)  TX bytes:678 (678.0 B)
          Interrupt:19 Base address:0xe800 

eth1      Link encap:Ethernet  HWaddr 52:54:05:f1:d3:50  
          inet addr:192.168.119.1  Bcast:192.168.119.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:5ff:fef1:d350/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:246 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:23929 (23.3 KiB)  TX bytes:528 (528.0 B)
          Interrupt:19 Base address:0xec00 

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:28 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2132 (2.0 KiB)  TX bytes:2132 (2.0 KiB) 
Но, мне опять пришлось поменять местами кабели в сетевухах.
После этого пинги пошли.
Снова перезагрузил, заметил, что после
Waiting for /dev to be fully populated...[   7.422271] Error: Driver 'pcspkr' is already registered, aborting...
было примерно такое сообщение (впервые появилось):
udev-work[тут цифры]: cannot change network interface name eth1-eth0 to eth0:File exists
Еше вижу конец вывода сообщения об ошибке
Failed to bring up eth1.
done.
ifconfig -a выдает:
 eth0      Link encap:Ethernet  HWaddr 52:54:05:f1:d3:50  
          inet addr:192.168.100.19  Bcast:255.255.255.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:5ff:fef1:d350/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:30 dropped:0 overruns:0 carrier:60
          collisions:510 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:1908 (1.8 KiB)
          Interrupt:19 Base address:0xec00 

eth1-eth0 Link encap:Ethernet  HWaddr 00:01:6c:37:6f:39  
          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:19 Base address:0xe800 

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:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1456 (1.4 KiB)  TX bytes:1456 (1.4 KiB)

Пинги не идут.
Снова перезагружаю, снова тоже самое. Несколько раз перезагружал - никаких изменений.

Закоментил в /etc/network/interfaces все что касается eth1, после перезагрузки системы обратно переткнул кабель в другую сетевуху - пинги пошли.
В /etc/network/interfaces раскоментил все что касается eth1. Сделал рестарт /etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
Reconfiguring network interfaces...SIOCSIFADDR: No such device
eth1: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
eth1: ERROR while getting interface flags: No such device
Failed to bring up eth1.
done.
Теперь опять сколько не перезагружай, всегда так.
Закомментировал в /etc/network/interfaces строчку auto eth1. Делаю рестарт сети. Теперь ошибки No such device нет, но ifconfig -a по-прежнему c eth1-eth0, вместо eth1. Однако пинги во внешку идут. Снова закомментировал все что касается eth1. Выдергиваю все сетевые кабели. Перезагружаю машину еще раз. Делаю ifconfig -a и удивляюсь:
eth0      Link encap:Ethernet  HWaddr 00:01:6c:37:6f:39  
          inet addr:192.168.100.19  Bcast:255.255.255.255  Mask:255.255.255.0
          UP BROADCAST RUNNING 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:19 Base address:0xe800 

eth1      Link encap:Ethernet  HWaddr 52:54:05:f1:d3:50  
          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:19 Base address:0xec00 

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:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1456 (1.4 KiB)  TX bytes:1456 (1.4 KiB)
Откуда взялся eth1??? Залез в /etc/network/interfaces чтобы проверить. Все точно. Закоменчено, я не ошибся.
Раскоменчиваю. Рестартую сеть. Теперь все как должно быть в ifconfig. Подсоединяю кабели так как они стояли. Нет пингов. Меняю местами - пинги есть. Чудеса, товарищи. Я не понимаю))

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

Если я правильно понял у вас udev не может корректно назначит имена сетевым картам, к тому же создаёт запись только для одной карты ? Попробуйте назначить имена вручную, создав свой файл правил с именем, предроложим, 70-net.rules и скопируйте в него правило из 70-persistent-net.rules для одной карты, затем для другой указав соответствующие мак адреса и различные имена.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="<mac адрес первой карты>", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*" , NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="<mac фдрес второй карты>", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*" , NAME="eth1"

Мы выбираем такое имя для файла, чтобы udev его не пересоздавал и не вносил изменения.

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

Снова перезагрузил машину и опять ошибка udev и опять в ifconfig -a находится eth1-eth0.
Снова пришлось переставить кабель в другую сетевуху(я файлы выводов по ssh копирую)
Прямо из этого состояния:
dmesg http://pastebin.com/QXvs2PyL
/var/log/syslog(только конец файла) http://pastebin.com/gW24fWMz/url]

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

Сделал как Вы посоветовали и еще удалил 70-persistent-net.rules. После перезагрузки все заработало! Даже несколько раз перезагрузил, чтобы убедиться) Спасибо большое!
Однако при загрузке все равно висит

Waiting for /dev to be fully populated...[   7.422271] Error: Driver 'pcspkr' is already registered, aborting...

Ну и лирическое отступление. Я первый раз делаю шлюз для организации. Раньше сидел на убунту. Там никаких таких проблем не было. Но раз дело серьезное, подумал, что надо ставить самый стабильный дистрибутив. Стабильный Debian что-то после таких плясок разочаровал.

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

Ну это связано с udev, не знаю за всё время использования Debian, а это 2 года, сейчас я использую Gentoo уже года 4 у меня не было таких проблем, может каонечно в сделали некоторую ошибку во время установки Дебиан, хотя бы просто согласились с предложенным не вчитываясь, либо всё же что то напутали разработчики с udev. Насчёт стабильности: не рассматривайте Дебиан предвзято после этого случая, по сравнению с Ubuntu Дебиан требует некоторго большего понимания что делаешь и уровня знаний, в остальном этот дистрибутив наиболее стабильный и придерживающийся соих канонов развития.

Что бы убрать сообщение об ошибке udev добавьте модуль pcskr в «чёрный список» загрузки (blacklist), вот руководство: http://wiki.debian.org/KernelModuleBlacklisting

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

Еще раз спасибо. Приятно читать такие адекватные комментарии, а то иной раз глянешь на лор, и даже задавать вопроса не станешь))

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

Стараюсь писать развёрнуто, что бы задающему было понятно почему нужно сделать так, как следствие ответ получается достаточно объёмным, потому как сам помню когда искал информацию по проблемам и задавал вопросы, мне давали некоторые действия или давали наводку, а я не понимал что они делают, из-за недостатка знаний не мог выявить ошибку, поэтому стараюсь давать такие пояснения, что бы задающему вопрос было ясно почему я предлагаю такое решение и что бы он сам получал знание, которое ценно только в том случае, если ты понимаешь его.

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