Regułki dla udev (było: udev a kolejność ładowania modułów)
Fryderyk Dziarmagowski
freetz w gmx.net
Śro, 10 Maj 2006, 18:58:00 CEST
--- Łukasz Maśko <masko w ipipan.waw.pl> wrote:
> Dnia wtorek, 9 maja 2006 08:59, Łukasz Maśko napisał:
> [...]
> > Trochę czasu minęło, czas na feedback. Otóż po dodaniu takich regułek jak
> > powyżej na moim laptopie wszystko zdaje się działać jak należy. To
> > znaczy, przez ostatnich kilka(naście) restartów systemu zawsze interfejsy
> > były oznaczane we właściwy sposób (eth0 = ethernet, eht1 = WiFi). A mi
> > dokładnie o to chodziło, więc dzięki za pomoc :-)
>
> Korekta. Za szybko pochwaliłem. Dzisiaj ni stąd ni z owąd znów stawianie
> interfejsów poszło w maliny (w złej kolejności tudzież otrzymały złe
> nazwy). Efektem dodatkowym wynikłym z obecności regułek był taki komunikat:
>
> udevd-event[2015]: rename_net_if: error changing net interface name: File
> exists
>
> Mój wniosek: same regułki działają poprawnie, ale do d... jest mechanizm
> ładowania modułów przez udev, który olewa jakiekolwiek reguły (np. z
> modprobe.conf) i ładuje moduły w takiej kolejności jak mu się podoba
> (zapewne jak mu wyjdzie z wykrywania urządzeń na PCI). A po załadowaniu
> urządzenia z jakichś powodów nie obsługuje zamiany nazw we właściwej
> kolejności lub nie nadąża z robieniem tego (czyżby aplikowanie regułek było
> robione równolegle do ładowania modułów, bo objaw jest taki jakby
> występował jakiś "race conflict").
utwórz 05-early.rules z zawartością:
# sysfs is populated after the event is sent
ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", \
WAIT_FOR_SYSFS="busACTION=="add", SUBSYSTEM=="scsi", \
WAIT_FOR_SYSFS="ioerr_cnt"
# only needed for kernels < 2.6.16
SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"
# only needed for kernels < 2.6.17
SUBSYSTEM=="net", ENV{PHYSDEVDRIVER}=="?*", \
WAIT_FOR_SYSFS="device/driver"
niestety hotplug w wykonaniu udev ma problemy z interfejsami
sieciowymi. próbowałem w swojej maszynie uruchomić i zmienić nazwy 3
interfejsów (z udev z HEAD) niestety bez powodzenia. gdzieś czytałem że
problemy rozwiązuje kernel 2.6.17, ale z braku czasu, nie było mi dane
sprawdzić.
--
Fryderyk Dziarmagowski
Więcej informacji o liście dyskusyjnej pld-users-pl