[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: playing with qemu's 8139 nic and FreeBSD (loopback mode
[Qemu-devel] Re: playing with qemu's 8139 nic and FreeBSD (loopback mode missing?)
Sun, 30 Apr 2006 02:46:46 +0200
On Sat, Apr 29, 2006 at 10:48:48AM +0400, Igor Kovalenko wrote:
> Juergen Lock wrote:
> > On Fri, Apr 28, 2006 at 08:25:02PM +0400, Igor Kovalenko wrote:
> >> Juergen Lock wrote:
> >>> I played with
> >>> qemu -monitor stdio -m 256 -cdrom 6.1-RC1-i386-disc1.iso -usb -soundhw
> >>> es1370 -kernel-kqemu -net nic,model=rtl8139 -net user
> >>> and got it as far as
> >>> re0: diagnostic failed, failed to receive packet in loopback mode
> >>> (followed by a panic :) with the (experimental) patches below.
> >>> Anyone in the mood to implement loopback mode for this nic?
> >>> Hmm actually... I just found the original posting in the archive,
> >>> is C+ mode implemented now? If not re is probably not what I want,
> >> The rtl8139 is set up with PCI rev ID 0x20 which should be enough for OS
> >> driver
> >> to detect C+ mode features. C+ mode is OK, tested with Linux driver.
> > Cool, so I want FreeBSD's re driver. That one checks TxConfig
> > tho, as changed in my patch (inside #if 0). And when changed,
> > it still doesn't work as mentioned above because the driver expects
> > loopback mode to be working.
> >>> but the rl driver that it attaches without that #if 0'd (now) hunk
> >>> below doesnt seem to be able to get data thru either and I get
> >>> rl0: watchdog timeout
> >>> in dmesg, which usually means the driver doesnt receive interrupts.
> >>> What the heck, I'll append a log of a run just doing in fixit->cdrom:
> >>> ifconfig rl0 10.0.2.15
> >>> and then exiting (which is enough to trigger the watchdog timeout...)
> >> I'm too lasy to test with fresh freebsd installation :)
> > No need to install FreeBSD, you can get away by just using
> > fixit mode of an install iso, i.e. disc1. (which actually is
> > what I did above. :)
> > You can look at 6.1RC's re driver here:
> > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/re/if_re.c?annotate=22.214.171.124
> > which includes:
> > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/pci/if_rlreg.h?annotate=126.96.36.199
> > And 6.1RC disc1 iso is e.g. here:
> > ftp://ftp.ru.freebsd.org:/pub/FreeBSD/ISO-IMAGES-i386/6.1/6.1-RC1-i386-disc1.iso
> Thanks, that iso pointer made it.
> Please try the following on top of your patch, at least ping should now work:
Thanks, that seems to get the rl driver going. Now to fix C+ mode
(re driver) change the #if 0 in my patch to #if 1...