This is an old revision of the document!
Table of Contents
PLD udev FAQ (udev-0.79-5)
Jaki kernel jest zalecany do prawidłowego działania udev/udev-hotplug?
Minimalna zalecana wersja to 2.6.15.x. Ze staszymi udev i HAL nie będą poprawnie działać co objawi się problemami z automountowaniem urządzeń.
Udev nie ładuje mi wszystkich modułów!
…bo ładuje tylko moduły urządzeń PCI spełniający warunek zawarty w regułach udev. Reguły te dopuszczają automatyczne ładowanie modułów tylko dla wewnętrznych urządzeń (hubów) USB jak uhci-hcd
czy ehci-hcd
.
Jeśli chcesz aby moduły wszystkich urządzeń załadowały się automatycznie włącz udevsynthesize w /etc/udev/udev.conf
.
Jeśli chcesz aby udev nie ładował jakiegoś modułu w tym trybie to rzuć okiem na udev-blacklist.conf w /etc/modprobe.d
Co z hotplugiem?
Hotplug zawarty w obecnym udev zastępuje całkowicie stary hotplug. Równoległe instalowanie ich obu jest nadzwyczaj niewskazane.
Chcę podłączyć mój aparat cyfrowy/skaner/inne urządzenie usb do komputera. Czy muszę mountować /proc/bus/usb z opowiednimi prawami?
Absolutnie nie. Dopisz się do grupy usb i zainstaluj libusb w wersji co najmniej 0.1.10a. Jeśli chcesz zgrać zdjęcia z aparatu pomocnym może okazać się hal-gphoto.
Czy udev może automatycznie mountować znalezione partycje czy napędy cd?
Nie. Tym zajmują się wyspecjalizowane programy jak ivman czy gnome-volume-manager + gnome-mount.
Używam nvidia-legacy i nie tworzy się plik urządzenia /dev/nvidia*!
To problem sterowników nvidia (legacy). udev nie ma z tym nic wspólnego.
Czy muszę dopisywać do /etc/modprobe.conf alias usb-controller?
Nie. Moduły *-hcd
są ładowane automatycznie.
Mam kilka kart sieciowych w komputerze, udev jednak sam ustawia im nazwy!
tylko udevsynthesize
Rozwiązaniem jest dodanie reguły o nazwie np. 09-network.rules
ACTION!="add", GOTO="local_end" SUBSYSTEM!="net", GOTO="local_end" DRIVER=="?*", SYSFS{address}=="00:11:22:33:44:55", \ SYSFS{device}=="0x1111", NAME="wireless" DRIVER=="?*", SYSFS{address}=="00:01:02:03:04:05", \ SYSFS{device}=="0x2222", NAME="lan" DRIVER=="?*", SYSFS{address}=="00:55:66:44:33:22:11:00", \ SYSFS{device}=="0x3333", NAME="firewire" LABEL="local_end"
SYSFS{device} uzyskamy za pomocą:
udevinfo -q all -a -p /sys/class/net/nazwa_interface
lub poprzez lspci
.
udev tworzy niektóre pliki urządzeń z złymi uprawnieniami!
Dla urządzeń, których sterowniki nie są w stanie porozumieć się z udev, przy jego starcie tworzone są pliki urządzeń z /etc/udev/links.conf
. Aby nie zmieniać uprawnień przy każdym stacie systemu wystarczy skopiować interesujący nas plik urządzenia do /lib/udev/devices
, nadać mu prawa jakie trzeba i zapomnieć o problemie.
Mam problem, na który tu nie znalazłem odpowiedzi. Jak go zdiagnozować?
Ustaw udev_log na “info” w /etc/udev/udev.conf
lub przy pomocy: udevcontrol log_priority=info
aby zwiększyć gadatliwość udeva, użyj udevmonitora (man udevmonitor) aby wyciągnąć jeszcze więcej informacji, zajrzyj do archiwum listy linux-hotplug http://marc.theaimsgroup.com/?l=linux-hotplug-devel. Jeśli nadal masz wątpliwości zapytaj na pld-users.