User Tools

Site Tools


pl:docs:udevfaq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
pl:docs:udevfaq [2006-12-15 22:06]
qwiat
pl:docs:udevfaq [2010-10-13 12:46] (current)
Mateusz Korniak
Line 1: Line 1:
 +/* page was renamed from pl/UdevFAQ */
  
  
 ====== PLD udev FAQ (udev-0.79-5) ====== ====== PLD udev FAQ (udev-0.79-5) ======
-#1 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! +===== 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ń. ​
  
  
-  * ..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 ​ 
-3. Co z hotplugiem? ​ 
  
 +===== 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''​. ​
  
-  * Hotplug zawarty w obecnym udev zastępuje całkowicie stary hotplug. Równoległe instalowanie ich obu jest nadzwyczaj niewskazane.  +Jeśli chcesz aby moduły wszystkich urządzeń załadowały się automatycznie włącz udevsynthesize ​ w ''​/etc/udev/​udev.conf''​
-4. Chcę podłączyć mój aparat cyfrowy/skaner/inne urządzenie usb do komputera+
  
 +Jeśli chcesz aby udev nie ładował jakiegoś modułu w tym trybie to rzuć okiem na udev-blacklist.conf w ''/​etc/​modprobe.d'' ​
  
-  * 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. ​ 
-5. 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 +===== Co z hotplugiem? ===== 
-6Używam nvidia-legacy i nie tworzy się plik urządzenia /​dev/​nvidia*! ​+Hotplug zawarty w obecnym udev zastępuje całkowicie stary hotplugRównoległe instalowanie ich obu jest nadzwyczaj niewskazane
  
  
-  * To problem sterowników nvidia (legacy). udev nie ma z tym nic wspólnego. ​ 
-7. Czy muszę dopisywać do /​etc/​modprobe.conf alias usb-controller ?  
  
 +===== 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. ​
  
-  * Nie. Moduły *-hcd są ładowane automatycznie. ​ 
-8. 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",​ \  +===== Czy udev może automatycznie mountować znalezione partycje czy napędy cd? ===== 
-    * SYSFS{device}=="​0x1111",​ NAME="​wireless" ​ +Nie. Tym zajmują się wyspecjalizowane programy jak ivman czy gnome-volume-manager + gnome-mount
-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 --p /​sysfs/​class/​net/​nazwa_interface lub poprzez lspci +
-9. 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. ​ 
-10. Mam problem, na który tu nie znalazłem odpowiedzi. Jak go zdiagnozować? ​ 
  
 +===== 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! =====
 +W Ac tylko **udevsynthesize** ​
 +
 +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"​
 +   ​SUBSYSTEM!="​net",​ GOTO="​local_end"​
 +
 +   ​DRIVERS=="?​*",​ ATTRS{address}=="​00:​11:​22:​33:​45:​45",​ ATTRS{device}=="​0x0900",​ NAME="​wireless"​
 +   ​DRIVERS=="?​*",​ ATTRS{address}=="​aa:​bb:​aa:​cc:​aa:​dd",​ ATTRS{device}=="​0x0900",​ NAME="​lan"​
 +   ​DRIVERS=="?​*",​ ATTRS{address}=="​00:​aa:​22:​bb:​33:​dd",​ ATTRS{device}=="​0x0900",​ NAME="​firewire"​
 +
 +   ​LABEL="​local_end"​
 +</​file>​
 +w przypadku urządzeń tego samego rodzaju (tu eth*) można identyfikować po samym mac-adresie: ​
 +
 +
 +
 +<​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>​
 +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'​ // 
 +
 +
 +
 +===== 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. ​
 +
 +
 +
 +===== 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ć?​ =====
 +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]] ​
  
-  * 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. ​ 
  
pl/docs/udevfaq.1166216774.txt.gz · Last modified: 2006-12-15 22:06 by qwiat