Am 8. April 2025 16:09:58 UTC schrieb Guenter Roeck <li...@roeck-us.net>:
>On 4/6/25 11:08, Bernhard Beschow wrote:
>[ .. ]
>
>>>> Yeah, it works with Buildroot as described in the handbook. When I append 
>>>> `-netdev user,id=net0 -device virtio-net-pci,netdev=net0` on the cli I can 
>>>> `wget http://www.google.com` successfully. When I omit it there is no 
>>>> network connectivity. This is with a 6.6.23 vendor kernel.
>>>> 
>>> 
>>> I had no luck with virtio-net-pci. virtio-pci works for me, but I can not 
>>> get real PCI devices
>>> (such as nvme or scsi adapters) to work.
>> 
>> I now tested with the latest Buildroot recipe, changing to upstream kernel 
>> version 6.14 and using the defconfig. The `wget` command still works for me 
>> with virtio-net-pci. However, I can confirm that I need your xhci patches 
>> for the usb storage device to be detected.
>> 
>
>Following up on this, my problem is that adding "-netdev user,id=net0 -device 
>virtio-net-pci,netdev=net0"
>to the command line adds a _second_ Ethernet interface, in addition to the 
>default one.
>This results in
>       qemu-system-arm: warning: nic imx.enet.0 has no peer
>reported when qemu starts.

I get this too when using virtio-net-pci successfully.

>
>I can not get that second interface to work, probably because of some 
>userspace issue.
>
>Anyway, I never see any interrupts on the virtual PCI interface. From 
>/proc/interrupts:
>
>277:          0  PCI-MSI 524288 Edge      virtio0-config
>278:          0  PCI-MSI 524289 Edge      virtio0-input.0
>279:          0  PCI-MSI 524290 Edge      virtio0-output.0

I get:

206:          0          0          0          0  PCI-MSI 524288 Edge      
virtio0-config
207:          3          0          0          0  PCI-MSI 524289 Edge      
virtio0-input.0
208:          8          0          0          0  PCI-MSI 524290 Edge      
virtio0-output.0

Note that I'm using four CPUs, i.e. `-smp 4`.

>
>That may work for virtio-net-pci, but it doesn't work for other PCI(e) drivers.
>If I try to attach any other PCIe devices, the device is reported with lspci 
>but
>then its initialization times out because it does not get any interrupts.

Indeed, trying with e1000e:

205:          0          0          0          0  PCI-MSI   0 Edge      PCIe PME
206:         74          0          0          0  PCI-MSI 524288 Edge      
eth1-rx-0
207:         20          0          0          0  PCI-MSI 524289 Edge      
eth1-tx-0
208:         32          0          0          0  PCI-MSI 524290 Edge      eth1

But I get this repeatedly with varying CPUs:

[   14.657163] e1000e 0000:01:00.0 eth1: NIC Link is Up 1000 Mbps Full Duplex, 
Flow Control: Rx/Tx
[   19.980452] e1000e 0000:01:00.0 eth1: NETDEV WATCHDOG: CPU: 0: transmit 
queue 0 timed out 5312 ms
[   19.982491] e1000e 0000:01:00.0 eth1: Reset adapter unexpectedly

>
>Tt turns out that sabrelite has the same problem.

Did it work with QEMU 9.2?

Best regards,
Bernhard

>
>Please let me know if you have an idea how to get the interrupts to work.
>
>Thanks,
>Guenter
>

Reply via email to