Portál AbcLinuxu, 12. května 2025 08:46

Dotaz: automaticke nastaveni prav pro /dev/bus/usb

23.7.2009 09:44 jirka
automaticke nastaveni prav pro /dev/bus/usb
Přečteno: 315×
Odpovědět | Admin

dobry den,

bojuji s automatickym nastavenim prav pro USB zarizeni

Vytvoril jsem soubor /etc/udev/rules.d/10-ftdi.rules
s obsahem:
SUBSYSTEM==”usb”,ACTION=="add",ATTR{idVendor}=="0403",MODE="0664",GROUP="usb"
po spusteni
#udevadm control --reload-rules

a pripojeni zarizeni mam porad spatnou skupinu a prava u /dev/bus/usb/00x/00y.

jeste dodam ze pouzivam distribuci Fedora 11.

Diky

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.7.2009 18:29 Franta Hanzlik
Rozbalit Rozbalit vše Re: automaticke nastaveni prav pro /dev/bus/usb
Odpovědět | | Sbalit | Link | Blokovat | Admin

pro něco podobného mám (i ve Fedoře 11) takovýhle soubor "/etc/udev/rules.d/55-sb485.rules":

[root@franta rules.d]# cat 55-sb485.rules
# Zavedeni driveru pro USB<=>RS485 prevodnik fy <www.papouch.cz>, kteremu jsem
#  do FTDI FT232BM eeprom zapsal VID=0x8765 a PID=0x4321 (takze jej ftdi_sio
#  nerozezna)

# Zavedeni driveru "ftdi_sio" s pro driver s jemu neznamymi VID a PID :
# tohle nastavi mod/group na nodu (006=bus ID, 012=prideli kernel /sekvencne
#  se zvysuje/):  cr--r-----  1 root daemon  Jul 24 17:46 /dev/bus/usb/006/012
BUS=="usb", ATTR{idVendor}=="8765", ATTR{idProduct}=="4321", ACTION=="add", RUN+="/sbin/modprobe ftdi_sio vendor=0x8765 product=0x4321", MODE="0440",GROUP="daemon"

#  Tohle udela v /dev/ zarizeni "ttyUSBx" a na nej ukazujici symlinky "sb485"
#   a "sb485-{SERIAL_NO}". Nastavi take mod a grupu u vytvoreneho zarizeni
#    (/dev/ttyUSBx) na 0664/(root:tty) :
SUBSYSTEM=="tty", ATTRS{idVendor}=="8765", ATTRS{idProduct}=="4321", ATTRS{serial}=="PPOZ8LPB", ACTION=="add", SYMLINK+="sb485 sb485-%s{serial}", MODE="0664",OWNER="root",GROUP="tty"

Komentáře říkají dost , vám by mělo stačit první pravidlo - ale přistupovat k "/dev/bus/usb/00x/00y" je dost krkolomné. Těžko říci proč vám to nefunguje, nejspíš se pravidlo z nějakého důvodu neuplatní. Nicméně - v logách je síla, pokud nastavíte udev démonu podrobnější úroveň logování ("udevadm control --log-priority=info" n. "udevadm control --log-priority=debug"), ve "/var/log/messages" se důvod najde. Výpis lsusb také napoví. udev ve Fedoře 11 používá inotify, takže po úpravě souborů v "/etc/udev/rules.d/" není nutné nic měnit, udev to načte hned po změně.

27.7.2009 07:43 jirka
Rozbalit Rozbalit vše Re: automaticke nastaveni prav pro /dev/bus/usb

kdyz jsem dnes zkousel Vase reseni, vsimnul jsem si, ze jsem omylem pouzival spatne uvozovky v parametru SUBSYSTEM - to zrejme zpusobovalo problem proc se pravidlo nepouzilo.

Stejne tak jsem (v nektere fazi testu) pouzival pro otestovani pravidla pouze zmenu prav k souboru pomoci MODE, a to jak jsem dnes zjistil se prepise pomoci

(vypis #udevtest /devices/pci0000:00/0000:00:10.1/usb3/3-2)

udev_rules_apply_to_event: MODE 0664 /lib/udev/rules.d/50-udev-default.rules:53
 

coz mi ve vysledku nevadi, ale kvuli tomu jsem si myslel, ze se pravidlo neprovadi.

takze vysledek:

obsah souboru /etc/udev/rules.d/10_ftdi_hwkeys.rules

SUBSYSTEM=="usb",ACTION=="add",ATTR{idVendor}=="0403",ATTR{idProduct}=="6001",GROUP="usb"

pro vynuceni nastaveni prav staci pridat MODE:="0660"

(snad to nekomu usetri cas)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.