Forum: Mikrocontroller und Digitale Elektronik Pony unter Linux


von Jens Mander (Gast)


Lesenswert?

Morgen!
Ich bin aus Prinzipgründen letzte Woche auf Linux umgestiegen. Hab mir 
da auch gar keine Sorgen gemacht, da es ja Pony angeblich auch für Linux 
gibt. Gibts auch. Nur bin ich absoluter Noob in Sachen Linux und hab 
folgendes Problem:
Lancos.com bietet diese Downloads für Linux an:
- Source-Codes und
- Fertiges Build (Für DEBIAN 6.x)

Ich wiederum hab aber SUSE9.2 am Laufen, darum will wohl die 
Debian-Version nicht laufen und mit den Sources kann ich nix anfangen. 
Hat jemand zufällig ein Suse9-Build da oder weiß ausweg. Hab leider im 
netz auch kein Tutorial für PonyProg unter Linux gefunden. Ach wie 
furchtbar!

Bin für jeden Tip dankbar!

bayluga@freenet.de

Jens





von bullshit bingo (Gast)


Lesenswert?

sourcecode runterladen und auf eigener maschine kompilieren, dann 
nutzen.

von Aufreger deluxe (Gast)


Lesenswert?

> Ich bin aus Prinzipgründen letzte Woche auf Linux umgestiegen.

Dann geschieht es dir auch recht, wenn du die nächsten Monate Streß mit 
deinem klickibunti Suse hast.

von Jens Mander (Gast)


Lesenswert?

Bist 'n ganz großer... Ich weiß gar nicht, warum ich darauf antworte... 
Mr. Mikroweich...

von Jens Mander (Gast)


Lesenswert?

@bullshit bingo

Na, das klingt doch vernünftig. Wie gesagt, bin ich ein vollblutnoob in 
sachen x. könntest du mir vielleicht n kleinen tip geben, wie ich das 
anstelle? thx.

von Michael U. (Gast)


Lesenswert?

Hallo,

@Jens Mander:
er hat irgendwo einfach recht...
Wenn die Linuxer mal merken, daß es Leute gibt, deren Hauptbeschäftigung 
die Benutzung des Systems für ganz andere Sachen als dem 
Selbst-Compilieren von Anwendungssoftware besteht, dann steigen auch 
deren Chancen im Homebereich.

Das hat mit Mikroweich recht wenig zu tun, selbst ein Amiga-User hate 
manchen Programmierer vor 10 Jahren schon zum Teufel gejagt, wenn es für 
sein Super-Tool keinen Installer gegeben hätte...

PS: Linux als Samba-Server, als DSL-Router usw. Gern und immer wieder.
Als Desktop-System immernoch nicht.

Gruß aus Berlin
Michael

von Sebastian Voitzsch (Gast)


Lesenswert?

Moin,

ich hab´ PonyProg noch nie selbst compiliert, weil die Binärversion 
einwandfrei läuft (unter SuSE, Kubuntu und Gentoo). Aber meinen wir 
dieselbe Seite? Ich finde unter lancos.com eine Source-Version und 3 (!) 
Versionen für RedHat?! Nix mit Debian... Die RedHat-Version für Kernel 
2.2. solltest Du meiden, die anderen für Kernel 2.4 sollten laufen.

Die Binärversionen sind .tar.gz-Files, also einfach auspacken und 
loslegen. Ist auch auf der Seite beschrieben.

@Michael U.:
Wenn die Hauptbeschäftigung nicht im Compilieren und Installieren von 
Programmen besteht, ist´s doch kein Drama, wenn man es mal machen muß!? 
99% der Software installierst Du unter Linux wesentlich einfacher als 
unter Win.

Sebastian

von Aufreger deluxe (Gast)


Lesenswert?

> 99% der Software installierst Du unter Linux wesentlich einfacher als
> unter Win.

LOL, dass nehme ich in mein Buch "Die 1000 besten Witze" auf.

von Joerg (Gast)


Lesenswert?

Hallo

Ich konnte die binary ponyprog2000 version auf meiner Gentoo box 
installieren . Ponyprog started , weiter kann ich im moment nicht testen 
, ich habe gerade keinen avr hier,

nash bin #  tar xvfPz /nfs/Down/ponyprog-2.06c-rh70.tar.gz
/usr/lib/libVx.so
/usr/lib/libVx.so.1
/usr/lib/libVx.so.1.25
/usr/local/bin/ponyprog2000
nash bin # ls -la /usr/lib/libV*
lrwxrwxrwx  1 root root     13 Nov 19 14:41 /usr/lib/libVx.so -> 
libVx.so.1.25
lrwxrwxrwx  1 root root     13 Nov 19 14:41 /usr/lib/libVx.so.1 -> 
libVx.so.1.25
-rw-r--r--  1 root root 472153 Jul 16  2001 /usr/lib/libVx.so.1.25

Gruss
Joerg

von Thomas K. (thomas_k)


Lesenswert?

Also mit einem vernünftigen Paketmanager ist das Installieren unter 
Linux wirklich keine Hexerei mehr.

Oder ist z.B.
emerge ponyprog
wirklich zuviel verlangt?

von Martin #. (martin-)


Lesenswert?

@Jens Mander
Die Version für RedHat6.2 wird mit Kernel >= 2.4 nicht funktionieren.
Also es lade dir diese Version herunter: 
http://www.lancos.com/e2p/V2_06/ponyprog-2.06c-rh70.tar.gz

Dann muss du die Bibliothek libVx.so.1.25 in z.B lib kopieren und 
anschliessend ein mal als root ldconfig ausführen. Diese Bibliothek ist 
nämlich auf meisten Distributionen nicht installiert.
Natütlich läuft diese Version von Ponyprog nur auf einem 32bit 
kompatiblen PCs, aber welche Linux-Distribution du dabei verwendest ist 
irrelevant.

Die ponyprog2000 selbst kannst dahin kopieren wo du willst.
Sollte das Programm dennoch nicht starten, starte über eine Konsole und 
schau welche Bibliotheken noch fehlen(die restlichen Bibliotheken sind 
meistens schon da).

Noch eines so weit ich weiss kann Ponnyprog keinen USB-RS232 Konverter 
benutzen.

von Jens Mander (Gast)


Lesenswert?

Danke Martin! Funktioniert bestens! Da Du ja Profi zu sein scheinst noch 
eine frage: Ich kann nur als root auf parport zugreifen. Kannst du mir 
sagen, wie ich einem anderen Nutzer zugriff auf parport0 erlaube? 
Parport als root chmod'den hat nicht geklappt... Danke schmonmal, Jens

von Christian G. (Gast)


Lesenswert?

Gib mal in einer Shell (als root) folgendes ein (ohne das >) oder sieh' 
dir die Berechtigungen von /dev/parport0 mit dem Dateibrowser deiner 
Wahl an:

>ls -la /dev/parport0

Wenn dabei sowas rauskommt:
crw-rw---- 1 root lp 99, 0 20. Nov 11:53 /dev/parport0

mußt du deinen Benutzer nur in die Gruppe "lp" (oder welche Gruppe da 
dann auch stehen mag) aufnehmen:

>groupmod -A meinusername lp

Steht als Gruppe beim Device "root", dann gib folgendes ein:

>find /etc/udev/rules.d -exec grep -H "parport" {} \;

Sollte dabei sowas ähnliches rauskommen, wie:

/etc/udev/rules.d/50-udev-default.rules:KERNEL=="parport*", NAME="%k", 
GROUP="root"

mußt du in der entsprechenden Zeile der Datei 
/etc/udev/rules.d/50-udev-default.rules bei GROUP die Gruppe "lp" 
eintragen.
Wenn da nichts bei rauskommt, fehlt eine Regel für den udevd, der die 
Devices anlegt, dann meldest du dich nochmal hier und ich erkläre das in 
einem zweiten Post;-)

von Jens Mander (Gast)


Lesenswert?

Hey, Christian!
Danke für die Tips. Ich dachte halt, wenn ich parport ein RWX für others 
gebe, ist er für alle offen. Ist aber wohl nicht so. parport0 gehört der 
Gruppe root. die eingabe von

linux:/dev # find /etc/udev/rules.d -exec grep -H "parport" {} \;

liefert nichts. Entweder hab ich die Syntax versaut, oder Du hast Dich 
vertippt, denn Deine Variante (man beachte die Klammern) liefert eine 
Fehlermeldung. Wenn mein bisschen unix-halbwissen aber ausreicht sucht 
der befehl in o.g. verzeichnis eine datei mit einer zeile, in der 
parport vorkommt. Also nix. Ich habe eine Datei namens: 50-udev.rules
In der ist allerdings der parport nirgends erwähnt.
Und jetzt fehlt mir also ne regel? OMG...

Vielen Dank für Deine Mühe!

Thomas

von Jens Mander (Gast)


Lesenswert?

Und warum funktioniert das eigentlich nicht?

crwxrwxrwx  1 root root 99, 0 Oct  2  2004 parport0

werde mir wohl doch ein  büchlein kaufen müssen   : )

von Christian G. (Gast)


Lesenswert?

Moin,

ein Büchlein kaufen und sich in die Materie einlesen ist nie verkehrt. 
Ein ganz brauchbares und sogar in Teutsch und z.Zt. online verfügbar ist 
z.B. folgendes:
http://www.oreilly.de/german/freebooks/rlinux3ger/linux_wegIVZ.html
Außerdem www.tldp.org, manpages, ...

Zurück zu deinem Problem:
Ich habe mich nicht vertippt, der find macht genau das was er soll. Aber 
eigentlich wollte ich nur erst mal ein Feedback von dir haben, bevor ich 
weiter rumrate. Ferndiagnosen sind da immer etwas schwierig.
Kannst als root überhaupt etwas mit PonyProg programmieren, oder geht 
nur der Programmstart? Möglicherweise hast du einen device node 
parport0, aber kein Device.

>lsmod | grep ppdev

sollte dir anzeigen, ob überhaupt der Devicetreiber geladen ist. Ich 
habe das hier mal an einer SLES10 überprüft, der ppdev ist per default 
nicht geladen.
Wenn der Treiber da ist fehlt dir halt noch die Regel für den udevd, der 
sich darum kümmert, daß beim Laden eines Treibers auch der entsprechende 
Node angelegt wird.
Du kannst eine entsprechende Regel in 
/etc/udev/rules.d/50-udev-default.rules eintragen, oder eine neue Datei 
z.B. 99-udev-custom.rules mit folgendem Inhalt anlegen:

KERNEL=="parport*", NAME="%k", GROUP="lp"

Dann den Treiber neu laden mit:
>modprobe -r ppdev && modprobe ppdev

Jetzt solltest du ein Device parport0 mit den passenden Berechtigungen 
haben. Wenn dein Benutzer jetzt noch Mitglied in der Gruppe lp ist, dann 
klappts auch mit PonyProg. Wenn nicht, dann hast du wahrscheinlich ein 
anderes Problem.
Sollte das soweit funktionieren und du möchtest, daß ppdev automatisch 
geladen wird, kannst du das in /etc/sysconfig/kernel unter 
MODULES_LOADED_ON_BOOT eintragen (oder mit Yast unter Hardware - 
/etc/sysconfig Editor - Kernel - MODULES_LOADED_ON_BOOT).




von Jens (Gast)


Lesenswert?

Vielen Dank, Christian!
Erstmal: Ja, ich kann als Root programmieren, als user startet pony, 
aber es kommt beim RD/WR eine Fehlermeldung (port not available - 16 
o.s.ä.)
Dann: Prima link zu dem OREILLY-Buch
Und: Ich hab allet so jemacht, wie de jeschriem hast und jetzte is wat 
janz komischet bei rausjekomm' :
Der parport0 ist weg. Oder siehts nur so aus? Denn unter [/dev], wo er 
ja vorher noch war, ist er nun nicht mehr zu finden.
Ich werde wohl nochmal alles rückwärts und wieder von vorn machen.

Danke nochma, bist 'n guter : )

Jens

von Christian G. (Gast)


Lesenswert?

Danke für die Blumen, Spendenkonto folgt.

Du kannst jederzeit mit lsmod prüfen, ob der ppdev-Treiber geladen ist. 
Bzw. solltest du dann ppdev, parport und parport_pc angezeigt bekommen, 
weil ppdev die mitzieht, wenn sie noch nicht da sind. Und wenn ppdev 
geladen ist, ist auch der Devicenode da. Angelegt wird der auch ohne die 
Regel für den udevd (allerdings mit den falschen Berechtigungen). Wenn 
die Regel eingetragen ist, muß sie allerdings auch richtig sein (die 
oben ist richtig :-).
Du kannst das Laden des Treibers übrigens auch mit dmesg überprüfen.
Parallel dazu solltest du dich aber noch etwas einlesen und nicht 
einfach meinen Salmon abtippen (ein 'man <befehl>' hilft auch oft 
weiter). Die ganze Sache ist schon ein wenig advanced, nichts, mit dem 
ein Anwender normalerweise in Berührung kommt und bietet für einen 
Anfänger genügend Fallstricke.
Aber, wenns dich interessiert, lernst du etwas über das System und 
vermeidest, eine Anwendung unnötigerweise als Root laufen zu lassen.

Viel Spaß.

von Martin ### (nicht eingelogt) (Gast)


Lesenswert?

Also ich bin mir ziemlich sicher dass unter suse9.2 der Treiber für 
parallel Port standardmässig geladen wurde.
Wird denn unter suse9.2 udev verwendet ?
Ich kann mich daran erinnern das auf suse9.2 reichte einmal:
chown root:users /dev/parport0 (bzw 1,2,3)
und dann:
chmod 770 /dev/parport0

Und schon war parallel Port für alle Benutzer zugänglch.

von Aufreger deluxe (Gast)


Lesenswert?

Hammer geil...LOL...

18 Beiträge, um Ponyprog unter Linux zum Laufen zu kriegen LOL

Ich liebe Windows, setup.exe starten und gut ist.

von Christian G. (Gast)


Lesenswert?

SuSe benutzt ab 9.2 udev.
Ich kann das hier nur gegen eine SLES10 prüfen und da werden zwar 
parport und parport_pc, aber nicht ppdev per default geladen.

Mit chmod sollte es auch klappen, allerdings müsstest du dann irgendwo 
ein Script einhängen, das die Berechtigungen nach dem Laden des Treibers 
setzt. Und genau da soll sich ja der udevd drum kümmern.

von Axel (Gast)


Lesenswert?

"Ich liebe Windows, setup.exe starten und gut ist."

Ja klar.

Und da kann dann auch ganz Deutschland Deinen Parport mit nutzen.

Ist doch toll.

Gruss
Axel

von Martin ### (nicht eingelogt) (Gast)


Lesenswert?

Auf suse9.2 wars es eben nur ein mal nötig berechtigung zu setzten, so 
als ob node auch nach dem treiber neu geladen wurde nicht neu erzeugt 
wurde, oder anders gesagt nache einem Neustart dem Systems blib die 
Berechtigung erhalten.

von SiO2 (Gast)


Lesenswert?

Du musst dich echt verlesen haben, Debian 6.x gibts (noch) nicht.
@Aufreger: ich hoffe, das wenn du mal nen winproblem hier postest, das 
dann nur die antwort: "setup.exe anklicken und gut ist" kommt.
geh zu heise

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.