Portál AbcLinuxu, 12. května 2025 08:46
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
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ě.
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)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.