Programm beklagt fehlende User-Rechte für USB Interface
Hallo Liste, beim Versuch, ein Programm (tilp) für die Kommunikation zwischen dem PC und einem externen Gerät (TI-89) via USB kommt u.a. die anhängende Fehlermeldung [1]. Es handelt sich wohl um ein Problem fehlender Userrechte auf das USB-Interface, denn unter root läuft das Programm einwandfrei. Ich habe schon versucht, usbfs mit mode=0777 zu mounten, und zwar auf /proc/bus/usb wie auch auf /dev/bus/usb. Der derzeitige Eintrag ist hier [2]. Kann jemand helfen? Danke! Guido [1] ticables-INFO: Check for lib-usb support: ticables-INFO: usb support: available. ticables-INFO: Check for lib-usb usability: ticables-INFO: usb filesystem (/dev/bus/usb/): mounted ticables-INFO: found on #1, version <1.03> (tilp:6473): ticables-WARNING **: usb_claim_interface (could not claim interface 0: Die Operation ist nicht erlaubt). tilp-INFO: Msg: failed to open USB device. Cause: check that USB cable is plugged and/or the calculator is ON! Check libusb and usbfs permissions, too. [2] usbfs /proc/bus/usb usbfs defaults 0 0 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Liste, weitere Details inline. Am Mittwoch, 20. Juni 2007 schrieb Guido Pinkernell:
Hallo Liste,
beim Versuch, ein Programm (tilp) für die Kommunikation zwischen dem PC und einem externen Gerät (TI-89) via USB kommt u.a. die anhängende Fehlermeldung [1]. Es handelt sich wohl um ein Problem fehlender Userrechte auf das USB-Interface, denn unter root läuft das Programm einwandfrei.
Mittels lsusb lässt sich nach dem Einstöpseln des USB-Kabels ja feststellen, wo genau die neue Gerätedatei entsteht. Diese kann man als root mit den Rechten 666 versehen, so dass das Programm auch als user läuft. Nur entsteht nach jedem Einstöpseln eine neue Gerätedatei, die man erst suchen und deren Rechte man dann per Hand freischalten muss. Gibts da keine andere Möglichkeit? Evtl eine Gruppe "freier USB-Device-Zugang", der man den betreffenden User zuordnen kann? Guido
[1]
ticables-INFO: Check for lib-usb support: ticables-INFO: usb support: available. ticables-INFO: Check for lib-usb usability: ticables-INFO: usb filesystem (/dev/bus/usb/): mounted ticables-INFO: found on #1, version <1.03>
(tilp:6473): ticables-WARNING **: usb_claim_interface (could not claim interface 0: Die Operation ist nicht erlaubt).
tilp-INFO: Msg: failed to open USB device. Cause: check that USB cable is plugged and/or the calculator is ON! Check libusb and usbfs permissions, too.
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 20. Juni 2007 17:24 schrieb Guido Pinkernell:
(...). Mittels lsusb lässt sich nach dem Einstöpseln des USB-Kabels ja feststellen, wo genau die neue Gerätedatei entsteht. Diese kann man als root mit den Rechten 666 versehen, so dass das Programm auch als user läuft.
Nur entsteht nach jedem Einstöpseln eine neue Gerätedatei, die man erst suchen und deren Rechte man dann per Hand freischalten muss.
Gibts da keine andere Möglichkeit? Evtl eine Gruppe "freier USB-Device-Zugang", der man den betreffenden User zuordnen kann?
Da gibt es eigentlich was viel besseres, such mal bei google nach udev libusb tilp Allerdings kann es sein, daß du noch OPTIONS="last_rule" an deine Regel anhängen mußt, damit die Rechte nicht wieder durch /etc/udev/rules.d/50-udev-default.rules überschrieben werden, falls deine Regel-Datei eine kleinere Nummer hat. HTH Jan -- The world is coming to an end ... SAVE YOUR BUFFERS!!! -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 20. Juni 2007 schrieb Jan Ritzerfeld:
Am Mittwoch, 20. Juni 2007 17:24 schrieb Guido Pinkernell:
(...). Mittels lsusb lässt sich nach dem Einstöpseln des USB-Kabels ja feststellen, wo genau die neue Gerätedatei entsteht. Diese kann man als root mit den Rechten 666 versehen, so dass das Programm auch als user läuft.
Nur entsteht nach jedem Einstöpseln eine neue Gerätedatei, die man erst suchen und deren Rechte man dann per Hand freischalten muss.
Gibts da keine andere Möglichkeit? Evtl eine Gruppe "freier USB-Device-Zugang", der man den betreffenden User zuordnen kann?
Da gibt es eigentlich was viel besseres, such mal bei google nach udev libusb tilp
Danke, das war es! Die Datei ticables.rules gibts allerdings nur in dem Paket libticables 1.0.5, und zwar in einem Ordner debian. In der aktuellen 1.0.6 sind weder Ordner noch rules-Datei. Außerdem musste ich eine Gruppe plugdev [1] einrichten, deren Mitglieder die User sind.
Allerdings kann es sein, daß du noch OPTIONS="last_rule" an deine Regel anhängen mußt, damit die Rechte nicht wieder durch /etc/udev/rules.d/50-udev-default.rules überschrieben werden, falls deine Regel-Datei eine kleinere Nummer hat.
Ich habe einfach die rules-Datei nach /etc/udev/rules.d kopiert und sie an die vorletzte Stelle gesetzt. Läuft jetzt. Guido [1] Ist das eine debianspezifische Gruppe? Gibts in Opensuse eine Gruppe mit ähnlichen Aufgaben, so dass die Neudefinition unnötig ist? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 20. Juni 2007 20:54 schrieb Guido Pinkernell:
Am Mittwoch, 20. Juni 2007 schrieb Jan Ritzerfeld:
Am Mittwoch, 20. Juni 2007 17:24 schrieb Guido Pinkernell: (...).
Gibts da keine andere Möglichkeit? Evtl eine Gruppe "freier USB-Device-Zugang", der man den betreffenden User zuordnen kann?
Da gibt es eigentlich was viel besseres, such mal bei google nach udev libusb tilp
Danke, das war es!
Freut mich zu hören. :)
Die Datei ticables.rules gibts allerdings nur in dem Paket libticables 1.0.5, und zwar in einem Ordner debian. In der aktuellen 1.0.6 sind weder Ordner noch rules-Datei.
Interessant. Ich hab übrigens so spontan eine libticables-3.9.7 bei "Guru's RPM Site" gefunden ... Hab aber keine Ahnung, was da so alles drin steckt.
Außerdem musste ich eine Gruppe plugdev [1] einrichten, deren Mitglieder die User sind. (...). [1] Ist das eine debianspezifische Gruppe? Gibts in Opensuse eine Gruppe mit ähnlichen Aufgaben, so dass die Neudefinition unnötig ist?
Ich denke, daß kommt eben auch die udev-Regeln an. Wenn die die entsprechenden Geräte dieser Gruppe zuordnen, dann ist das wohl so. Kommt dieser Gruppenname denn auch in der ticables.rules drin vor? Dann könntest du ihn einfach durch eine dir genehmere Gruppe ersetzen. Meinem Verständnis nach sorgt die plugdev-Gruppe nur dafür, daß du ausschließlich einem bestimmten Benutzerkreis dein Gerät zur Verfügung stellst. Wenn du eh allein an dem Rechner arbeitest, könntest du vielleicht auch gleich users nehmen. BTW, ist dein tilp-Programm eigentlich gegen libresmgr gelinkt? Soweit ich /etc/resmgr.conf verstehe sollte es dann nämlich ganz unabhängig von den konkreten Device-Berechtigungen Zugriff drauf haben. Jedenfalls wenn du dich "normal" per X anmeldest. Gruß Jan -- Digital circuits are made from analog parts. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 20. Juni 2007 schrieb Jan Ritzerfeld:
Am Mittwoch, 20. Juni 2007 20:54 schrieb Guido Pinkernell:
Am Mittwoch, 20. Juni 2007 schrieb Jan Ritzerfeld:
Am Mittwoch, 20. Juni 2007 17:24 schrieb Guido Pinkernell:
Die Datei ticables.rules gibts allerdings nur in dem Paket libticables 1.0.5, und zwar in einem Ordner debian. In der aktuellen 1.0.6 sind weder Ordner noch rules-Datei.
Interessant. Ich hab übrigens so spontan eine libticables-3.9.7 bei "Guru's RPM Site" gefunden ... Hab aber keine Ahnung, was da so alles drin steckt.
Ich muss mich präzisieren: Es handelt sich um libticables2 1.0.x. Die rpms in Gurus Repository sind ältere Versionen.
Außerdem musste ich eine Gruppe plugdev [1] einrichten, deren Mitglieder die User sind. (...). [1] Ist das eine debianspezifische Gruppe? Gibts in Opensuse eine Gruppe mit ähnlichen Aufgaben, so dass die Neudefinition unnötig ist?
Ich denke, daß kommt eben auch die udev-Regeln an. Wenn die die entsprechenden Geräte dieser Gruppe zuordnen, dann ist das wohl so. Kommt dieser Gruppenname denn auch in der ticables.rules drin vor? Dann könntest du ihn einfach durch eine dir genehmere Gruppe ersetzen.
Stimmt. Klar, users. Hätte ich auch dran denken können.
BTW, ist dein tilp-Programm eigentlich gegen libresmgr gelinkt?
Nein. Die Liste der Abhängigkeiten in YaST von tilp (weiss nicht den Konsolebefehl) weist libresmgr nicht auf.
Soweit ich /etc/resmgr.conf verstehe sollte es dann nämlich ganz unabhängig von den konkreten Device-Berechtigungen Zugriff drauf haben. Jedenfalls wenn du dich "normal" per X anmeldest.
Hm. Ich kompiliere (mit meinen bescheidenen Kenntnissen) selbst /usr/src/packages/SOURCES/tilp/./configure --help erwähnt die Option, mit libresmgr zu verlinken, nicht. Oder kann ich da einfach mal --with-resmgr als Option angeben und es tuts? Guido -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 20. Juni 2007 22:37 schrieb Guido Pinkernell:
Am Mittwoch, 20. Juni 2007 schrieb Jan Ritzerfeld:
BTW, ist dein tilp-Programm eigentlich gegen libresmgr gelinkt?
Nein. Die Liste der Abhängigkeiten in YaST von tilp (weiss nicht den Konsolebefehl) weist libresmgr nicht auf.
ldd lautet der Konsolenbefehl.
Soweit ich /etc/resmgr.conf verstehe sollte es dann nämlich ganz unabhängig von den konkreten Device-Berechtigungen Zugriff drauf haben. Jedenfalls wenn du dich "normal" per X anmeldest.
Hm.
Sinn und Zweck von udev und resmgr überschneiden sich teilweise. resmgr wurde entwickelt, als es udev noch nicht gab (bzw. nicht im Standard-Kernel). Eines der Probleme ohne udev war nämlich genau deins: Hotplug-Geräte landen nun einmal nicht immer am gleichen Geräteknoten, daher griff das alte statische Modell der Geräteberechtigungen ins Leere. Unter http://forgeftp.novell.com//resmgr/web/ kann man einerseits lesen, wie resmgr das Problem gelöst hatte und andererseits, daß es mittlerweile gar nicht mehr direkt für den ursprünglichen Zweck "Ressourcen-Manager" benutzt wird.
Ich kompiliere (mit meinen bescheidenen Kenntnissen) selbst /usr/src/packages/SOURCES/tilp/./configure --help erwähnt die Option, mit libresmgr zu verlinken, nicht. Oder kann ich da einfach mal --with-resmgr als Option angeben und es tuts?
Wie es aussieht ist es für libusb eh irrelevant. Vor der 10.0 hat sich resmgr eh automatisch "vor" die libusb eingebunden. Bei der 10.1 fiel das weg und libusb benutzte ganz normal die Geräteberechtigungen. In der 10.2 wurde dann die Geräteverwaltung durch resmgr selbst abgeschafft. http://forgeftp.novell.com//resmgr/web/#id2480187 Gruß Jan -- When your opponent is down, kick him. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Dienstag, 26. Juni 2007 17:26 schrieb ich:
Am Mittwoch, 20. Juni 2007 22:37 schrieb Guido Pinkernell: (...).
Ich kompiliere (mit meinen bescheidenen Kenntnissen) selbst /usr/src/packages/SOURCES/tilp/./configure --help erwähnt die Option, mit libresmgr zu verlinken, nicht. Oder kann ich da einfach mal --with-resmgr als Option angeben und es tuts?
Wie es aussieht ist es für libusb eh irrelevant. (...).
Hmmm ... Das sollte nicht heißen, daß du dein Problem nicht immer noch auch per resmgr lösen könntest und das wohl auch noch etwas schicker: http://forgeftp.novell.com/resmgr/web/#id2480175 http://forgeftp.novell.com/resmgr/web/#id2717641 Gruß Jan -- A conservative is a worshipper of dead radicals. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Guido Pinkernell
-
Jan Ritzerfeld