PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : monitor auf Mipsel Router OpenWRT



lovert
07.05.2007, 19:28
Hallo,

ich habe vor monitor auf einem OpenWRT Router laufen zu lassen, genauer auf dem Asus WL-500G Deluxe, wie auch die Idee im monitor wiki ist. http://monitor.08k.de/index.php/Projekt03

Leider komme ich nun seit unzähligen Stunden von wikis und How to's lesen nicht weiter.

Zuerst habe ich mich nach der Anleitung für die Linkstation gerichtet.
Ein einfaches "make" scheiterte natürlich, da das Makefile für i386 optimiert war. Somit passte ich das Makefile auf meine Zwecke (im Grund reicht es einfach die i386-spezifischen Parameter zu entfernen und als Compiler den "mipsel-gnu-gcc" zu ersetzen) an und das System kompilierte durch.
Bei dem makefile fangen die Probleme an. Mir ist nicht ganz klar, welche CPU flags für den Prozessor gesetzt werden müssen.

Also habe ich angefangen einiges im Internet zu suchen und lesen. Hier sind mal ein paar Links:

http://forum.openwrt.org/viewtopic.php?id=8410
http://www.linuxselfhelp.com/HOWTO/MIPS-HOWTO-9.html
http://www.denx.de/wiki/view/DULG/ELDKUsage
http://wiki.openwrt.org/BuildingPackagesHowTo#head-63f0adcb7a0a3834b37ce1f0117867768db6ae8c
http://www.linux-mips.org/wiki/Toolchains
... und etliche mehr.

Leider ist mir es auf aufgesetzten cross compiler system nicht gelungen den monitor zu compilieren. Vielleicht habe ich auch bereits Fehler beim aufsetzen der Systeme gemacht.

Mein aktueller Stand ist der, dass ich unter Suse 10.2 mit Qemu ein mipsel System aufgesetzt habe. Nun brauche ich noch einen Compiler für das System und das Makefile muss ich immer noch anpassen.

--> wie setzte ich ein cross compile System korrekt auf und welche Änderungen muss ich im Makefile vornehmen?

Ich wäre dankbar, wenn mir jemand auf die Sprünge helfen würde!

Buebchen
08.05.2007, 00:23
Hallo,

--> wie setzte ich ein cross compile System korrekt auf und welche Änderungen muss ich im Makefile vornehmen?

Ich wäre dankbar, wenn mir jemand auf die Sprünge helfen würde!

Ob das unter SuSE Problematisch ist, weiss ich nicht. Aber grundsätzlich solltest Du gemäss dieser Anleitung die Toolchain (compiler, ulib, etc.) für den MIPS Prozessor bauen können:

http://downloads.openwrt.org/docs/buildroot-documentation.html

Das verwirrende ist immer, daß man so viele Ordner am Ende hat. Im Grunde solltest Du vor allen Dingen folgende Ordner finden:

1. Die Sourcecode Ordner für die Tools (compiler, etc) die für den MIPS Prozessor gedacht sind (Diese sind später nicht interessant)
2. Die aus diesen Quellen erstellen Executables. Diese sind nun so gebaut, daß sie keinen x86 Code erzeugen, sondern für den MIPS Prozessor.
3. Die Quellordner für den Programme für OpenWRT

Danach solltest Du mal ein Makefile für ein Tool raussuchen und analysieren. Viele Einstellungen kannst Du dann sicherlich abschreiben.

Der Wiki Eintrag stammt übrigens von mir :-) Ich hatte damals einige Kernelmodule neu gebaut. Aber die ToolChain habe ich schon lange wieder gelöscht :-(. Hat damals aber überraschend gut geklappt (FC3 oder 4 in einer vmware).

lovert
09.05.2007, 11:43
Vielen Dank schon mal für die Antwort, bei nächster Gelegenheit werde ich mal alles nach der Anleitung installieren und eine Makefile suchen. Werd mich dann melden, wie es verlaufen ist bzw. wie weit ich gekommen bin.

lovert
10.05.2007, 11:51
Nun gut, nach ca. 50min wurde nun das buildroot/toolchain.... erfolgreich gebaut. :-)

Testweise habe ich mal den monitor für x86 gebaut, dies ging ohne Probleme.

In der Makefile habe ich die entsprechenden compiler etc für mipsel angepasst, (gcc -> mipsel-linux-gcc).
Ebenfalls habe ich -march=mips32 gesetzt.

nach einam versuch mit make bekomme ich folgende Meldung:


In file included from monitor.h:26,
from hdlc.h:27
cursor.h:34:21: ncurses.h: No such file or directory
In file included from hdlc.c:27:
monitor.h:138: error: syntax error before "WINDOW"
monitor.h:138: warning: no semicolon at end of struct or union
monitor.h:141: error: syntax error before '}' token
....

funkwart
10.05.2007, 13:29
Hallo lovert,

erst einmal herzlichsten Dank, dass Du Dich in diese Geschichte so reinkniest. Ich interessiere mich auch brennend für diese Sache, habe aber nicht die Zeit (und momentan auch nicht die Hardware), da selbst etwas auszuprobieren. Generell finde ich die Idee interessant, monitor auch auf embedded-Hardware laufen zu lassen. Ich hatte auch schon einmal recherchiert, den "Urvater" vom monitor, den multimon soll es sogar in einer Version für den Sharp Zaurus (Linux-PDA) geben.
Bei Deinem konkreten Problem deuten meiner Meinung nach die Fehlermeldungen u.a. darauf hin, dass die ncurses nicht installiert sind bzw. gefunden werden können.
Hoffentlich kann Dir hier einer der "Linux-Gurus" ein wenig weiterhelfen. Es wäre klasse, wenn das Projekt ans Laufen käme.

Gruß,
Funkwart

lovert
10.05.2007, 14:08
Bei Deinem konkreten Problem deuten meiner Meinung nach die Fehlermeldungen u.a. darauf hin, dass die ncurses nicht installiert sind bzw. gefunden werden können.


Also die ncurses devels sind installier, monitor baut ja auch in der x86 config durch. Die Datei ncurses.h befindet sich auch auf dem system. Ich werde mir mal bei zeiten die suchpfade anschauen....


habe aber nicht die Zeit (und momentan auch nicht die Hardware), da selbst etwas auszuprobieren.


Die Hardware habe ich mir halt gegönnt, und zeit, na ja die nehme ich mir halt irgendwie. Ich will eben nun endlich meinen, seit fast 2,5 Jahren, laufenden PC erlösen. ;-)

funkwart
10.05.2007, 17:41
Ja, das kann ich gut nachvollziehen. Nur für den Monitor einen PC laufen zu lassen ist nich wirklich rentabel. Da lohnt sich so ein Router schon. Zum einen hat er ja noch eine andere Aufgabe, das Routen, und zum anderen braucht er wohl wesentlich weniger Energie als ein PC. Da hat man die Hardwarekosten über kurz oder lang wieder drin.

Gruß,
Funkwart

Buebchen
10.05.2007, 23:31
Ist ncurses im Wirt oder auch in der mips-Buildumgebung installiert ? Prüfe mal die Include-Pfade, ob da wirklich auch für den mips-gcc ein passendes include drin ist.

lovert
11.05.2007, 00:07
Das ist mir vorhin beim lesen auch noch eingefallen, dass ich ja versucht habe außerhalb der bulidumgebung zu compilieren. Also ich habe in der Umgebung keine richtigen suchphade für ncurses feststllen könne. Wie gebe ich diese nun an?

Buebchen
11.05.2007, 00:29
mit -I '<Pfad>' beim Aufruf des gcc. Ist für ihn erstmal nur ein include. Später dann als Library noch beim Aufruf des linkers hinzufügen.

Wenn Du dazu keine includes findest musst Du ncurses noch zur mips Build-Umgebung hinzufügen.

ncurses in den verschiedensten Version finest Du hier: ftp://ftp.gnu.org/pub/gnu/ncurses

lovert
11.05.2007, 10:23
mit -I '<Pfad>' beim Aufruf des gcc. Ist für ihn erstmal nur ein include. Später dann als Library noch beim Aufruf des linkers hinzufügen.


Also zu compilieren scheint es nun, aber nun gibt es Probleme beim einbinden der ncurses lib. Als include pfad habe ich den des wirtsystems angegeben "/usr/include" den Suchpfad für ncurses habe ich auf "/usr/lib" gesetz, wo auch die libs liegen sollten. Nun bekomme ich die Meldung, dass "-lncurses" nicht gefunden werden kann. Ich habe hier auch scon probiert, den kompletten pfad anzugeben, "/usr/lib/libncures.a" ....

Wie gehe ich den am besten vor, um ncurses zu der mips buildumgebung hinzuzufügen?

Danke schon mal für den Hinweis.

Linux ist nicht ganz wie Windows, bzw VS2005 ;-)

Buebchen
11.05.2007, 12:07
Tja. Das kann ich aus dem Kopf heraus nicht so ganz genau sagen. Ist zu lange her.

Da ein configure Script dabei ist muss man dem beibringen, daß man auch in einer cross-compiler Umgebug arbeitet. Muss ich mal nachschauen, wie ich das das letzte Mal gemacht habe.

Ganz wichtig ist halt, daß Du nichts vom Wirtssystem benutzten kannst. Die Binaries sind für den x86 Prozessor erstellt. Selbst wenn der Linker so mutig wäre, daß zu verbinden ist der nächste Absturz des MIPS Prozessors vorprogrammiert. Deshalb muss ncurses für den MIPS neu gebaut werden.

lovert
11.05.2007, 13:36
ok, dafür gibts bei openwrt.org auch sourcen, dann lade ich da mal das Paket für ncurses runter und schau, dass ich es in die bulidumgebung eingebunden bekomme.
Das Wochenende ist ja nahe.. ;-) somit auch die Zeit !!!

funkwart
14.05.2007, 09:40
so langsam interessiert mich das Ganze massiv ;-)
Gibt es schon Fortschritte? Das Wochenende war ja wettertechnisch für solche Aktionen hervorragend. Zumindest bei uns in S-H hat es so einige Kübel Wasser über den Kopf gegeben.
Wäre klasse, wenn Du uns hier auf dem Laufenden halten würdest.

Danke und Gruß,
Funkwart

lovert
14.05.2007, 12:46
also momentan bin ich noch dabei die ncurses libs zu bauen, das scheint nun auch teilweise zu klappen, nur sind galube ich diese momentan doch für das falsche system gebaut worden, da es beim bauen des demo Projekts zu Fehlern kommt. Ich muss nun nochmals schauen, was dort in den configuration nicht stimmt.

Ich hab mich mal ein bisschen nach folgenden Regeln gerichtet:

http://www.ailis.de/~k/docs/crosscompiling/#ncurses

Nur gibt es in der version 5.2 Probleme mit der Datei strstream.h, deshalb probiere ich es momentan mit der version 5.6.

Weiß denn jemand, wie ich ein fertiges Paket in meine Bulit Umgebung einbinden kann, dann könnte ich mir das sparen, da es schon ein fertiges ncurses Paket für mips gibt.

http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Fpackages%2F&download=libncurses_5.2-8_mipsel.ipk

lovert
14.05.2007, 15:28
also ncurses hat jetzt wohl gebaut und lässt sich auch dazu linken.

Wozu braucht das Programm denn die X11 libs??

Wenn ich diese auskommentiere bekomme ich die Meldung, dass mkcostab nicht ausgeführt werden kann....

Hier stehe ich nun...

Buebchen
15.05.2007, 23:45
Könntest du mal den genauen Fehlertext hier posten ?

lovert
18.05.2007, 16:10
Die Arbeit überlagert mich zur Zeit total, deswegen habe ich estwas weniger Zeit als sonst.

Das Problem, dass die mkcostab nicht ausgeführt werden konnte, habe ich überwunden. Und zwar recht einfach. Die erstellte Datei war ja für ein Mipsel system kompiliert, also kann diese ja nicht unter meinem Host System laufen. Wenn diese nun für x86 erstellt wird gehts es und die Tabellen für Kosinus und so werden erzeugt.

Nun bekomme ich aber folgende Meldungen:


mipsel-linux-gcc bin-i686/hdlc.o bin-i686/pocsag.o bin-i686/translate.o bin-i686/demod_afsk12.o bin-i686/demod_afsk24.o bin-i686/demod_afsk24_2.o bin-i686/demod_hapn48.o bin-i686/demod_fsk96.o bin-i686/fms.o bin-i686/demod_poc5.o bin-i686/demod_poc12.o bin-i686/demod_poc24.o bin-i686/demod_fms.o bin-i686/demod_dtmf.o bin-i686/demod_zvei.o bin-i686/unixinout.o bin-i686/monitor_rou.o bin-i686/costabf.o bin-i686/demod_display_dummy.o -L/home/admin/toolchain/trunk/staging_dir_mipsel/usr/lib -lncurses -L/home/admin/toolcchain/trunk/staging_dir_mipsel/lib -lm -o bin-i686/monitor
bin-i686/demod_afsk12.o: In function `afsk12_init':
demod_afsk12.c:(.text+0x70): undefined reference to `cosf'
demod_afsk12.c:(.text+0x8c): undefined reference to `sinf'
demod_afsk12.c:(.text+0xdc): undefined reference to `cosf'
demod_afsk12.c:(.text+0xf8): undefined reference to `sinf'
bin-i686/demod_afsk24.o: In function `afsk24_init':
demod_afsk24.c:(.text+0x7c): undefined reference to `cosf'
demod_afsk24.c:(.text+0x98): undefined reference to `sinf'
demod_afsk24.c:(.text+0xe8): undefined reference to `cosf'
demod_afsk24.c:(.text+0x104): undefined reference to `sinf'
bin-i686/demod_afsk24_2.o: In function `afsk24_2_init':
demod_afsk24_2.c:(.text+0x7c): undefined reference to `cosf'
demod_afsk24_2.c:(.text+0x98): undefined reference to `sinf'
demod_afsk24_2.c:(.text+0xe8): undefined reference to `cosf'
demod_afsk24_2.c:(.text+0x104): undefined reference to `sinf'
bin-i686/demod_fms.o: In function `fms_init':
demod_fms.c:(.text+0x2200): undefined reference to `cosf'
demod_fms.c:(.text+0x221c): undefined reference to `sinf'
demod_fms.c:(.text+0x226c): undefined reference to `cosf'
demod_fms.c:(.text+0x2288): undefined reference to `sinf'
collect2: ld returned 1 exit status
make: *** [bin-i686/monitor] Fehler 1


Es gibt nun wohl noch Probleme beim linken von m (math.h)

lovert
29.05.2007, 13:02
Ich habe zur Zeit wieder ein Bisschen Luft!

Kann mir jemand einen Tipp geben, was hier beim linken nicht geht?

lovert
14.06.2007, 09:00
Also mein Makefile sieht zur Zeit so aus:


DEBUG =n
OS =$(shell uname)

//CFLAGS =-Wstrict-prototypes -I/usr/X11R6/include
CFLAGS =-Wstrict-prototypes -I/usr/X11R6/include -I/home/admin/toolchain/trunk/staging_dir_mipsel/usr/include -I/home/admin/toolchain/trunk/staging_dir_mipsel/includ -I/home/admin/toolchain/trunk/staging_dir_mipsel/include
ifeq ($(OS), SunOS)
ifeq ($(DEBUG),y)
CFLAGS +=-Wall -g -O -DSUN_AUDIO -DARCH_SPARC
else
CFLAGS +=-O3 -DSUN_AUDIO -DARCH_SPARC
endif
LDFLAGSX =-lX11 -L/usr/X11R6/lib -R/usr/X11R6/lib -lsocket -lnsl
else
ifeq ($(DEBUG),y)
CFLAGS +=-Wall -g -O -DARCH_I386
else
CFLAGS +=-O2 -march=mips32 -mtune=mips32
endif
//LDFLAGSX =-lX11 -L/usr/X11R6/lib
LDFLAGSX =
endif

prefix = /usr/local
exec_prefix = ${prefix}
USRBINDIR = ${exec_prefix}/bin
USRMANDIR = ${exec_prefix}/man/mann

BINDIR =bin-$(shell uname -m)

AS86 =as86 -0 -a
LD86 =ld86 -0

AS =mipsel-linux-as
LD =mipsel-linux-ld
LDFLAGS =-L/home/admin/toolchain/trunk/staging_dir_mipsel/usr/lib -lncurses -L/home/admin/toolcchain/trunk/staging_dir_mipsel/lib -lm
//LDFLAGS =-lm -L/home/admin/toolchain/trunk/staging_dir_mipsel/usr/lib -lncurses
HOSTCC =gcc
CC =mipsel-linux-gcc
MAKE =make
CPP =$(CC) -E
AR =mipsel-linux-ar
STRIP =mipsel-linux-strip
MKDIR =mkdir
INSTALL = /usr/bin/install -c

all: $(BINDIR) $(BINDIR)/monitor $(BINDIR)/gen
scope: $(BINDIR) $(BINDIR)/Xmonitor $(BINDIR)/gen

$(BINDIR)/%.s: %.c
$(CC) $(CFLAGS) -S -o $@ $<

$(BINDIR)/%.o: $(BINDIR)/%.s
$(AS) -c -o $@ $<

$(BINDIR)/%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<

SRC_L2 =hdlc.c pocsag.c translate.c
SRC_L1 =demod_afsk12.c demod_afsk24.c demod_afsk24_2.c
SRC_L1 +=demod_hapn48.c demod_fsk96.c fms.c
SRC_L1 +=demod_poc5.c demod_poc12.c demod_poc24.c demod_fms.c
SRC_L1 +=demod_dtmf.c demod_zvei.c
SRC_MISC =unixinout.c monitor_rou.c costabf.c
SRC_X =demod_display.c xdisplay.c
SRC_NO_X =demod_display_dummy.c

SRC_GEN =gen.c gen_dtmf.c gen_sin.c gen_zvei.c gen_hdlc.c gen_fms.c costabi.c

OBJ_L2 =$(SRC_L2:%.c=$(BINDIR)/%.o)
OBJ_L1 =$(SRC_L1:%.c=$(BINDIR)/%.o)
OBJ_MISC =$(SRC_MISC:%.c=$(BINDIR)/%.o)
OBJ_X =$(SRC_X:%.c=$(BINDIR)/%.o)
OBJ_NO_X =$(SRC_NO_X:%.c=$(BINDIR)/%.o)

OBJ_GEN =$(SRC_GEN:%.c=$(BINDIR)/%.o)

$(BINDIR):
$(MKDIR) $(BINDIR)

$(BINDIR)/Xmonitor: $(OBJ_L2) $(OBJ_L1) $(OBJ_MISC) $(OBJ_X)
$(CC) $^ $(LDFLAGS) $(LDFLAGSX) -o $@
$(RM) -f monitor
ln -s $(BINDIR)/Xmonitor monitor

$(BINDIR)/monitor: $(OBJ_L2) $(OBJ_L1) $(OBJ_MISC) $(OBJ_NO_X)
$(CC) $^ $(LDFLAGS) -o $@
$(RM) -f monitor
ln -s $(BINDIR)/monitor monitor

$(BINDIR)/gen: $(OBJ_GEN)
$(CC) $^ $(LDFLAGS) -o $@
$(RM) -f gen
ln -s $(BINDIR)/gen gen

$(BINDIR)/mkcostab: $(BINDIR)/mkcostab.o
$(HOSTCC) $^ $(LDFLAGS) $(LDFLAGSX) -o $@

costabi.c, costabf.c: $(BINDIR)/mkcostab
$(BINDIR)/mkcostab

install:
@echo
@echo Installiere Monitor und Gen nach $(USRBINDIR),
@echo Manual nach $(USRMANDIR)
@echo als Super User
@echo
su -c"$(INSTALL) monitor $(USRBINDIR);\
$(INSTALL) $(BINDIR)/gen $(USRBINDIR);\
$(INSTALL) monrc.n.gz $(USRMANDIR)"

uninstall:
@echo
@echo Deinstalliere Monitor und Gen aus $(USRBINDIR),
@echo Manual aus $(USRMANDIR)
@echo als Super User
@echo
su -c"$(RM) $(USRBINDIR)/monitor;\
$(RM) $(USRBINDIR)/gen;\
$(RM) $(USRMANDIR)/monrc.n.gz"

xclean:
$(RM) -f monitor
$(RM) -f gen
$(RM) -f -r $(BINDIR)
make clean

clean:
$(RM) -f `find . -name '*.[oas]' -print`
$(RM) -f costabi.c costabf.c *~
$(RM) -f `find . -name 'core' -print`


depend dep:
$(CPP) -M $(CFLAGS) $(SRC_MISC) $(SRC_L1) $(SRC_L2) $(SRC_GEN) mkcostab.c > $(BINDIR)/.depend

ifeq ($(BINDIR)/.depend,$(wildcard $(BINDIR)/.depend))
include $(BINDIR)/.depend
endif


Gibt es denn die math Funktionen extra für MIPSEL?

Buebchen
14.06.2007, 15:50
Vielleicht nur ein Schreibfehler ?

LDFLAGS =-L/home/admin/toolchain/trunk/staging_dir_mipsel/usr/lib -lncurses -L/home/admin/toolcchain/trunk/staging_dir_mipsel/lib -lm

... zweimal c in toolchain

lovert
14.06.2007, 17:02
Danke für den Hinweis. Leider hat dies auch nicht zum gewünschten Erfolg geführt. Ich bekomme immer noch die selbe Meldung. :-(

Ich werd noch ein bisschen googeln und openwrt foren durchforsten...

Buebchen
14.06.2007, 19:14
Könnte mir noch zwei Dinge vorstellen:

1. Wenn die uclib genutzt wird, ist da der Support für ISO C99 Funktionen drin (cosf,sinf ´,...)

2. Eigentlich sollte die Funktion beim GCC "buildin" sein. Ggf. beim Erstellen des gcc für den mips keine Option "--enable-c99" ?

lovert
15.06.2007, 11:38
1. also wenn ich den "mipsel-linux-uclibc-gcc" benutze bekomme ich die gleiche Meldung.

2. Wo gebe ich denn die Option beim erstellen an? Ich konfiguriere alles über das Menu. Ich suche dort einmal ob die flags setzen kann. Wo muss ich es sonst von hand angeben?

lovert
15.06.2007, 11:41
hm ok, ich habe gerade ein Flag in dem ConfigMenu gefunden. Ich bau dann mal wieder neu und teste es nochmal.

funkwart
15.06.2007, 12:10
Oh Mann, scheint ja ziemlich frickelig zu sein die ganze Angelegenheit. Ich finds klasse, dass Du da nicht aufgibst und so viel Energie in das Projekt steckst. Letztendlich profitieren ja alle von Deiner Arbeit. DANKE!

Gruß,
Funkwart


PS: Hast Du denn eigentlich schon den notwendigen "Rest" am Laufen? Also hauptsächlich die Frage, ob es Dir schon gelungen ist, ein Sounddevice auf dem Router ans Laufen zu kriegen. Wenn ja, welches Gerät verwendest Du?
Die Sache wird spannend. Ich denke, es wird Dir schon noch gelingen, den Monitor auf dem WL-500gP zum Funktionieren zu bekommen. Mein Bestellschein für einen Router ist quasi schon ausgefüllt und geht sofort in die Post, wenn monitor funzt.

lovert
15.06.2007, 17:48
Ein kompletter neubau vom toolchain mit dem Flag hat leider auch nichts gebracht. Na ja, ...

Also die USB Soundkarte läuft schon lange. Ist so eine 7EUR noname von Ebay.

Nach dieser Anleitung bekommt man des gut zum laufen:
http://www.dd-wrt.com/wiki/index.php/ASUS_WL-500g_Premium


Wenn ich nich allzu viel zur Zeit zu tun hätte, könnte ich etwas mehr Zeit und Geduld rein stecken. Da ich in ca. 6 Wochen umziehe, wollte ich bis dahin eigentlich das System am laufen haben, da der jetztige PC dann nicht mehr laufen soll... Aber ich denke, das wird nicht ganz klappen ;-) Zumal ich mich auch nicht so besinders gut mit Linux und schon gar nicht mit CorssCompilen auskenne.

Mich würde auch mal das Makefile von der Buffalo Linkstation interessieren, wie das denn ausieht.
http://monitor.08k.de/index.php/Projekt01

Magnet
18.06.2007, 17:24
Mich würde auch mal das Makefile von der Buffalo Linkstation interessieren, wie das denn ausieht.
http://monitor.08k.de/index.php/Projekt01

Ganz ähnlich dem orginal i386 Makefile, ich hab es hier mal hinterlegt: http://monitor.08k.de/downloads/Makefile
Damit baut der Monitor auf meiner Linksys durch.

Viel Erfolg noch,
Magnet

lovert
18.06.2007, 18:34
Danke mal Magnet für das Makefile.

Ein schneller test ist natürlich gescheitert. Ich werde es mir mal genauer ansehen und ggf noch anpassen.
Was für eine Built Umgebung hattest du den Aufgesetzt?

Mich wundert, wie das bauen des Programs mkcostab mit dem gcc für mipsel funktionieren kann? Bei mir schlägt das immer fehl, oder ich kann es eben nicht ausführen, da es für eine Andere Platform gebaut worden ist. Im Grunde kann ich es auch rausschmeißen, wenn ich mit einmal die cos tabellen erzeugt habe. Dann brauche ich mich darum nicht mehr kümmern.
Welchen Grund hat es denn, dass man die Tabellen immer neu erzeugt, anstatt mitliefert?

lovert
19.06.2007, 08:31
Einen wunderschönen guten Morgen! ;-)

Ihr werdet es nicht glauben, der Monitor hat zum erstenmal durchgebaut!!!

Testen kann ich ihn hier leider noch nicht, aber das ist doch schon mal sau gut! Ich muss wohl eh noch die Soundkarte anpassen und das ganze neu compilieren, aber ich weiß jetzt wie ich das System aufsetzen muss.

Ich werde mich bei gelegenheit mal hinsetzten und eine Anleitung schreiben, auf was man achen muss etc.

Also dann mal noch einen schönen Arbeitstag! ;-)

funkwart
19.06.2007, 09:19
YES, JUHUU, JAWOLL!!!

Sehr schön. Ich danke Dir nochmals herzlich für Deine Mühen und fiebere der Anleitung entgegen. Bin mir noch nicht ganz sicher, aber ich denke, dass ich mir dann wohl auch mal einen entsprechenden Router zulegen werde. Stellst Du die Anleitung dann bitte auch im Wiki zur Verfügung?

Danke und Gruß,
Funkwart

SirFS
19.06.2007, 09:55
Ich habe das Thema hier mal angepinnt...

Ich bin schon gespannt auf die Anleitung.

lovert
21.06.2007, 23:13
Für die Anleitung brauch ich noch ein paar Momente. ;-) Ich muss erst nochmal alle Steps die überhaupt nötig sind finden und dann alles zusammenschreiben.

Bei einem kurzen test, sprich starten des Monitor auf dem Router bekomme ich folgende Meldung:



Error opening terminal: xterm.


Muss ich beim bauen doch noch etwas beachten?

arnolde
04.07.2007, 17:57
Hi,
Ich will jetzt auch auf einem Embedded System das Ganze probieren (siehe eigener Thread http://funkmeldesystem.de/foren/showthread.php?t=32347) und würd mich natürlich auch sehr über jede Info von Dir freuen, was Fallstricke/Probleme/Lösungen angeht!

stoepf
12.01.2008, 15:26
Hallo,

Ich häng mich jetzt mal hier hin.

Ich hab mittlerweile Debian auf ner Linkstation laufen, aber die CPU-Auslastung nach dem Start des monitors liegt bei 99%.
Hat jemand eine Idee?
Ich hatte -LX11 auskommentiert, weil ich dafür kein Paket hatte.

Danke für eure Hilfe

Stoepf

lovert
15.01.2008, 15:51
Ne Idee hab ich nicht wirklich, außer fehlerhaftem Code...

Aber mich würde interessieren, wie du das Toolchain gebaut hast.

Ich beschäftige mich zur Zeit auch wieder mehr mit meinem Router, damit ich das endlich mal ins laufen bekomme.

Welche Version des Monitors hast du denn benutzt? 1.8.1?

stoepf
15.01.2008, 18:12
Ich hab die Linkstation und da ist soviel Speicher drin, dass man direkt übersetzen kann.
Hab die 1.8.1 versucht.

Buebchen
16.01.2008, 00:06
Reduziere mal auf ein einzelnes Auserwertermodul, sofern nicht geschehen. Ggf. reicht die Prozessorleistung nicht aus ... ?

stoepf
16.01.2008, 17:30
Reicht es aus in der .monrc nur ein Modul einzutragen?
Das hab ich schon gemacht.

Oder muss ich compillieren?

Laut http://monitor.08k.de/index.php/Projekt01 funktioniert es ja auf der Hardware, vielleicht kann sich der Autor mal melden.
Ist ja eigentlich die gleiche Hardware und sollte ja dann auch bei mir laufen.

stoepf
16.01.2008, 23:58
Hab gerade nochmal bissl gegoogelt und noch eine Info gefunden.
Es macht wohl einen Unterschied, ob Debian installiert wurde oder Free-/Openlink.
Da muss ich mich wohl doch nochmal mit Debian versuchen.
Falls jemand noch einen Tipp hat wäre ich aber trotzdem dankbar.

stoepf
18.01.2008, 13:56
Hab jetzt nochmal versucht Debian zu installieren.
Allerdings meckert er mir jedes mal vor, dass irgendwas mit der libc nicht in Ordung sei und ich doch einen 2.6er Kernel installieren/kompilieren soll.

jhr-online
18.01.2008, 18:21
Selbst Debian old-stable kommt mit 2.6er Kernel. Was hast du da installiert?

jhr

stoepf
19.01.2008, 00:43
Nennt sich Freelink und ist eine Debian-Version, die man direkt auf die Linkstation flashen kann.
Auf nas-central.org steht das die 2.6 wohl nicht auf der LS2 läuft.

lovert
22.08.2008, 14:33
Nach dem ich nun fast aufgegeben hatte....

Hab nun nur noch ein paar kleine Probleme mit dem moniotd auf dem Router....

Demnächst mehr! ;-) (vlt. heute Abend!)

lovert
23.08.2008, 03:25
mit dem monitor 2.0 gehts wunderbar mim cross-compilen...

Nach Platzproblemen aufm Router usw.... läufts nun soweit:



02:17:35.922 INFO: monitord/SocketServer.cpp(660) SocketManager erstellt
02:17:35.925 DEBUG: monitord/MonitorSignals.cpp(21) Signal erstellt...
02:17:35.926 INFO: monitord/MonitorModulesResults.cpp(51) Dispatcher startet
02:17:35.944 DEBUG: monitord/MonitorModulesResults.cpp(88) Dispatcher waiting
02:17:35.946 DEBUG: monitord/MonitorSignals.cpp(60) Waiting for signal
02:18:05.278 DEBUG: monitord/MonitorSignals.cpp(21) Signal erstellt...
./monitord: can't resolve symbol 'globfree'


Die Meldung kommt erst nach ein paar Sekunden.

Weiter wird irgendwie keine Logdatei geschrieben und da noch keine Soundkarte am System hängt wundert mich die Meldung "MonitorSignals.cpp(21) Signal erstellt..."

Jemand eine Ahnung zu 'globfree'?
Und gibts einen "mixer" für dd-wrt, openwrt? Damit ich die Lautstärke einstellen kann?

Buebchen
23.08.2008, 16:14
Weiter wird irgendwie keine Logdatei geschrieben und da noch keine Soundkarte am System hängt wundert mich die Meldung "MonitorSignals.cpp(21) Signal erstellt..."


Das Signal ist nur für die interne Kommunikation zwischen den Prozessen ( Ein Prozeß warte auf das Signal, um weiter zu machen ... ). Das hat an der Stelle nichts mit der Tonverarbeitung zu tun.

Beim Rest kann ich leider nicht helfen, da meine Open-WRT Geräte das zeitliche gesegnet haben ( nicht ganz unschuldig war da meine Experimentierfreude :-) )

lovert
23.08.2008, 16:25
und zu globfree?

definiert ist die Funktion in glob.h und in der libc Library, wenn ich richtig liege. Wird von SimpleOpt benutzt...

Wenn ich die Library aufs Systeme lege gehts auch net. Was muss ich denn dem Compiler sagen, dass er die Lib statisch linken soll?

Ich schau solange mal, dass ich die Soudnkarte zum laufen bekomm....

Buebchen
24.08.2008, 12:18
Wenn globfree nicht in der µlibc ist, dann muss ich mal gucken, was man da machen kann. Vllt. ne configure Option, daß ich SimpleOpt nicht nutze. Im Grunde kann man ja auch alles über die monitord.xml einstellen.

Werde mich da nochmal einlesen müssen ...