On Fri, May 19, 2006 at 06:52:39PM +0300, Sviatoslav Sviridov wrote: > интерфейс у меня сконфигурен так, чтобы поднимался хотплагом... и > симптомы все ведут к нему... > А на самом деле оказалось, что в этой же системе, но под ядром > 2.6.12-wks26 все работает, а под 2.6.16-wks26 не работает.. Т.е. на > этапе загрузки хотплаг типа не видит сетевую карту... > > А вот еще один testcase: > если на 2.6.12-wks26 (там, где сеть поднялась) сделать ifdown eth0 и > /etc/hotplug/pci.rc start, то сеть, конечно же, не поднимается, зато > если сначала еще и модуль сетевой карты выгрузить (rmmod ), > то сеть поднимается снова через /etc/hotplug/pci.rc start. > > Оказалось, что на 2.6.16-wks26 rmmod && /etc/hotplug/pci.rc > start тоже поднимает сеть... более того, rmmod && modprobe > тоже поднимает сеть! > > Чего не так при загрузке? кто-то загружает модуль до того, как > hotplug+etcnet смогут обработать это событие? Кто? и почему тогда на > 2.6.12 работает? udev используется? Последние версии udev действительно грузят все модули, какие только может найти, при запуске сервиса udevd, который запускается раньше network; события hotplug приходят тоже раньше, их обработчик из etcnet видит, что сервис network не запущен, и игнорирует события. Т.е., с последним udev USE_HOTPLUG=yes в etcnet фактически неработоспособен (точнее, будет работать только для интерфейсов, появляющихся позже - в эту категорию не попадает даже USB, поскольку устройство может быть подключено и до загрузки ОС, и в этом случае может быть обнаружено раньше запуска сервиса network). > ...ну вот, проверил еще и при USE_HOTPLUG=no. В этом случае сеть > поднимается нормально во время "Starting network" (при этом ругань от > dhcpcd сыпется прямо в консоль). Да, так должно работать (за вычетом известных граблей с переименованием интерфейсов).