@balaton Mounting partitions to "/boot/a1boot" has nothing to do with device assignment. Let's leave this topic for now. When everything is working I will reinstall the system and write what was wrong. The installation status of debian on amigaos is marked as beta. Problems may occur.
joerg wrote:@Maijestro Using a RTL8139 PCI card on AmigaOS 4.1 is common, but using a real Pegasos2 for AmigaOS 4.1 isn't. It can only be a driver problem if it's working correctly with the AmigaOne emulation but doesn't work with the Pegasos2 emulation. For the RTL8139 driver that's not the case, but it could be for other PCI drivers. Not relevant for the QEmu emulation, except for using a real PCI(e) card with pass-through, but for example Hans wrote that his Radeon HD/RX drivers don't support shared IRQs, and that's very likely the case for some other PCI drivers as well.
There are exactly the same problems on both machines AmigaOne and Pegasos2 with RTLl8139 at the network connection. Only the driver 53.4 works and so does the internet....newer drivers break the network. With the Sam460 it is exactly the same under MorphOs what I have tested with Pegasos2, we also get no internet connection with RTL8139...so it is a problem within the Pegasos2 emulation.
Unfortunately we can't test other drivers because Qemu doesn't support them and AmigaOs4.1 doesn't support other Qemu drivers for network support. So we are also in a dead end here....
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
The problem with the RTL8139 card when emulating Qemu on Linux does not occur. On AOS4 the problem occurs. On MorphOS (pegasos) the card does not work at all.
In my case it occurs randomly, but it can be forced by a few soft reboots of AOS4.
I am currently using the driver from AOS 4.0 - the card works on a static ip address but the problem also occurs.
The problem with the RTL8139 card when emulating Qemu on Linux does not occur. On AOS4 the problem occurs. On MorphOS (pegasos) the card does not work at all.
In my case it occurs randomly, but it can be forced by a few soft reboots of AOS4.
I am currently using the driver from AOS 4.0 - the card works on a static ip address but the problem also occurs.
Under AmigaOne Emulation Linux you have no problems with RTL8139?
Since we both use the same hardware (Mac) you should use driver 53.4. With this driver I rarely have network problems.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
I will still check to be sure , but I haven't noticed. I'll do some tests just to be sure and post here
Thanks, it could be useful to finally solve the problem. Under Linux we could also get more information about why some things don't work, I think that's a good way.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
The problem with rtl8139 and MorphOS on pegasos2 is already known and trached in this ticket: https://osdn.net/projects/qmiga/ticket/48376 it seems to be related to some interaction between AHI and network stack on MorphOS which prevents it from loading if sound is active but can be worked around by delaying AHI init after network came up as described in the ticket. This seems to be different from what happens with AmigaOS where it generally works but sometimes gets stuck. It could still be some problem with interaction between interrupts that causes the rtl8139 driver to lose interrupts after a while but it's probably different than the issue with MotphOS which uses interrupts differently.
If I got your above posts correctly you say that same issue happens with AmigaOS on amigaone, pegasos2 and even sam460ex but the same works with Linux on these emulated machines? Then the problem is not specific to pegasos2 but more likely something happens differently on QEMU with interrupts than on real hardware which gets the AmigaOS rtl8139 driver confused and stop. One can argue if it's a bug in driver or in emulation but unless we understand what exactly is happening in the driver in this case we can't really fix it. This probably needs somebody who knows how this AmigaOS rtl8139 driver works and can tell what could happen or what to test to find out. I can't do much from the QEMU side without that.
Running Qemu has MacoOS - Pegasos emulation with Linux/Debian has no problems with rtl8139.
I'm pushing probably 12GB of data already, uptime about 1:30h - nothing happens. I can't prove it because the counter resets after 4GB. I can only upload a video.
Apart from the current problems we are having, I would still like to briefly introduce the AmigaOneXe emulation under Qemu AmigaOs4.1 and it is already running surprisingly well. But see for yourself and form your own opinion...
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
@smarkusg Is the test with Linux the same as with AmigaOS? I mean if the problem is suspected to be caused by shared interrupts between e.g. network card and sound then are you also playing sound on Linux as well while using network? Maybe as long as only one PCI device is using IRQ then nothing happens but if there are more devices then it could fail but it could also be it's just a problem with AmigaOS handling multiple devices on same IEQ while Linux can handle that. But then why do we have same problem with amigaone which does not have sound by default and maybe uses different interrupts for different devices although that's just what @joerg said, I did not verify it's not mapped to same interrupt by default.
So try using network with Linux and AmigaOS and both using only network and also using other PCI devices at the same time and see which cases fail.
But then why do we have same problem with amigaone which does not have sound by default
The AmigaOne does have sound by default, it's part of the VIA south bridge, PCI device 0.7.5. On most, but not all, AmigaOne an audio chip is missing. I'm not sure what it is, but it may just be a DAC. The main part is in the VIA VT82C686B, i.e. sound may work internally on all AmigaOne, but without the DAC chip you can't hear it.
balaton wrote:@smarkusg So try using network with Linux and AmigaOS and both using only network and also using other PCI devices at the same time and see which cases fail.
Under AmigaOne AmigaOs4.1 it works when accessing multiple PCI devices. You can see it in my video, there I stream a video 720p. Sound output via es1370 (sb128), network via rtl8139. So here 2 PCI devices are used. And it works.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
@joerg The amigaone has via-ac97 (in QEMU it's the same code emulating it) but @Maijestro told that it does not work in AmigaOS when selecting that driver. The same works with pegasos2 so there may be something in AmigaOne version of AmigaOS with via-ac97. I did not have time to test it myself yet so can only say what I've heard from those testing it.
@Maijestro Using multiple PCI devices works on both amigaone and pegasos2 but you said that sometimes network stops working and I wonder if this would also happen if you only use network card on amigaone without a sound card or only when using multiple PCI cards, that is problem happens even if IRQs are not shared and come only fron network card or it has something to do with IRQs coming from multiple devices so could be a problem with shared IRQs or if it happens with only the network card generating interrupts then it could be something with emulating the rtl8139 chip (although that emulation works with all other guests on all other archs so I'd say if AmigaOS driver breaks on it it's still a driver bug).
This may be hard to test though because on pegasos2 everything usees IRQ 9 including the VIA devices so IDE, via-ac97, usb. On amigaone according to @jeorg IRQs aren't shared that way but I did not check if that's true.
balaton wrote:@Maijestro Using multiple PCI devices works on both amigaone and pegasos2 but you said that sometimes network stops working and I wonder if this would also happen if you only use network card on amigaone without a sound card or only when using multiple PCI cards, that is problem happens even if IRQs are not shared and come only fron network card or it has something to do with IRQs coming from multiple devices so could be a problem with shared IRQs or if it happens with only the network card generating interrupts then it could be something with emulating the rtl8139 chip (although that emulation works with all other guests on all other archs so I'd say if AmigaOS driver breaks on it it's still a driver bug).
This may be hard to test though because on pegasos2 everything usees IRQ 9 including the VIA devices so IDE, via-ac97, usb. On amigaone according to @jeorg IRQs aren't shared that way but I did not check if that's true.
With the RTL8139 driver (53.4) it is hard to get the internet to break. I did it with 10 downloads playing MP3 with TuneNet, all downloads completed successfully.
With the driver (53.6) the network breaks as soon as the download starts on all machines Sam460/AmigaOne/Pegasos2 and that without listening to music with TuneNet.I also played around with ac97 under AmigaOne, but no matter what I do there is no sound output.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
@balaton I don't know what QEmu does, but on real AmigaOnes each PCI slot uses a different IRQ, and additionally only level triggered IRQs work, using edge instead causes problems.
You don't need an AmigaOne version of AmigaOS 4.1 to check it, AmigaOS uses whatever is set up by the firmware, just look in the PCI menu of U-Boot.
@Maijestro Don't bother with via-ac97, I think I've found why it does not work. It's likely because QEMU currenlty does not correctly implement IRQ routing of internal devices independent of PCI interrupts which works for pegasos2 that maps all of these to IRQ 9 but amigaone only maps PCI interrupts to IRQ 9 but internal devices to other IRQs which will be ignored by QEMU for now. If you want to know why you can read the saga here https://patchew.org/QEMU/cover.1677004414.git.balaton@eik.bme.hu/ the TL;DR is that I had that right first but people preferred to make it simpler to the point where it was oversimplified. Once we get the amigaone machine upstream I can revisit this and fix it, until then don't try to use via-ac97 and built in USB on amigaone as these likely won't work. (It you want USB you could still add one with -device to PCI which should work.)
@joerg I've checked now what the firmware does, one can just use -trace enable="pci*" then search what the config reg 0x3c is set to for devices and while on pegasos2 these are all set to 9 the amigaone firmware sets different interrupts for the on board devices. However PCI interrupts (INTA-INTD) are mapped by different registers in the ISA bridge (function 0 config reg 0x55-0x57) and while they are also all set to 9 at first by amigaone firmware it then sets them again a few times and at the last one it sets different interrupts for them:
So it ends up using INTA=9 INTB=10 INTC=11 INTD=7.
But @Maijestro says that problem with rtl9139 happens on all machines with newer driver versions so that's likely not interrupt related but maybe something the emulated network card doing differently than the driver expects. Is there a changelog what's changed in the rtl8139 driver versions somewhere?
balaton wrote:@Maijestro Don't bother with via-ac97, I think I've found why it does not work. It's likely because QEMU currenlty does not correctly implement IRQ routing of internal devices independent of PCI interrupts which works for pegasos2 that maps all of these to IRQ 9 but amigaone only maps PCI interrupts to IRQ 9 but internal devices to other IRQs which will be ignored by QEMU for now.
This is great news, so we have a chance that ac97 will also work under AmigaOne.
In the meantime we have an alternative with es1370 (sb128) I have tested it extensively today and the sound support is very good even with this driver.
Also the network works as good as under the Pegasos2 emulation with the right driver. For Qemu 8.2 this should be enough for now, for everything else we will have some time again.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
I have not had much time to test unfortunately.... On A1 linux something is killing me/puking in the interrupt ... On this IRQ I have RTL8139 Maybe it will be useful or not.
after repainting - removing the es1370 and putting Rtl8139 in its place, the IRQ problem does not occur. No it is not a problem with es1370, I just checked what is hitting on IRQ 10
edit 9.10.2023:
macOS: Qemu Amigaone Linux Debian two Mplayer sessions - one a radio stream the other played mpg in a loop. 1:30 h - no problems , everything works fine (network, sound). used "addr=" 8 and 10
Edited by smarkusg on 2023/10/6 22:18:02 Edited by smarkusg on 2023/10/6 22:31:17 Edited by smarkusg on 2023/10/6 22:33:38 Edited by smarkusg on 2023/10/6 22:35:21 Edited by smarkusg on 2023/10/6 22:37:31 Edited by smarkusg on 2023/10/7 5:36:11 Edited by smarkusg on 2023/10/9 20:19:03 Edited by smarkusg on 2023/10/9 20:19:34 Edited by smarkusg on 2023/10/9 20:21:40 Edited by smarkusg on 2023/10/9 20:30:31 Edited by smarkusg on 2023/10/11 20:19:07