FB Emulation (qemu) - suche helfende Hand

Status
Für weitere Antworten geschlossen.
Ich hab den Hinweis auf die verschiedenen LAN-Versionen gefunden: Vermutlich geht es nicht mit den neueren Routern und dem anderen Ethernet:

Ethernet

Router mit einem Ethernet-Anschluss verwenden in der Regel den ersten Ethernet-Controller (CPMAC oder EMAC) des AR7 mit dem eingebauten Ethernet-Interface (PHY). Router mit mehreren Ethernet-Anschlüssen verwenden dagegen meist den zweiten CPMAC und einen externen Baustein als Switch.

Zur Zeit wird nur die erste Variante emuliert. Sie funktioniert mit ping, telnet, ssh. Auch Zugriffe auf die im Router eingebauten Webseiten sind inzwischen möglich.

Jörg
 
Anstatt in einem virtuellen LAN kann so eine QEMU-VM mit einem Tap-Device offenbar auch direkt ins lokale Netz eingebunden werden, zumindest bei anderen Gast-Plattformen. Ich bin leider Netzwerk-Noob, aber evtl. würde es sich für die Experten mal lohnen, die Start-Parameter zur Netzwerkkonfiguration anzuschauen bzw. auszutesten.

Habe mich zwar noch nicht mit der FB Emu auseinandergesetzt, aber meine VMs auf meiner SuSE 10.2 starte ich mit angehängten Script, wobei die Optionen, die nicht das Netzwerk betreffen als Parameter übergeben werden. Damit sind sie über das TAP-Device im Bridging Mode in meinem LAN sichtbar, als wären es eigenständige Rechner. Ich benutze DHCP (dank DNSMASQ), wer feste IP's benutzen will, muß sich das abändern.
SuSE, Gentoo und Fedora Benutzer müssen die "sudo"-Befehle noch per "visudo" eintragen, um diese mit Root-Rechten auszuführen, bei allen Debian-Derivaten ist das meines Wissens nicht notwendig.

Code:
#!/bin/bash

OPTIONS=$@

# Kernel-Modul ggfs. laden
if test -z "`lsmod | grep '\<tun\>'`"; then
  echo "Loading module 'tun' ..."
  sudo /sbin/modprobe tun
fi

# Network Bridging einrichten
if test -z "`/sbin/brctl show | grep ^br0 | grep eth0`"; then
   echo "Add host ethernet adapter to the bridge ..."
   sudo /sbin/brctl addif br0 eth0
   echo "Remove IP address from host ethernet device ..."
   sudo /sbin/ifconfig eth0 0.0.0.0 up
   echo "Grab an IP address from DHCP for the bridge ..."
   sudo /bin/rm /var/run/dhcpcd-*0.pid > /dev/null 2>&1
   sudo /sbin/dhcpcd br0;
fi

echo "Creating tap device"
iface=`sudo /usr/bin/tunctl -b -u $UID`

# Ausführen von qemu mit entsprechenden Paramtern
OPTIONS=$OPTIONS" -net nic,macaddr=00:01:02:03:04:05 -net tap,ifname=$iface"
echo "Executing: qemu $OPTIONS"
ERR=`qemu $OPTIONS 2>&1`
echo "Stopping QEMU ..."

# Network Bridging beenden
echo "Remove host ethernet adapter from the bridge ..."
sudo /sbin/brctl delif br0 eth0
echo "Remove IP address from the bridge ..."
sudo /sbin/ifconfig br0 0.0.0.0 up
echo "Grab an IP address from DHCP for the ethernet device ..."
sudo /bin/rm /var/run/dhcpcd-br0.pid > /dev/null 2>&1
sudo /sbin/dhcpcd eth0;

echo "Removing tap device $iface"
sudo /usr/bin/tunctl -d $iface &> /dev/null
 
Ob das hier hilft, da die Bridge auf Boxen mit mehr als einem LAN-Port falsch emuliert wird, weiß ich nicht. Ob man die Bridge umgehen und irgendwie anders netzwerken kann, weiß ich auch nicht. Falls es da eine Möglichkeit gibt, würde ich mich freuen, wenn jemand mit mehr "Checkung" als ich das mal probiert, da ich nicht zwischen kleinen Problemchen im Skript, die eine leichte Anpassung brauchen, und einem echten Emulationsproblem unterscheiden könnte.

Ihr seht, auch jemand wie ich kommt sich manchmal wie ein Idiot vor, und zwar, weil es, bezogen auf das Fachgebiet, auch so ist.
 
hallo

ich weiß das Thema ist schon alter...

Möchte aber das Thema nochmal aufgreifen .
Gibt es da vielleicht eine gut aktuelle Anleitung dazu heute ?

thanks
 
Hallo,

ich habe das Ganze wie oben beschrieben mal mit einem W503V probiert. Leider startet das Image nicht richtig. Ich habe es bisher mit dem Win32 Qemu aus diesem Beitrag probiert und unter Suse mit folgendem Qemu: http://spblinux.de/fbox/tmp/x86/. Gleiches Resultat.

Ich bekomme immer folgende Fehlermeldungen (hier vom Win32 Qemu): jemand eine Idee was das sein kann??

mips_ar7_common_init: ram_base = 02D20000, ram_size = 0x02000000
mips_ar7_common_init: load BIOS 'D://flashimage.bin', size 8388608
QEMU: Warning, could not load MIPS bios 'D://mips_bios.bin'.
QEMU added a jump instruction to flash start.
C:/msys/1.0/home/s228648/work/trunk/hw/serial_16450.c:439
C:/msys/1.0/home/s228648/work/trunk/hw/serial_16450.c:439
AR7 ar7_io_memwrite addr 0x0861094c (???) = 0xffffffff
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
uart irq=029CFCC4 divider=98 speed=39859 parity=N data=8 stop=1 ([][])
uart irq=029CFCC4 divider=98 speed=39859 parity=N data=8 stop=1 ([][])
uart irq=029CFCC4 divider=98 speed=39859 parity=N data=8 stop=1 ([][])
AR7 ar7_io_memread addr 0x0861094c (???) = 0xffffffff
AR7 ar7_io_memread C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:2902 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0861094c (???) = 0xffffffff
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memread addr 0x08610948 (???) = 0xffffffff
AR7 ar7_io_memread C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:2902 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x08610948 (???) = 0xffffffff
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e504 (???) = 0x0cfe2400
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e04c (???) = 0x00000000
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e050 (???) = 0x00000000
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e508 (???) = 0x00000000
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e500 (???) = 0x00008da7
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e048 (???) = 0x0cfe2400
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e044 (???) = 0x00008da7
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e508 (???) = 0x00000001
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e500 (???) = 0x00008da7
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e048 (???) = 0x0cfe2400
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e044 (???) = 0x00008da7
AR7 ar7_io_memwrite C:/msys/1.0/home/s228648/work/trunk/hw/ar7.c:3003 missing, [][]!!!
AR7 ar7_io_memwrite addr 0x0304e508 (???) = 0x00000002

....


Martin
 
Und hat nun was genau mit freetz zu tun? Ich hab in deiner Frage noch nicht einmal das Wort "freetz" gesehen...
 
Hallo,

ich will erstmal die Original Firmware unter Qemu zum Laufen bekommen um danach einige Erweiterungen bzw einen eigen Build zu machen - aber scheitere schon daran das Image das ich via Adam2 bzw EVA gezogen habe (mtd1-4) unter Qemu booten zu können.
Ich sehe zwar Meldungen von EVA auf der Console aber er lädt das Flash nicht richtig...

Martin
 
Eine Unmenge von Meldungen ist normal, weil die Box bei weiten nicht zu 100% emuliert wird. Wenn man die Meldungen nicht unterdrückt, sieht man gar nichts vom dem, was sonst passieren soll.
 
Hallo Ralf,

da hast du wohl Recht.
Hier mal die Meldungen auf der Console:

ram_offset (internal RAM) = 2000000

(AVM) EVA Revision: 1.455 Version: 1455
(C) Copyright 2005 AVM Date: May 23 2008 Time: 12:05:09 (0) 2 0-1001
[FLASH:] MACRONIX Top-Flash 8MB
[FLASH:](Eraseregion [0] 127 sectors a 64kB)
[FLASH:](Eraseregion [1] 8 sectors a 8kB)
[SYSTEM:] UR8 on 360MHz/120MHz

und dann einen Stackauszug.

Es scheint also kein AR7 sondern UR8 System zu sein. Kennt sich damit jemand aus?


Martin
 
Ob ar7 oder ur8 liegt an der Box und ist schlicht im Wiki nachzulesen. Alle (7|3)2XX-Versionen sind ur8. Hier ging es nur um ar7, weil der Thread schon ewig alt ist.
 
Hallo,

kennt denn jemand noch einen Link zu einem aktuellen Win32 Build von qemu mit fbox Settings einkompiliert (-m fbox-8mb)?


Martin
 
Hallo,

ich habe jetzt mal meine Boxen zusammengetragen und alle ausgelesen.
Resultat: Den Win32 Build den ich von Qemu hier im Forum gefunden habe funktioniert mit der letzten Release auf der 7170.

7270 und W503V funktionieren nicht (beide UR8 Plattformen, neuer Kernel?).
Jemand eine Idee woran das liegt bzw einen Win32 Build von Qemu den er erfolgreich mit der 7270 zum Laufen bekommen hat?

Wie gesagt ich habe per git den aktuellen Qemu Branch ausgecheckt und einen Build gemacht bekomme aber immer beim Starten Keymaps file en.us missing.

Martin
 
Und noch einmal die Frage: Was hat das wirklich direkt mit Freetz zu tun? Ich mein, ausser dass du spaeter mal ein Freetz darauf zum laufen bringen willst? DEas ist ein PRoblem zwischen qemu und der AVM-Hardware/Kernel/whatever. Wie wäre mal ein generelles AVM-Unterforum oder mal eines, wo du findest, wie du qemu benutzen sollst?
 
Ich würde in diesem Fall ausnahmsweise sagen, daß es gut wäre, hier weiter darüber zu diskutieren, weil eine funktionierende QEMU-Emulation auch etwas aktuellerer Hardware wie 7170 (habe ich damals nicht zum Laufen gebracht, nur eine ältere Box) inkl. Netzwerk es auch den Entwicklern und Testern deutlich erleichtern würde, mit neuen und bestehenden Funktionen zu experimentieren, insbesondere weil nicht jeder eine serielle Konsole hat.

@MdeWendt: Kannst Du bitte einen genauen Link auf die funktionierende 7170-QEMU-Version posten und kurz beschreiben, was genau da (nicht) funktioniert? Bootet die Box voll durch? Funktioniert das Netzwerk (wenn ja, mit welchen Einstellungen)? Läuft Freetz (wenn ja, welche Version, welche Pakete)?
 
Hallo Alexander,

ich habe den Win32 Build von qemu von hier: http://www.ip-phone-forum.de/showthread.php?p=929417#post929417

Mit einem Image (mtd2+1+3+4) der 7170 gezogen via ADAM2 startet die Konsole und ich kann Komandos eingeben. Netzwerk habe ich erstmal nicht getestet.

Beim Image der 7270 sehe ich im Konsolenfenster zwar EVA laden aber es wird kein Kernel entpackt und geladen. Danach ein Stackauszug und Reboot alle paar Sekunden.

Wie gesagt ich habe mal einen Build vom neusten Git Tree gemacht (git://repo.or.cz/qemu/ar7.git unter cygwin und Suse gebaut) aber dort eigentlich das gleiche Bild.


Martin
 
Bist Du sicher, daß der Kernel nicht entpackt wird? Normalerweise kommt der Stackauszug vom laufenden Kernel. Und wenn er tatsächlich anfängt zu laufen, dann ist vermutlich an einer Stelle die Emulation nicht gut genug. Außerdem kommt vor den Stack Dump normalerweise auch ein Hinweis darauf, warum dieser Stack Dump gemacht wird. Schließlich ist das ja ausschließlich als Hilfe zur Fehlersuche sinnvoll.
 
Hallo,

mittlerweile bin ich mir sogar ziemlich sicher das der Bootloader EVA schon nicht richtig beendet wird.
Ich habe mal von der 7170 mtd2 genommen und zu mtd1,3+4 der 7270 gepackt: Dann kommt noch der EVA Prompt und es kracht beim Entpacken des Kernels.
Anbei ein Screenshot der Konsole von der 7270 mit dem Fehler beim Booten in Qemu.


Martin
 

Anhänge

  • 7270.JPG
    7270.JPG
    72.6 KB · Aufrufe: 57
Du könntest mal "-M ar7" oder "-M mipsel" versuchen, eventuell einfach mal die anderen durchprobieren. Die von mir aktuell gebauten Versionen melden nur "no valid flash detected 0x8003" (gebaut unter Ubuntu)...

Jörg
 
Auch hier noch einmal die Frage:
Da die Links alle Down sind und ich mir keine spezielle qemu bauen kann, bin ich auf die standard ppakete von ubuntu angewiesen.

Mit welchem parameter starte ich das image meiner fritzbox 7270?
Code:
sudo qemu-system-mipsel -L /home/freetz/freetz-7270-cs/build/modified/filesystem/ /home/freetz/freetz-7270-cs/build/modified/filesystem/bin/busybox -M mips -nographic
beendet sich mit der Fehlermeldung Could not open option rom 'vgabios.bin': No such file or directory

Ausführich habe ich mein Problem hier geschildert:
http://www.ip-phone-forum.de/showthread.php?t=136369
 
Status
Für weitere Antworten geschlossen.
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.