X52 Hotas und udev

B

beomuex

Routinier
Hallo,
es gibt ein Problem mit meinem X52 von Saitek und dem udev:
Ich habe eine Libary und ein Programm um das Display vom Joystick anzusteuern.
das Programm heißt x52output (http://plasma.hasenleithner.at/x52pro/ )
Ich habe nun ein bash script geschrieben um von amarok per dcop die meta-Daten auf dem Display auszugeben.
Im Moment geht das Script aber nur unter root. X(
Da es keine Gruppe "plugdev" unter Suse gibt hab ich einfach die Datei 99-x52pro.rules abgeändert:
Code:
ACTION!="add", GOTO="x52pro_rules_end"
SUBSYSTEM!="usb_device", GOTO="x52pro_rules_end"

#X52 Flight System
SYSFS{idVendor}=="06a3", SYSFS{idProduct}=="0255", GROUP="users", MODE="660"
SYSFS{idVendor}=="06a3", SYSFS{idProduct}=="075c", GROUP="users", MODE="660"

#X52 Pro Flight System
SYSFS{idVendor}=="06a3", SYSFS{idProduct}=="0762", GROUP="users", MODE="660"

#Pro Flight Yoke System
SYSFS{idVendor}=="06a3", SYSFS{idProduct}=="0bac", GROUP="users", MODE="660"

LABEL="x52pro_rules_end"
denn die README sagt:
Code:
This package includes the udev rules for enabling device access
to the plugdev group members. If x52lib has just been installed it
is likely that udev does not yet know the new rules. If this is the
case the rules can be reloaded with

	sudo udevcontrol reload_rules
	sudo udevtrigger

Hab ich alles gemacht nur gehört /dev/js1 immer noch u: root g: root.
In der man steht außerdem:
Code:
   x52output needs write access to the raw x52 USB device. This package is supplied with udev rules for providing write access on
       the SAITEK MFD joysticks to the plugdev group members. If x52output fails, permission problems can be checked by means of run-
       ning it with sudo.
Hier noch das ls von /etc/udev/rules.d
Code:
05-udev-early.rules    51-lirc.rules        60-persistent-input.rules    70-persistent-net.rules            90-hal.rules
40-alsa.rules          52-usx2yaudio.rules  60-persistent-storage.rules  75-cd-aliases-generator.rules      95-udev-late.rules
40-bluetooth.rules     55-hpmud.rules       64-device-mapper.rules       75-persistent-net-generator.rules  99-x52pro.rules
40-lomoco.rules        55-libsane.rules     64-md-raid.rules             77-network.rules
45-isdn.rules          56-idedma.rules      70-kpartx.rules              79-yast2-drivers.rules
50-udev-default.rules  60-cdrom_id.rules    70-persistent-cd.rules       80-drivers.rules
Ich denke, dass diese Datei besonders wichtig ist:
50-udev-default.rules
Code:
# do not edit this file, it will be overwritten on update

# console
KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0666", OPTIONS="last_rule"
KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0666", OPTIONS="last_rule"
KERNEL=="tty",                  GROUP="tty", MODE="0666", OPTIONS="last_rule"
KERNEL=="tty[0-9]*|vcs*",       GROUP="tty", MODE="0620", OPTIONS="last_rule"
KERNEL=="ptmx",                 GROUP="tty", MODE="0666", OPTIONS="last_rule"
KERNEL=="console",              MODE="0600", OPTIONS="last_rule"

# serial devices
KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*", GROUP="uucp"
KERNEL=="hvc*|hvsi*",           GROUP="uucp"
KERNEL=="iseries/vtty*",        GROUP="uucp"
KERNEL=="mwave",                NAME="modems/%k", GROUP="uucp"
KERNEL=="ttyUSB*", ATTRS{product}=="[Pp]alm*Handheld*", SYMLINK+="pilot"
KERNEL=="ttyUSB*", ATTRS{product}=="[Hh]andspring*Treo*|[Hh]andspring*Visor*", SYMLINK+="pilot"
KERNEL=="ppp",                  MODE="0600", OPTIONS+="ignore_remove"

# video/graphics
SUBSYSTEM=="video4linux",       GROUP="video"
SUBSYSTEM=="graphics"           GROUP="video"
KERNEL=="vtx*|vbi*",            GROUP="video"
KERNEL=="winradio*",            GROUP="video"
KERNEL=="vttuner*",             GROUP="video"
KERNEL=="nvidia*|nvidiactl*",   GROUP="video"
KERNEL=="video0",               SYMLINK+="video"
KERNEL=="radio0",               SYMLINK+="radio"
KERNEL=="vbi0",                 SYMLINK+="vbi"
KERNEL=="pmu",                  GROUP="video"

# dvb
SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video"

# input devices
KERNEL=="mouse*|mice|event*",   NAME="input/%k", MODE="0640"
KERNEL=="js*",                  NAME="input/%k", MODE="0664" GROUP="users"
[B]
[COLOR="Red"]#wurde von mir geändert:
#KERNEL=="js*",                  NAME="input/%k", MODE="0644"[/COLOR][/B]
KERNEL=="ts*|uinput",           NAME="input/%k", MODE="0600"
KERNEL=="lirc0",                SYMLINK+="lirc"

# printer
SUBSYSTEM=="usb",               KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp"
SUBSYSTEM=="printer",           KERNEL=="lp*", GROUP="lp"
KERNEL=="irlpt*",               GROUP="lp"

# cpu devices
KERNEL=="cpu[0-9]*",            NAME="cpu/%n/cpuid"
KERNEL=="msr[0-9]*",            NAME="cpu/%n/msr"
KERNEL=="microcode",            NAME="cpu/microcode", MODE="0600"

# IEEE1394 devices
KERNEL=="raw1394*",             GROUP="video"
KERNEL=="dv1394*",              SYMLINK+="dv1394/%n", GROUP="video"
KERNEL=="video1394*",           SYMLINK+="video1394/%n", GROUP="video"

KERNEL=="hw_random",            NAME="hwrng", SYMLINK+="%k"
KERNEL=="rioctl",               NAME="specialix_rioctl", SYMLINK+="%k"
KERNEL=="sxctl",                NAME="specialix_sxctl", SYMLINK+="%k"

# network
KERNEL=="tun",                  NAME="net/%k", MODE="0666", OPTIONS+="ignore_remove"

# misc devices
KERNEL=="mem|kmem|port",        GROUP="kmem", MODE="0640"
KERNEL=="nvram",                GROUP="kmem", MODE="0600"
KERNEL=="null|zero|random",     MODE="0666"
KERNEL=="full",                 MODE="0622"
KERNEL=="urandom",              MODE="0644"
KERNEL=="rtc|rtc0",             MODE="0644"
KERNEL=="rtc0",                 SYMLINK+="rtc"
KERNEL=="fuse",                 MODE="0666"
KERNEL=="sonypi",               MODE="0666"
KERNEL=="agpgart",              MODE="0600", GROUP="video"
KERNEL=="djs*",                 MODE="0644"
KERNEL=="sgi_*",                MODE="0666"
KERNEL=="rrom*",                MODE="0400"
KERNEL=="rflash*",              MODE="0400"
KERNEL=="usbscanner*",          MODE="0644"
KERNEL=="3270/ttycons*",        MODE="0600"
KERNEL=="3270/tub*",            MODE="0666"
KERNEL=="3270/tubcons*",        MODE="0600"
KERNEL=="ica",                  MODE="0666"
KERNEL=="z90crypt",             MODE="0666"
KERNEL=="mmtimer",              MODE="0644"
KERNEL=="auer[0-9]*"            NAME="usb/%k"
KERNEL=="iowarrior[0-9]*",      NAME="usb/%k"

# packet writing interface
KERNEL=="pktcdvd",              NAME="pktcdvd/control"
KERNEL=="pktcdvd[0-9]*",        NAME="pktcdvd/%k"

# additional floppy devices (no sysfs entries)
KERNEL=="fd[0-9]*", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G disk $root/%k"

# block devices
SUBSYSTEM=="block", GROUP="disk", MODE="0640"
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n"

# sd:           0 TYPE_DISK, 7 TYPE_MOD, 14 TYPE_RBC
# sr:           4 TYPE_WORM, 5 TYPE_ROM
# st/osst:      1 TYPE_TAPE
SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60"
SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900"
KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions"

# misc storage devices (non-block)
KERNEL=="sg*",                  GROUP="disk", MODE="0640"
KERNEL=="st*|nst*",             GROUP="disk"
KERNEL=="qft*|nqft*|zqft*|nzqft*|rawqft*|nrawqft", GROUP="disk"
KERNEL=="ht*|nht*",             GROUP="disk"
KERNEL=="pf*",                  GROUP="disk"
KERNEL=="sch*",                 GROUP="disk"
KERNEL=="pt*|npt*",             GROUP="disk"
KERNEL=="pg*",                  GROUP="disk"
KERNEL=="evms/block_device*",   GROUP="disk"
KERNEL=="rawctl*",              NAME="raw/%k", GROUP="disk"
SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk"
KERNEL=="osst*|nosst*",         NAME="%k", GROUP="disk"
KERNEL=="iseries/vt*",          NAME="%k", GROUP="disk"
KERNEL=="iseries/nvt*",         NAME="%k", GROUP="disk"
KERNEL=="iseries/ibmsis*",      NAME="%k", GROUP="disk"

# libusb device access
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"

# kernel firmware loader
SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"
Nach der Änderung wurde es wie folgt angezeigt:
Code:
xion:/etc/udev/rules.d # ls /dev/input/ -ll | grep js
crw-rw-r--  1 root users 13,  0 29. Apr 2008  js0
crw-rw-r--  1 root users 13,  1 29. Apr 16:38 js1

Ich bin mir aber noch nicht mal sicher ob x52output das ganze über /dev/input/js1 macht sondern über ein anderes device.Dennoch tippe ich auf ein udev rules Problem.

Bin für jede Hilfe dankbar!!! :hilfe2:


Gruß beomuex
 
Keiner ne Idee?
Hier noch die Fehlermeldung (falls es was bringt)
Code:
beowulf@xion:~> x52output text 1 "hallo"
x52_settext failed at clear command (error sending control message: Operation not permitted)

Gruß
beomuex
 
Inzwischen geht es.

Musste die udev rules tatsächlich anpassen.
Diese kann man hier herunterladen.

Gruß beomuex
 

Ähnliche Themen

Samba Dateien und Ordner verschieben

UDEV rules - How ?

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Windows clients können nicht mehr auf lange laufendes System zugreifen

LIDL-Surf-Stick Huawei E 1550 an CentOs 6.2

Zurück
Oben