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