Naja, leichter gesagt als getan. Bisher schmiert EMC2 immer ab beim Starten.
Hatte aber noch keine Zeit, mich der Fehlermeldung zu widmen.
Oder stürzt das immer ab, wenn man nichts am Port hängen hat?
Wenn die Optokoppler das Signal invertieren, ist das doch nicht so schlimm. In EMC2 kann man bei der Einrichtung über den Stepconf Wizard einfach Häkchen setzen, an welchem LPT1-Pin eine Invertierung erfolgen soll. Einfacher geht's nun wirklich nicht.
Naja, leichter gesagt als getan. Bisher schmiert EMC2 immer ab beim Starten.
Hatte aber noch keine Zeit, mich der Fehlermeldung zu widmen.
Oder stürzt das immer ab, wenn man nichts am Port hängen hat?
Das sollte dem Rechner eigentlich egal sein, ob da was dranhängt oder nicht. Ohne was dran muss es auf jeden Fall funktionieren. Dann ist es wohl was anderes. Was hast Du denn für einen Rechner? Meiner ist zwar auch schon 13 Jahre alt, aber zum Testen reicht der völlig. Wenn mal alles wie geplant funktioniert, dann gibt's auch mal einen neueren Rechner, wo höhere Verfahrgeschwindigkeiten möglich sind. Auf dem aktuellen Teil war es jedenfalls nicht möglich, Ubuntu zu installieren. Da habe ich die Festplatte ausgebaut und das ganze auf einem anderen PC installiert. Dann wieder bei mir eingebaut. Und das klappte. Wurde sofort erkannt. Allerdings nur mit 8.04. Die aktuelle Version über 10.04 lief nicht. Aber immerhin. Poste doch mal die Daten von Deinem Rechner. Vielleicht ist da schon was zu erkennen.
Tomizz
Auf die Schnelle hab ich nur die Fehlermeldung parrat:
Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.5
EMC2 - 2.4.3
Machine configuration directory is '/home/cysign/emc2/configs/stepper'
Machine configuration file is 'stepper_mm.ini'
INIFILE=/home/cysign/emc2/configs/stepper/stepper_mm.ini
PARAMETER_FILE=stepper.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=
DISPLAY=axis
NML_FILE=
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
Starting EMC2 TASK program: milltask
Starting EMC2 DISPLAY program: axis
Shutting down and cleaning up EMC2...
Killing task emcsvr, PID=2858
Killing task milltask, PID=2902
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done
Debug file information:
/usr/bin/emc: line 654: 2903 Segmentation fault $EMCDISPLAY -ini "$INIFILE" $EMCDISPLAYARGS $EXTRA_ARGS
2858
PID TTY STAT TIME COMMAND
2902
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Kernel message information:
[ 5349.040708] I-pipe: Domain RTAI registered.
[ 5349.040746] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 5349.040754] RTAI[hal]: compiled with GCC version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 5349.040776] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 5349.040783] PIPELINE layers:
[ 5349.040792] e0ee3e20 9ac15d93 RTAI 200
[ 5349.040799] c085cb20 0 Linux 100
[ 5349.203065] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 5349.208802] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 5349.208821] RTAI[sched]: hard timer type/freq = APIC/6215281(Hz); default timing: periodic; linear timed lists.
[ 5349.208831] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 994510000 hz.
[ 5349.208838] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[ 5349.209489] RTAI[usi]: enabled.
[ 5349.812203] RTAI[math]: loaded.
[ 5350.405575] config string '0x0378'
[ 5357.252447] __ratelimit: 9 callbacks suppressed
[ 5357.252471] axis[2903]: segfault at 0 ip (null) sp bfef567c error 4 in libssl.so.0.9.8[110000+42000]
[ 5364.585029] RTAI[math]: unloaded.
[ 5364.916263] SCHED releases registered named ALIEN RTGLBH
[ 5364.933228] RTAI[malloc]: unloaded.
[ 5365.032146] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 5365.062677] I-pipe: Domain RTAI unregistered.
[ 5365.062711] RTAI[hal]: unmounted.
Ich bin nun kein Linux-Experte, um diese Meldungen auszuwerten. Aber vielleicht ist die Taktfrequenz nicht hoch genug. Für den Realtimekernel werden mindestens 800 MHz empfohlen. Mein Rechner hat nur 600 MHz, und es geht schon noch so. Wie gesagt, die genauen Daten wären hilfreicher.
Der im Log erwähnte Segmentation Fault deutet auf einen defekten Arbeitsspeicher hin. (Sofern dieser Fehler nicht zum ersten mal so ist)
Mit Ubuntu installiert sich doch auch Memtest. Erreichbar ist das über den Grub-Bootloader.
Lass das mal deinen Arbeitsspeicher untersuchen.
Über Grub werd ichs nicht starten können, da ich keinen Bildschirm an dem Rechner dran hab (und auch kein altes VGA-Kabel mehr in meiner Bude verweilt...). Aber Memtest müsste ich ja auch per ssh starten können. Danke für den Hinweis!
- - - Aktualisiert - - -
Okay, dann wirds wohl Zeit für nen neuen Ram-Riegel:
Ich weiß zwar nicht, was 137 bedeutet, allerdings sollte 0 zurückgegeben werden...cysign@cysign-cnc:~$ sudo memtester 512 5
memtester version 4.1.2 (32-bit)
Copyright (C) 2009 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffff000
want 512MB (536870912 bytes)
got 512MB (536870912 bytes), trying mlock ...Killed
cysign@cysign-cnc:~$ echo $?
137
Was die CPU anbelangt:
Nen 1Ghz Celeron sollte denke ich ausreichend sein für EMC2.cysign@cysign-cnc:~$ top -b -n 1 |grep ^Cpu
Cpu(s): 1.7%us, 3.4%sy, 20.1%ni, 72.8%id, 1.9%wa, 0.0%hi, 0.0%si, 0.0%st
cysign@cysign-cnc:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Celeron (Coppermine)
stepping : 10
cpu MHz : 994.446
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pse36 mmx fxsr sse up
bogomips : 1988.89
clflush size : 32
cache_alignment : 32
address sizes : 36 bits physical, 32 bits virtual
power management:
Puh...der Ram ist mit "Kingston KSE1840/256 3.3V" gelabelt. Ich bin mir aber nicht sicher, was das fürn Ramtyp ist. Heutzutage steht das ja meißtens mit drauf
Ich vermute aber SD-Ram. Die Kontaktleiste hat zwei Aussparungen, DDR hat nur eine...
- - - Aktualisiert - - -
Könnt auch sein, dass es rumzickt, weil kein Monitor angeschlossen ist, oder?
Geändert von Cysign (06.02.2013 um 21:26 Uhr)
Also das mit dem fehlenden Monitor dürfte eigentlich nichts machen.
Das müsste der PC ja gar nicht mitbekommen. Ich habs auf jeden Fall gerade mal getestet. Mein LinuxCNC startet normal, wenn ich keinen Monitor angeschlossen hab.
memtester kenne ich nicht. Kann also auch nichts zu dem Ergebnis sagen.
Steck an den Rechner mal nen Bildschirm an. Memtest gibt dir auch Informationen zum Speichertyp an.
Beim starten musst du dann Esc drücken, damit du in das Grubauswahlmenü kommst. Dann startest du mal den Defaulttest in Memtest und lässt ihn ein paar Stunden laufen. Dann wird sich zeigen, wie viele Fehler dabei auftauchen.
So, ich hab nach langem Suchen nen 64MB udn nen 32MB SD-RAM PC-100 zum Testen ausleihen können
Nach etwa 30 Minuten Bootzeit war der Rechner dann acuh soweit, dass ich es wagen konnte, EMC2 zu starten. Und siehe da: Es geht.
Lag also wirklich am Ram.
Ma schaun, dass ich die Tage inner Bucht neuen schieße.
Bleibt aber weiter das Problem mit dem Monitor. Aktuell ist die Kiste mit nem VGA-Kabel an meinem Monitor angeschlossen und ich kann die Auflösung bis FullHD hochdrehen. Aber sobald das Kabel weg ist, bekomm ich wieder nur 640*480 hin, was zu wenig ist für EMC2. Hast du vielleicht ne Idee, wie ich den X-Server dazu zwingen kann, kein Autodetect durchzuführen, damit ich ihn bei der gezwungenen Auflösung halten kann? Der Rechner soll ja später nur über VNC angesprochen werden, ohne eigenen Monitor. (hoffentlich reicht die Leistung dazu aus, wenn EMC2 da dann in Echtzeit die Schrittmotore steuert...)
Neuen Ram hab ich leider immer noch nicht gefunden... aber das Low-Budget-Fräsenmodell hat inzwischen wieder kleine Fortschritte gemacht.
Inzwischen sieht es so aus:
Bild hier
Inzwischen hat sich jedoch die Zielrichtung etwas verändert:
Dieses Modell hier dient lediglich zum "erste Erfahrungen sammeln mit CNC-Geschichten", um Schwächen zu finden, für das nächste Fräsenprojekt.
Lesezeichen