Opened 2 years ago

Last modified 22 months ago

#18177 new bug

Problem with e1000 under Qemu-KVM

Reported by: jackburton Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/Network/ipro1000 Version: R1/beta4
Keywords: Cc:
Blocked By: Blocking: #18202
Platform: All

Description (last modified by jackburton)

There seems to be some network issues under KVM with the e1000 driver (NAT). I can ping, but when trying to update or refresh repositories with

pkgman refresh or pkgman update

the process hangs there, waiting.

Using virtio works, instead, on both x86_gcc2 and x64

rev56673

Change History (11)

comment:1 by jackburton, 2 years ago

Description: modified (diff)

comment:2 by jackburton, 2 years ago

Description: modified (diff)

comment:3 by diver, 2 years ago

Component: Network & InternetDrivers/Network/ipro1000

comment:4 by waddlesplash, 2 years ago

Please check what network device you have set. This is a known problem with "e1000e" even on FreeBSD, I think.

comment:5 by pulkomandy, 23 months ago

Blocking: 18202 added

comment:6 by pulkomandy, 23 months ago

For reference, this happens when you use the "q35" machine (modern chipset) on some QEMU versions, and the workaround is to add "-nic model=e1000" to your QEMU command line.

comment:7 by pulkomandy, 23 months ago

Version 0, edited 23 months ago by pulkomandy (next)

comment:8 by waddlesplash, 23 months ago

No, that is about passthrough devices, not emulated devices.

The e1000e device used to work on QEMU in Haiku. According to the logs, the upgrade to FreeBSD 13.1 is what broke it: hrev55961.

I recall at the time I did the previous upgrade to that one, I ran into the same problem, and only upgraded to the latest release before the problem started (apparently FreeBSD 13.) I think I might have even tracked down when things broke; I think it had to do with https://github.com/freebsd/freebsd-src/commit/450c3f8b3d259c7eb82488319aff45f1f6554aaf or the commit just before that affecting the same code. You could probably revert some of those changes in Haiku and see what happens.

comment:9 by waddlesplash, 22 months ago

I can confirm that reverting that FreeBSD commit I linked in the previous comment fixes the problems in QEMU with e1000e. But that does not really answer the question: is FreeBSD's code wrong (i.e. is this also broken with FreeBSD on QEMU)? is Haiku's compatibility layer and/or our MSI-X handling somehow wrong? or is QEMU wrong?

Since the FreeBSD commit specifically references hardware problems that users reported, I don't think it's wise to revert it without some testing with an "e1000e" bare-metal device, at least.

comment:10 by pulkomandy, 22 months ago

Can we get the attention of involved FreeBSD developers somehow? Maybe they can help us?

comment:11 by waddlesplash, 22 months ago

Well, first we should establish whether or not this is a Haiku-specific problem?

Note: See TracTickets for help on using tickets.