Ich bin dabei, mir ein neues (abgespecktes) Live-Linux System auf Basis
von Porteus / Slackware 14.2 einzurichten und habe ein Problem, das ich
bisher noch nicht hatte (und seit ein paar Sunden auf keinen Nenner
komme).
Benutzer heißt: mcu
und ist u.a. in den Gruppen uucp und dialout eingetragen.
Als Benutzer mcu kann ich bspw. über einen Bootloader und AVRDUDE einen
AVR flashen (benutzt ttyUSB0).
Über einen USBASP kann ich das nicht mit einer bekannten Fehlermeldung:
1
avrdude: Warning: cannot open USB device: Permission denied
2
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
Als Benutzer root geht das natürlich (von daher ist ein Fehler im
Hardwareaufbau auszuschließen).
in /etc/udev/rules.d gibt es die Datei:
99-uasbasp.rules
Deren Inhalt ist:
Das hatte bisher eigentlich immer geklappt, aber mit dem System das ich
einrichten möchte klappt das eben nicht mehr.
Die Rechte von 99-usbasp.rules sind:
1
-rwxrwxrwx 1 root root 220 Jan 21 15:41 99-usbasp.rules*
-----------------------------------------------
Wo kann ich noch etwas daran ändern ?
> Die Rechte von 99-usbasp.rules sind:
Scheunentor!
Bitte chmod 0644 dafür machen. Erstens muss das Ding nicht ausführbar
sein, zweitens hat niemand außer Frau Wurzel einen Grund, in dieser
Datei was zu schreiben.
Ideen:
- Woher kommt ENV_DEVTYPE? Das muss ja in einer vorhergehenden
udev-Regel gesetzt werden (wenn ich das richtig in Erinnerung habe) -
brauchst du die Enschränkung oder kannst du sie einfach weglassen?
- Ist der Benutzer mcu in der Session, in der du es versuchst, wirklich
schon in der Gruppe dialout? Mal 'id' probiert? Halt, durch MODE=0666
sollte das egal sein (sicher, dass du willst, dass jeder auf das Gerät
zugreifen kann, egal ob in Gruppe dialout oder nicht?)
- Was sagt udevinfo -a -p über das Gerät?
Ansonsten: Logging einschalten und nachsehen, was beim Anstecken
passiert...
MfG, Arno
Programmierer schrieb:> udevadm control --reload-rules && udevadm triggerausgeführt?
Hab ich gemacht (nach jeder Änderung die ich in den Rules ausprobiert
habe).
Jörg W. schrieb:> Scheunentor!
Weiß ich, dass das ein Scheunentor ist. Sollte auch, nachdem es mit
einer Änderung funktioniert hätte auch wieder auf andere Rechte gesetzt
werden.
chmod 0640 hat natürlich (leider) nicht funktioniert
Jörg W. schrieb:> zweitens hat niemand außer Frau Wurzel einen Grund, in dieser> Datei was zu schreiben.
Ich bin aber der englische Angetrautet von Frau Wurzel (gestatten, mein
Name ist root) und möchte aber auch gerne uuuuunbedingt da rein
schreiben ! : - )
0644 - du sollst ja der Welt nicht auch gleich noch das Leserecht
entziehen.
Ansonsten mal auf den Rest der Antworten davor schauen. Es gibt
natürlich auch Subsysteme, die "Scheunentor"-Dateien gleich gar nicht
erst akzeptieren (bspw. sshd, wenn "authorized_keys" so daher kommt),
aber ich vermute, dass udevd nicht dazu gehört. Das war also eher ein
Kommentar am Rande.
Ralph S. schrieb:> Ich bin aber der englische Angetrautet von Frau Wurzel (gestatten, mein> Name ist root) und möchte aber auch gerne uuuuunbedingt da rein> schreiben ! : - )
...genau dafür gibt es sudo etc. bzw. man meldet sich halt als root an,
wenn man etwas machen möchte, was nur root machen sollte!
Arno schrieb:> Halt, durch MODE=0666> sollte das egal sein (sicher, dass du willst, dass jeder auf das Gerät> zugreifen kann, egal ob in Gruppe dialout oder nicht?)
Das soll ein Programmiersystem werden und ich möchte wirklich, dass
jeder einen USBASP verwenden kann (die Angabe der Gruppe ist ein
verzweifelter Versuch von mir).
Arno schrieb:> Ansonsten: Logging einschalten und nachsehen, was beim Anstecken> passiert...
Mike J. schrieb:> ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", GROUP="plugdev",> MODE="0660"
Mit Änderung der GROUP zu "dialout" und MODE="0666" (für alle).
Warum die Gruppe noch mitangegeben werden muss erschließt sich mir nicht
(wenn ich doch sowieso allen den Zugang ermöglichen möchte)
---------------------
Vielen Dank dass ihr Euch meines Problems angenommen habt !
zu ENV{DEVTYPE}... Bei mir steht in der 81-usbasp.rules übrigens auch
#
SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="16c0",
ATTRS{idProduct}=="05dc", MODE="0660"
#
und der Fischl hängt am USBtty0 als USBasp. Bei Arduino-IDE funktioniert
allerdings nur 'hochladen mit Programmer'
vielleicht hilft dir das
Jörg W. schrieb:> 0644 - du sollst ja der Welt nicht auch gleich noch das Leserecht> entziehen.>> Ansonsten mal auf den Rest der Antworten davor schauen.
Hab ich gemacht ... 644 und auch den "Rest der Antworten" ... und ich
freue mich dass das jetzt funktioniert.
Danke noch mal an alle !