X52 Hotas und udev

Dieses Thema im Forum "Eingabegeräte" wurde erstellt von beomuex, 29.04.2008.

  1. #1 beomuex, 29.04.2008
    beomuex

    beomuex Routinier

    Dabei seit:
    11.03.2007
    Beiträge:
    354
    Zustimmungen:
    0
    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
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 beomuex, 11.05.2008
    beomuex

    beomuex Routinier

    Dabei seit:
    11.03.2007
    Beiträge:
    354
    Zustimmungen:
    0
    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
     
  4. ******

    ****** Guest

  5. #4 beomuex, 15.08.2008
    beomuex

    beomuex Routinier

    Dabei seit:
    11.03.2007
    Beiträge:
    354
    Zustimmungen:
    0
    Inzwischen geht es.

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

    Gruß beomuex
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

X52 Hotas und udev

Die Seite wird geladen...

X52 Hotas und udev - Ähnliche Themen

  1. UDEV rules - How ?

    UDEV rules - How ?: Hallo zusammen, ich bin schon ne ganze weil am googlen, finde aber nicht die Loesung daher mal mein Post. Ich habe gerade mit OpenSuse udev...
  2. usb Maus über udev konfigurieren

    usb Maus über udev konfigurieren: Hallo, meine usb Maus wird als drei dev angelegt.flammenflitzer olaf # lsusb Bus 002 Device 002: ID 09da:9090 A4 Tech Co., Ltd...
  3. xorg-server update: umstieg von hal auf udev -> probleme mit tastatur & maus

    xorg-server update: umstieg von hal auf udev -> probleme mit tastatur & maus: Hi also der Betreff sagt schon des meiste. Hab mein Gentoo-System seit längerer Zeit mal wieder aktualisiert, was 2 größere Änderungen mit sich...
  4. udevd auf wheezy frisst CPU

    udevd auf wheezy frisst CPU: Hallo, seit einem der letzten updates zweier Debian wheezy (testing) Systeme frisst der udevd 100% der CPU-Leistung. Kann mir jemand einen Tip...
  5. udev rule will nicht so richtig!

    udev rule will nicht so richtig!: Hallo, Meine USB-Fernbedienung bringt mich echt noch zum verzweifeln. Sie hat zwei input events ( oder wie man das auch immer nennt ) cat...