Forum: PC Hard- und Software avrdude unter Linux. Was ist jetzt richtig?


von Hey Dude (Gast)


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?

von Hc Z. (mizch)


Lesenswert?

SYSFS sollte nicht mehr verwendet werden; es wird demnächst ganz 
entfernt.  Bleib' bei der Nicht-Elektor-Version.

von Hey Dude (Gast)


Lesenswert?

Hm, natürlich doof, dass jetzt sowas noch in der Elektor verbreitet wird

Gut, dann ist in dem Wiki ja wohl alles richtig

von Hc Z. (mizch)


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.

von Lukas K. (carrotindustries)


Lesenswert?

So sieht bei mir die HAL-Konfiguration aus
1
# AVRISP mkII emulation mode
2
ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2104", GROUP="users", MODE="0660"
3
#
4
# usbprog bootloader
5
ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c62", GROUP="users", MODE="0660"

von Daniel P. (groovy)


Lesenswert?

Luk4s K. schrieb:
> So sieht bei mir die HAL-Konfiguration aus

hal ist im übrigen auch "deprecated"

von Hey Dude (Gast)


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

von Daniel P. (groovy)


Lesenswert?

Hey Dude schrieb:
> @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

bei mir gibt's schon 'ne weile kein hal mehr auf dem system. udev ist 
dein freund :)

http://www.reactivated.net/writing_udev_rules.html

von eklige Tunke (Gast)


Lesenswert?

Hey Dude schrieb:
> @Daniel Paessler
> Wie müsste es denn dann heißen, wenn es kein HAL mehr gibt?
Dann nehmen wir DeviceKit.

Das mit sysfs ist mir auch neu, das hat doch procfs ersetzen sollen? 
(Und unter /proc findet sich noch so einiges.)

von Hey Dude (Gast)


Lesenswert?

Also dann stimmt's doch. Es ist ja eine Datei in

/etc/udev/

von Hey Dude (Gast)


Lesenswert?

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

Stimmt das jetzt was im Wiki steht oder nicht?

http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/avrdude_tutorial#ubuntudebian_und_opensuse

von eklige Tunke (Gast)


Lesenswert?

eklige Tunke schrieb:
> Hey Dude schrieb:
>> @Daniel Paessler
>> Wie müsste es denn dann heißen, wenn es kein HAL mehr gibt?
> Dann nehmen wir DeviceKit.
Upps, auch schon wieder tot, ich verschlaf auch ständig was... ;-)

von eklige Tunke (Gast)


Lesenswert?

Hey Dude schrieb:
> Was jetzt? udev? DeviceKit? HAL? Ich blicks nicht
Mit den udev-Regeln habe ich meinen Clone zu laufen bekommen. Sorry, das 
mit DeviceKit war mir neu... ich hinke auch ständig hinterher. ;-)

von Daniel P. (groovy)


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.

von Hey Dude (Gast)


Lesenswert?

Ok, also so lange die udev Rule funktioniert kann es mir ja egal sein.

Aber welches wäre jetzt der "korrekte" und "zukunftssichere" Weg?

von Daniel P. (groovy)


Lesenswert?

Hey Dude schrieb:
> Ok, also so lange die udev Rule funktioniert kann es mir ja egal sein.
>
> Aber welches wäre jetzt der "korrekte" und "zukunftssichere" Weg?

udev ist (im moment) der korrekte weg :)

von Hey Dude (Gast)


Lesenswert?

Ok. Und in 2 Jahren vermutlich auch schon wieder "deprecated"

von Daniel P. (groovy)


Lesenswert?

Hey Dude schrieb:
> Ok. Und in 2 Jahren vermutlich auch schon wieder "deprecated"

so sieht's aus :)

von Hc Z. (mizch)


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.

von Daniel P. (groovy)


Lesenswert?

Hc Zimmerer schrieb:
> Ich hoffe, ein wenig Klarheit reingebracht zu haben.

gut erklärt :)

von Hey Dude (Gast)


Lesenswert?

@mizch
Danke

von eklige Tunke (Gast)


Lesenswert?

Hc Zimmerer schrieb:
> Ich hoffe, ein wenig Klarheit reingebracht zu haben.
Ja, danke hat es, ein Dank auch an Daniel Paessler.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.