AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Alles rund um Amiga OS4 selbst

Moderator: OS4Welt-Team

Maijestro
Beiträge: 403
Registriert: 23. Dezember 2022 15:49
Hat sich bedankt: 138 Mal
Danksagung erhalten: 112 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Maijestro »

@balaton

Es war ohne Debug Ausgabe für RTL8139 (qemu/net/rtl8139.c) das einzige was ich mit angehangen habe war „ -d guest_errors,unimp -serial stdio„ um etwas mehr Informationen zu bekommen.

Ich kann den Test aber auch noch mal mit Debug Ausgabe für (qemu/net/rtl8139.c) zusätzlich wiederholen.
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3518
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 34 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Cyborg »

Maijestro hat geschrieben: 10. April 2024 17:21 Da der Treiber Version 1 etwas besser funktioniert, ist es für mich in Ordnung und ich könnte ihn irgendwo hosten und darauf verweisen, besonders für Leute die Qemu mit AmigaOs4.1 auf ein Mac M1/M2 verwenden.
Nein. Der Treiber bzw. die Testversionen sind nur hier im Forum zum Testen und nicht, um sie tatsächlich irgendwo zu veröffentlichen. Insbesondere 53.6-qemutest, da er auf echter Hardware nicht funktioniert. Wenn die richtige Lösung für das Problem gefunden wurde, werde ich eine offizielle Version veröffentlichen, nicht vorher. Bitte respektiere das und versuche nicht, irgendwelche Abkürzungen zu nehmen. Danke für Dein Verständnis.

Hilfreich wäre, wenn mal jemand das Verhalten unter Windows mit gleichen Parametern mit 53.7-qemutest prüfen würde. Verhält es sich gleich? Gibt es Unterschiede?
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3518
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 34 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Cyborg »

Lord hat geschrieben: 10. April 2024 19:30 Hi, hab jetzt auch mal den ersten Treiber unter Qemu auf den Mac Mini M1 Qemu 8x (Brew) getestet. Ich habe weiter einen hohen Packet Verlust von 92%. Ermittelt durch einfachen Ping zur FritzBox.
Der "erste" Testtreiber ist Schall und Rauch. Das war wirklich ein Quick&Dirty-Versuch, der nach hinten losging. Wie sieht es bei Dir mit 53.7-qemutest aus? Und welche Qemu-Parameter verwendest Du?
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3518
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 34 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Cyborg »

aros-sg hat geschrieben: 10. April 2024 20:14 Der Fix ist für ein TODO wegen ~"wrapped frames" (halbes Paket am Ende des Buffers, der Rest landet am Anfang des Buffers).
Das ist kein "Fix", sondern eher ein unschönder Workaround (den ich in der Frühphase der Treibentwicklung auch mal drin hatte) :D Mein Treiber unterstützt das Wrapping sauber.

ABER: tatsächlich könnte es sein, daß Qemu das Wrapping anders macht, als es sein sollte oder erwartet wird .. es ist auf jeden Fall wert, mal genauer untersucht zu werden.
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3518
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 34 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Cyborg »

balaton hat geschrieben: 10. April 2024 14:57 Es soll auch mit -netdev user funktionieren. User Netzwerk ist wie ein Firewall der ICMP und einkommende Verbindungen filtriert wie meiste Routern tun, aber ICMP zum Gateway soll gehen. Wichtig ist dass IP Addresse aus DHCP nehmen und nicht andere manuell setzen.
Ich kann nur sagen, daß ich mit -netdev user/SLiRP definitiv keine Verbindung über das Gateway hinaus bekomme. DHCP funktioniert, aber nichts darüberhinaus ... nicht mal die DNS-Auflösung.

Ja, daß ICMP nicht geht, weiß ich, das hat aber ja nichts mit TCP und UDP zu tun, was funktionieren müßte. Und auch mit meinem Treiber kann es kaum was zu tun haben, weil dem natürlich völlig egal ist, was für Pakete übertragen werden, solange sie in einem ordentlichen Ethernetframe verpackt sind.
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Benutzeravatar
Lord
Beiträge: 70
Registriert: 19. Januar 2018 11:13
Wohnort: im schönen Harz
Danksagung erhalten: 2 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Lord »

Cyborg hat geschrieben: 11. April 2024 08:25
Der "erste" Testtreiber ist Schall und Rauch. Das war wirklich ein Quick&Dirty-Versuch, der nach hinten losging. Wie sieht es bei Dir mit 53.7-qemutest aus? Und welche Qemu-Parameter verwendest Du?
Parameter:
% qemu-system-ppc -M pegasos2 -cpu 7447 -kernel /Volumes/Data/OS4/bboot/bboot -initrd /Volumes/Data/OS4/bboot/Kickstart.zip -vga none -device sm501 -drive if=none,id=hd,file=/Volumes/Data/OS4/OS4-SYS.img,format=raw -device ide-hd,drive=hd,bus=ide.1 -drive if=none,id=hd1,file=/Volumes/Data/OS4/Work.img,format=raw -device ide-hd,drive=hd1,bus=ide.1 -drive file=fat:rw:/tmp,id=ufat,format=raw,if=none -device usb-storage,drive=ufat -drive if=none,id=cd -device ide-cd,drive=cd,bus=ide.0 -device rtl8139,netdev=net0 -netdev user,id=net0 -rtc base=localtime -m 2048 -display cocoa,zoom-to-fit=off,full-screen=off -serial stdio

Der 15.7 geht bei mir überhaupt nicht, da geht noch nicht mal ein Ping und es kommt noch dazu das sich zumindest 1x das System aufgehängt hat. Das hatte ich vorher nicht. Getestet nur DHCP. VG
A4000T-CSMK2_060 + PIV+ Concertio + X-Surf100 + RapidRoad
A1200-Vampire1200 + A314cp + Goex + Indivision MK3 + FreewayCP
A1200-Pistorm32 + CM4 + A314cp + Indivision MK3 + RapidRoad
A500 Mini | Powerbook G4 17"&15" & G5 MorphOS
Peg2 G4-R9000pro,EXSYS EX-1066 USB,Terratec Aureon 5.1Fun,RTL8169C LAN,OS 4.1FE-U2
Benutzeravatar
Cyborg
AmigaOS Entwickler
Beiträge: 3518
Registriert: 28. September 2009 11:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 34 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Cyborg »

Ping braucht ICMP und das geht mit „user“ netdev nicht, außer zum Gateway. Mit „vmnet-bridged“ sähe das wohl anders aus, aber wie ich oben schon schrieb, verhält sich auch 53.7-qemutest erratisch.

Danke für den Nachtest.
.. der SysOp hat immer recht :evil:

PGP Schlüssel verfügbar
Maijestro
Beiträge: 403
Registriert: 23. Dezember 2022 15:49
Hat sich bedankt: 138 Mal
Danksagung erhalten: 112 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Maijestro »

Lord hat geschrieben: 11. April 2024 12:19
Cyborg hat geschrieben: 11. April 2024 08:25
Der "erste" Testtreiber ist Schall und Rauch. Das war wirklich ein Quick&Dirty-Versuch, der nach hinten losging. Wie sieht es bei Dir mit 53.7-qemutest aus? Und welche Qemu-Parameter verwendest Du?
Parameter:
% qemu-system-ppc -M pegasos2 -cpu 7447 -kernel /Volumes/Data/OS4/bboot/bboot -initrd /Volumes/Data/OS4/bboot/Kickstart.zip -vga none -device sm501 -drive if=none,id=hd,file=/Volumes/Data/OS4/OS4-SYS.img,format=raw -device ide-hd,drive=hd,bus=ide.1 -drive if=none,id=hd1,file=/Volumes/Data/OS4/Work.img,format=raw -device ide-hd,drive=hd1,bus=ide.1 -drive file=fat:rw:/tmp,id=ufat,format=raw,if=none -device usb-storage,drive=ufat -drive if=none,id=cd -device ide-cd,drive=cd,bus=ide.0 -device rtl8139,netdev=net0 -netdev user,id=net0 -rtc base=localtime -m 2048 -display cocoa,zoom-to-fit=off,full-screen=off -serial stdio

Der 15.7 geht bei mir überhaupt nicht, da geht noch nicht mal ein Ping und es kommt noch dazu das sich zumindest 1x das System aufgehängt hat. Das hatte ich vorher nicht. Getestet nur DHCP. VG
Version 53.7 funktioniert nur über Apple framework VMNET...du muß folgende Zeile ersetzen:

Code: Alles auswählen

-device rtl8139,netdev=net0 -netdev user,id=net0
durch

Code: Alles auswählen

-device rtl8139,netdev=network01 -netdev vmnet-bridged,id=network01,ifname=en0
Damit lässt sich der Treiber verwenden, aber führt zu einen sehr schnellen Verlust der Internetverbindung.Noch etwas habe ich gefunden da du sagtest das das pingen sehr schlecht ist.


Zitat:

Benutzernetzwerk (SLIRP)
Dies ist das Standard-Netzwerk-Backend und im Allgemeinen am einfachsten zu bedienen. Es erfordert keine Root- / Administratorrechte. Es hat die folgenden Einschränkungen:

Es gibt viel Overhead, so dass die Leistung schlecht ist
Im Allgemeinen funktioniert der ICMP-Verkehr nicht (so dass Sie Ping nicht innerhalb eines Gastes verwenden können)
Auf Linux-Hosts funktioniert Ping innerhalb des Gastes, muss aber zunächst per Root (einmal pro Host) eingerichtet werden - siehe die folgenden Schritte
der Gast ist nicht direkt vom Host oder dem externen Netzwerk aus zugänglich
Das Benutzernetzwerk wird mit "slirp" implementiert, das einen vollständigen TCP/IP-Stack innerhalb von QEMU bereitstellt und diesen Stack verwendet, um ein virtuelles NAT-Netzwerk zu implementieren.

https://wiki.qemu.org/Documentation/Net ... ork_Basics
Benutzeravatar
Lord
Beiträge: 70
Registriert: 19. Januar 2018 11:13
Wohnort: im schönen Harz
Danksagung erhalten: 2 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Lord »

Treiber 53.6 mit der Zeile:
qemu-system-ppc -M pegasos2 -cpu 7447 -kernel /Volumes/Data/OS4/bboot/bboot -initrd /Volumes/Data/OS4/bboot/Kickstart.zip -vga none -device sm501 -drive if=none,id=hd,file=/Volumes/Data/OS4/OS4-SYS.img,format=raw -device ide-hd,drive=hd,bus=ide.1 -drive if=none,id=hd1,file=/Volumes/Data/OS4/Work.img,format=raw -device ide-hd,drive=hd1,bus=ide.1 -drive file=fat:rw:/tmp,id=ufat,format=raw,if=none -device usb-storage,drive=ufat -drive if=none,id=cd -device ide-cd,drive=cd,bus=ide.0 -device rtl8139,netdev=network01 -netdev vmnet-bridged,id=network01,ifname=en0,id=net0 -rtc base=localtime -m 2048 -display cocoa,zoom-to-fit=off,full-screen=off -serial stdio

Ping Test:
6.Workbench:> ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=5.18 ms
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.901 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.876 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=0.81 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=0.823 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=64 time=0.907 ms
64 bytes from 192.168.0.1: icmp_seq=6 ttl=64 time=0.807 ms
64 bytes from 192.168.0.1: icmp_seq=7 ttl=64 time=0.78 ms
64 bytes from 192.168.0.1: icmp_seq=8 ttl=64 time=0.918 ms
64 bytes from 192.168.0.1: icmp_seq=9 ttl=64 time=0.791 ms
64 bytes from 192.168.0.1: icmp_seq=10 ttl=64 time=0.858 ms
64 bytes from 192.168.0.1: icmp_seq=11 ttl=64 time=0.609 ms
64 bytes from 192.168.0.1: icmp_seq=12 ttl=64 time=0.844 ms
64 bytes from 192.168.0.1: icmp_seq=13 ttl=64 time=0.74 ms
64 bytes from 192.168.0.1: icmp_seq=14 ttl=64 time=0.861 ms

--- 192.168.0.1 ping statistics ---
29 packets transmitted, 29 packets received, 0% packet loss
round-trip min/avg/max = 0.609/0.967/5.18 ms
6.Workbench:>

Sieht Top aus!

- Downloadtest vom OS4Depot: h2_extramaps.lha erreicht nun Speed bis 1.7MB/s in der Spitze
- Hab 10min rumgesurft nebenbei, keine Probleme
- Emu bleibt Stabil keine Abstürze

Den 53.7 hab ich jetzt zum Vergleich noch nicht getestet, das muss ich noch nachholen.

Nachtrag: erneute Pingtests haben gelegentlich mal einen Paketverlust von bis zu 5% , aber nicht immer reproduzierbar.
A4000T-CSMK2_060 + PIV+ Concertio + X-Surf100 + RapidRoad
A1200-Vampire1200 + A314cp + Goex + Indivision MK3 + FreewayCP
A1200-Pistorm32 + CM4 + A314cp + Indivision MK3 + RapidRoad
A500 Mini | Powerbook G4 17"&15" & G5 MorphOS
Peg2 G4-R9000pro,EXSYS EX-1066 USB,Terratec Aureon 5.1Fun,RTL8169C LAN,OS 4.1FE-U2
Maijestro
Beiträge: 403
Registriert: 23. Dezember 2022 15:49
Hat sich bedankt: 138 Mal
Danksagung erhalten: 112 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Maijestro »

@Lord

Danke für den test...

dass bestätigt auch meine tests das diese Treiber Version gut funktioniert unter Qemu. Vielleicht findet Cyborg noch dafür eine Lösung das es in Kombination mit echter Hardware ebenfalls funktioniert.
Antworten