This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
pl:docs:udevfaq [2007-08-13 12:59] grizz SPAM |
pl:docs:udevfaq [2010-10-13 12:46] (current) Mateusz Korniak |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | /* page was renamed from pl/UdevFAQ */ | ||
Line 23: | Line 24: | ||
- | ===== Chcę podłączyć mój aparat cyfrowy/skaner/inne urządzenie usb do komputera. Czy muszę mountować /proc/bus/us` z opowiednimi prawami? ===== | + | ===== 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. | 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. | ||
Line 44: | Line 45: | ||
===== Mam kilka kart sieciowych w komputerze, udev jednak sam ustawia im nazwy! ===== | ===== Mam kilka kart sieciowych w komputerze, udev jednak sam ustawia im nazwy! ===== | ||
- | **tylko udevsynthesize** | + | W Ac tylko **udevsynthesize** |
- | Rozwiązaniem jest dodanie reguły o nazwie np. 09-network.rules | + | Rozwiązaniem jest dodanie reguły o nazwie np. 09-network.rules, w której możemy zmienić nazwy urządzeń za pomocą mac-adresu i identyfikatorze urządzenia |
<file> ACTION!="add", GOTO="local_end" | <file> ACTION!="add", GOTO="local_end" | ||
SUBSYSTEM!="net", GOTO="local_end" | SUBSYSTEM!="net", GOTO="local_end" | ||
- | DRIVER=="?*", SYSFS{address}=="00:11:22:33:44:55", \ | + | DRIVERS=="?*", ATTRS{address}=="00:11:22:33:45:45", ATTRS{device}=="0x0900", NAME="wireless" |
- | SYSFS{device}=="0x1111", NAME="wireless" | + | DRIVERS=="?*", ATTRS{address}=="aa:bb:aa:cc:aa:dd", ATTRS{device}=="0x0900", NAME="lan" |
- | DRIVER=="?*", SYSFS{address}=="00:01:02:03:04:05", \ | + | DRIVERS=="?*", ATTRS{address}=="00:aa:22:bb:33:dd", ATTRS{device}=="0x0900", NAME="firewire" |
- | SYSFS{device}=="0x2222", NAME="lan" | + | |
- | DRIVER=="?*", SYSFS{address}=="00:55:66:44:33:22:11:00", \ | + | |
- | SYSFS{device}=="0x3333", NAME="firewire" | + | |
LABEL="local_end" | LABEL="local_end" | ||
</file> | </file> | ||
- | SYSFS{device} uzyskamy za pomocą: | + | w przypadku urządzeń tego samego rodzaju (tu eth*) można identyfikować po samym mac-adresie: |
- | <file>udevinfo -q all -a -p /sys/class/net/nazwa_interface | + | |
+ | |||
+ | <file> ACTION!="add", GOTO="local_end" | ||
+ | SUBSYSTEM!="net", GOTO="local_end" | ||
+ | KERNEL!="eth*", GOTO="local_end" | ||
+ | |||
+ | DRIVERS=="?*", ATTR{address}=="00:05:5d:6d:1a:07", NAME="eth0" | ||
+ | DRIVERS=="?*", ATTR{address}=="00:50:04:3c:a6:6f", NAME="eth1" | ||
+ | DRIVERS=="?*", ATTR{address}=="00:a0:d2:1d:22:73", NAME="eth2" | ||
+ | |||
+ | LABEL="local_end" | ||
</file> | </file> | ||
- | lub poprzez ''lspci''. | + | ATTR{device} i ATTR{address} uzyskamy za pomocą: |
+ | |||
+ | <file># udevadm info -a -p /sys/class/net/eth0 | ||
+ | </file> | ||
+ | zaś sam mac-adres także za pomocą | ||
+ | |||
+ | <file># ip a | ||
+ | </file> | ||
+ | Aby sprawdzić czy regułki są prawidłowe musimy sprawdzić każdą kartę z osobna | ||
+ | |||
+ | <file># udevadm test /sys/class/net/eth0 | ||
+ | </file> | ||
+ | interesuje nas komunikat: //udev_rules_apply_to_event: NAME 'eth0' // | ||
Line 71: | Line 91: | ||
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. | 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. | ||
+ | |||
+ | |||
+ | ===== Jak przeładować udev ? ===== | ||
+ | |||
+ | |||
+ | <file>udevadm control --reload-rules | ||
+ | </file> | ||
+ | |||
+ | |||
+ | ===== Jak debuggować udev ? ===== | ||
+ | Włączyć debuggowanie: | ||
+ | |||
+ | <file>udevadm control --log-priority=debug | ||
+ | </file> | ||
+ | i zobaczyć co wpada do '/var/log/daemon'. | ||
+ | |||
+ | Podejrzeć zdarzenia kernela i udev: | ||
+ | |||
+ | <file>udevadm monitor --udev --kernel | ||
+ | </file> | ||
===== Mam problem, na który tu nie znalazłem odpowiedzi. Jak go zdiagnozować? ===== | ===== 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|http://marc.theaimsgroup.com/?l=linux-hotplug-devel]]. Jeśli nadal masz wątpliwości zapytaj na pld-users. | 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|http://marc.theaimsgroup.com/?l=linux-hotplug-devel]]. Jeśli nadal masz wątpliwości zapytaj na pld-users. | ||
+ | |||
+ | |||
+ | [[:CategoryUpdateNeeded|CategoryUpdateNeeded]] | ||