PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Udev-rule



DiJa
22.08.06, 22:39
Hallo ich habe folgendes Problem: Ich habe eine usb-Steuerkarte mit digitalen Ein- und Ausgängen. Hab mir da ein Program runtergeladen, um die anzusprechen.
Funtioniert auch ganz gut, aber leide nur als root:mad: (und was sich reimt ist gut).
Naja, hab mich n bisschen schlau gemacht, und bin auf udev-rules gestoßen; das ist was ich gemacht hab:
Die Datei /etc/udev/rules.d/10-local.rules/k8005.rules erstellt und das da eingetragen:

# Usb-Experimentier board
BUS=="usb", KERNEL=="usb*", SYSFS{product}=="USB K8055" GROUP="users", SYMLINK+="k8055_0"
und "udevinfo -a -p $(udevinfo -q path -n /dev/bus/usb/001/006)"
sagt folgendes:

looking at device '/class/usb_device/usbdev1.6':
KERNEL=="usbdev1.6"
SUBSYSTEM=="usb_device"
SYSFS{dev}=="189:5"

looking at device '/devices/pci0000:00/0000:00:1d.0/usb1/1-2':
ID=="1-2"
BUS=="usb"
DRIVER=="usb"
SYSFS{configuration}==" "
SYSFS{product}=="USB K8055"
SYSFS{manufacturer}=="Velleman "
SYSFS{maxchild}=="0"
SYSFS{version}==" 1.10"
SYSFS{devnum}=="6"
SYSFS{speed}=="1.5"
SYSFS{bMaxPacketSize0}=="8"
SYSFS{bNumConfigurations}=="1"
SYSFS{bDeviceProtocol}=="00"
SYSFS{bDeviceSubClass}=="00"
SYSFS{bDeviceClass}=="00"
SYSFS{bcdDevice}=="0000"
SYSFS{idProduct}=="5500"
SYSFS{idVendor}=="10cf"
SYSFS{bMaxPower}=="100mA"
SYSFS{bmAttributes}=="80"
SYSFS{bConfigurationValue}=="1"
SYSFS{bNumInterfaces}==" 1"


Das funktioniert aber nicht; kann mir da jemand weiterhelfen? Danke schonmal.

buzz768
23.08.06, 00:01
Ohne jetzt zu wissen, was eine USB Steuerkarte ist (geschweige denn was für ein Programm du da heruntergeladen hast), fällt mir dazu spontan nur eine grundlegende Regel für udev rules ein:


... you generally can not mix-and-match attributes from different sections of the udevinfo output - your rule will not work ...

Also mal KERNEL=="usb*" weglassen. Außerdem fehlt da ein Komma vor GROUP. Und bei mir ist /etc/udev/rules.d/10-local.rules kein Verzeichnis, sondern eine von mir erstellte Datei.

DiJa
23.08.06, 16:26
Also das hat schon mal geholfen er erzeugt schon mal das device, nur gibt:

udevtest /class/usb_device/usbdev1.7

folgende Ausgabe:

main: looking at device '/class/usb_device/usbdev1.7' from subsystem 'usb_device'
udev_rules_get_name: add symlink 'k8055_0'
run_program: '/bin/sh -c 'K=usbdev1.7; K=${K#usbdev}; printf bus/usb/%03i/%03i ${K%%.*} ${K#*.}''
run_program: '/bin/sh' (stdout) 'bus/usb/001/007'
run_program: '/bin/sh' returned with status 0
udev_rules_get_name: rule applied, 'usbdev1.7' becomes 'bus/usb/001/007'
#create_node: creating device node '/dev/bus/usb/001/007', major = '189', minor = '6', mode = '0644', uid = '0', gid = '100'
create_node: creating symlink '/dev/k8055_0' to 'bus/usb/001/007'
main: run: 'socket:/org/freedesktop/hal/udev_event'
main: run: 'socket:/org/kernel/udev/monitor'

ich möchte den mode aber 0664 haben, habe also " MODE="0664" " zu meiner udev-rule hinzugefügt das interessiert ihn aber garnicht.:confused: Der mode wird weiterhin auf 0644 gesetzt.

DiJa
23.08.06, 16:39
ok, hab das Problem jetzt mit der option OWNER="schleppie" (Mein USer Name) gelöst.
Vielen Dank für die hilfe.

Tuxx
06.09.06, 05:10
Sonst probiers mal mit MODE="664" nicht MODE="0664".
Bei mir geht das so.