Hallo,
nachdem ich nun stunden gebraucht habe, um avrdude so zu kompilieren,
dass er USB Unterstützung mit sich bringt habe ich das nächste Problem
an dem ich kläglich scheiter:
Wenn ich programmieren will (Linux, Eclipse, AVR ISP mkII) haut er mir
folgendes in der Log raus:
Fabian S. schrieb:> Ich nehme mal an du meinst /dev/udev?
Nein. Ich meinte das, was ich schrieb.
EDIT: Ich sehe: doch nicht ganz. Es geht nach /etc/udev/rules.d.
^
> Und was macht das nu?
Es ändert die Rechte für den ISP, dass jeder zugreifen darf. Danach
sollte es keine permission errors mehr geben.
> Weil funktionieren tuts nicht :P
Wenn Du es nach /dev geschrieben hast: kein Wunder.
Ich mein natürlich /etc/udev
Was das macht habe ich denke ich verstanden ;) Nur auf was macht er das
MODE? der erstellt ja nicht mal ein Gerät für das Teil. In messages
steht nur das wenn ich ihn rein stecke:
1
Nov 10 19:00:11 fabian-desktop kernel: [ 4447.501094] usb 7-2: new full speed USB device using uhci_hcd and address 3
2
Nov 10 19:00:12 fabian-desktop kernel: [ 4447.678132] usb 7-2: configuration #1 chosen from 1 choice
Fabian S. schrieb:> Nur auf was macht er das> MODE?
Der setzt die Zugriffsrechte der Gerätedatei (irgendwo unter
/dev/bus/usb), die für den ISP MkII angelegt wird. Bekommst Du denn
immer noch permission errors? Sind sie weg, wenn Du mit sudo startest
(was Du nicht dauerhaft machen solltest)?
P.S. Wenn es noch nicht geht, entferne mal das
Habe inzwischen noch den Beitrag hier gefunden:
Beitrag "Re: USB Benutzerrechte einstellen, aber wie unter Linux ?"
Leider gehts da nicht um den ISP mkII. Die machen das über die Gruppen,
was auch etwas sauberer ist, naja egal. Auf jeden Fall machen die dann
da noch extra was für die Geräte. Wie könnte ich das auf mein Kram
portieren? Bei jeden ein/ausstecken zählt er ne Nummer hoch und ich
vermute auch mal wenn ichs in einen anderen USB Controller stecke ist
das Gerät in einem vollkommen anderen Ordner.
Das mit den Berechtigung ists aber auch jeden Fall, wenn ich manuell die
Berechtigung a+rw setze gehts in Eclipse, ist aber nicht gerade die
dauerhafte Lösung :-/
Möglicherweise hat Dein AVRISPmkII eine andere Vendor/Pruduct-ID. Die
findest Du mit
1
udevadm info --attribute-walk --name=bus/usb/007/010
für Dein obiges Beispiel. Beachte bitte, dass beim nächsten Einstecken
die Device Node eine andere sein kann, also einfach so ermitteln wie Du
es oben gemacht hast. Am besten postest Du im Zweifelsfall dann den
Ausschnitt von Beginn bis zum höchsten (letzten) Block, in dem im
Klartext steht, dass es ein AVRISP ist, vermutlich unter ATTR{product}.
Daraus lässt sich dann eine passende udev-Rule stricken. Interessant
sind ATTR{idVendor} und ATTR{idProduct} -- wenn Du mehrere Device Nodes
hast, werden die wohl trotzdem dieselben sein. Die trägst Du dann in
die udev-Regel ein (wobei Du das SUBSYSTEM-Element weglassen kannst).
Sie ersetzen die (veralteten) SYSFS-Einträge.
Was mir da als erstes mal verdächtig vor kommt ist die Angabe
SUBSYSTEM=="usb", stand in der Regle nicht usb_device?
idVendor und idProduct scheinen zu stimmen.
Fabian S. schrieb:> SUBSYSTEM=="usb", stand in der Regle nicht usb_device?
Ja. Zur Herkunft der udev-Regel: Ich hatte sie so noch auf dem
Rechner, habe aber schon länger keinen AVRISPmkII mehr (sondern den
JTAGICE). Sie hat also mal gestimmt, muss aber nicht mehr hinhauen.
Also versuch's mal mit
Ja, aber genau dafür ist das u+s gedacht damit man als normaler User
auch Programme starten kann die root-rechte brauchen. Ping ist z.b.
eines der beliebten Programm die das so machen, sonst könnte man keinen
ping absetzen. Außerdem läuft ja so nur avrdude mit root-rechten und
nicht eclipse.
:-/ Hast ja Recht, eine Lösung ist es, ich fände es nur sauberer wenn
ich als Benutzer einfach Rechte an dem Device hätte. Was man ja
scheinbar mit diesen udev Regeln regeln kann, nur klappt das bei mir
nicht.