avrdude unter Linux. Was ist jetzt richtig?

Gast #1713437
Lesenswert?

Ich bin gerade etwas verwirrt. Im Wiki von Elektronik-Projekt steht, man 
solle die Datei /etc/udev/rules.d/80-usbprog.rules anlegen und dort ATTR 
verwenden.

In der Mai Ausgabe von Elektor steht aber, man solle im gleichen 
Verzeichnis eine Datei 020_permissions.rules anlegen und die Einträge 
sehen auch anders aus
1
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2104, GROUP="plugdev", MODE="0660", SYMLINK += "foo"
2

3
LABEL="permissions_end"
Ich habe es bisher so gemacht wie im Elektronik-Projekt Wiki und das 
funktioniert auch. Wieso ist es in der Elektor anders?
#1713456
Lesenswert?

Ja.  Jede einigermaßen aktuelle Linux-Distribution schreibt sowas ins 
Log, wenn sie auf SYSFS{} trifft:

syslog.1:May 16 13:41:12 Xelzbrot udevd[501]: SYSFS{}= will be removed 
in a future udev version, please use ATTR{}= to match the event device, 
or ATTRS{}= to match a parent device, in 
/etc/udev/rules.d/10-hcz.rules:8

Da steht sogar, wie man es richtig macht.  Nur lesen muss man es schon 
selber.
Gast #1714425
Lesenswert?

@Luk4s K.
So sieht es bei mir auch aus bzw so ist es in dem Wiki beschrieben

@Daniel Paessler
Wie müsste es denn dann heißen, wenn es kein HAL mehr gibt? Ubuntu Lucid 
soll ja eigentlich schon kein HAL mehr haben, aber es geht trotzdem
#1714458
Lesenswert?

sysfs per se ist nicht deprecated...nur das erstellen veralteter 
einträge/links.

aus der kernel-info:

This option creates deprecated symlinks such as the "device"-link, the 
<subsystem>:<name>-link, and the "bus"-link. It may also add deprecated 
key in the uevent environment. None of these features or values should 
be used today, as they export driver core implementation details to 
userspace or export properties which can't be kept stable across kernel 
releases.
#1714480
Lesenswert?

> Was jetzt? udev? DeviceKit? HAL? Ich blicks nicht

Das da oben ist keine HAL-Regel, sondern eine udev-Regel.  Das ist nicht 
dasselbe, obwohl beide ähnliche Aufgaben haben.  Aber udev ist flexibler 
und übernimmt immer mehr die Aufgaben von HAL, so dass letzeres obsolete 
wird.

> Das mit sysfs ist mir auch neu, das hat doch procfs ersetzen sollen?

Das sysfs, von dem Du redest, hat nur indirekt mit dem SYSFS{} zu tun, 
von dem hier die Rede ist.  sysfs (kleingeschrieben) ist der Typ des 
virtuellen Dateisystems, das unter /sys gemountet ist, und das ist alles 
andere als obsolet.

SYSFS{} (großgeschrieben) dagegen bezeichnet eine udev-Regel, die 
obsolet ist, weil es keinen guten Grund gibt, sie so zu benennen.  Denn 
es gibt schon ATTRS{}, das für den udev-Programmierer dasselbe macht 
(nur dass die bisher SYSFS{} genannten Regeln ihr Argument aus /sys 
beziehen - eine Unterscheidung, die dem udev-Programmierer aber wurscht 
sein kann).

Ich hoffe, ein wenig Klarheit reingebracht zu haben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren