udev für USB funktioniert nicht

Post Reply
Message
Author
pcAlko
Posts: 70
Joined: 14. May 2007 19:27

udev für USB funktioniert nicht

#1 Post by pcAlko »

Hallo Leute!

Ich habe ein Programm geschrieben dass über eine Library auf einen USB zugreift
die library ist von OWFS
www.owfs.org bietet ja eine super Beschreibung wie ich den zugriff mit udev ändern kann
nur funzt diese vorgehnsweise bei mir einfach nicht

unter ubuntuusers.de habe ich gelesen dass die rules im /etc/udev/rules.d/ nach der 2-stelligen nummer abgehandelt wird.
In der Beschreibung steht dass man die Datei 46_ds2490.rules erstellen soll
bin jetzt mitlerweile schon bei 03
funktioniert immer noch nicht

hat irgendwer eine Idee was ich noch probieren könnte?

danke,
8) pcAlko

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Evtl. benutzt du eine Anleitung, die sich auf das alte udev bezieht.

Bastel eine Datei /etc/udev/rules.d/46-ds2490.rules mit dem Inhalt

Code: Select all

SUBSYSTEMS=="usb", ATTRS{idVendor}=="04fa", ATTRS{idProduct}=="2490", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="ow", MODE="0664"
Alles in eine Zeile. So funktioniert das zumindest bei mir. Keine weiteren Skripte notwendig.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#3 Post by pcAlko »

Hallo Janka!

das hab ich übersehen!
In der ersten Zeile der OWFS Beschreibung steht ein link für Newer Instructions
dort steht auch Dein code Beispiel
funktioniert bei mir jedoch nicht da ich ein ubuntu habe
das zweite Beispiel für Debian

Code: Select all

SUBSYSTEM!="usb_device", ACTION!="add", GOTO="owfs_rules_end"

# DS2490 1-Wire adapter 
SYSFS{idVendor}=="04fa", SYSFS{idProduct}=="2490", MODE="660", GROUP="ow"

LABEL="owfs_rules_end"
funzt!
Jetzt sehe ich unter /dev/bus/usb/002/ das ein USB device mit der Gruppe ow eingehängt ist

Danke für Deine Hilfe.
Leider habe ich damit nicht den Effekt erzielt den ich wollte.

Komischer weise funktioniert der Zugriff wenn der USB-Stick beim starten meines Programmes eingehängt ist auch ohne udev
Da ich im anderen fall, der USB-Stick ist nicht eingesteckt, einen Fehler bekomme.
Polle ich über den Befehl OW_init im Sekunden-Takt.
Obwohl ich dann den Stick einstecke, bringt der Befehl jedoch weiterhin den Fehler"Input/output error"
Hast Du damit irgendwelche Erfahrung?

Danke,
8) pcAlko

NACHTRAG:
Ich muss mich berichtigen ...
Jetzt seit dem der USB-Device der Gruppe ow angehört, bringt mein Programm bei OW_init immer den Fehler, auch wenn der Stick schon beim starten eingeähngt ist.
Habe die udev Regel wieder entfernt und es funktioniert wieder wenn der Stick schon beim starten eingestekt ist.

Also jetzt versteh ich gar nichts mehr!
Was ich noch dazu sagen wollte,
vor dem OW_init rufe ich natürlich setuid auf und ändere auf einen anderen user.
Dieser user ist natürlich mitglied der Gruppe ow

Post Reply