Realtek RT8139 (onboard) - failed to receive packet in loopback mode

Bill Paul wpaul at FreeBSD.ORG
Thu Jun 17 20:25:59 GMT 2004

> Hi there,
> I'm using a bunch of Portwell SBCs with five onboard Realtek
> 8139C+ NICs. Currently they're running 5.0 kernels from around
> April, 2003 and the NICs are driven by rl(4). Since then the
> 8139C+ was moved to re(4). 
> re(4) doesn't like the chips, though.

It likes the chips just fine. If it didn't, I wouldn't have checked it
in. :P
> re0: <RealTek 8139C+ 10/100BaseTX> port 0xdc00-0xdcff mem 0xe3400000-0xe34000ff irq 11 at device 9.0 on pci0
> re0: Ethernet address: 00:90:fb:04:1b:31
> re0: diagnostic failed, failed to receive packet in loopback mode
> re0: attach aborted due to hardware diag failure
> device_attach: re0 attach returned 5
> It seems that the 8169-specific hardware diagnostic (re_diag(sc))
> should only carried out for chips being identified as 8169 based.

No, it works with the 8139C+ too (though it's not strictly necessary:
the hardware bug that the re_diag() routine was meant to find is only
present on some 8169 boards, but running the DMA test on all boards
doesn't hurt).


> I see no ill effects so far.

I discovered some problems with the diagnostic routine on the C+
chip recently, but it only manifested on this one really old and
crufty P166 machine that I have (and then only intermittently).
It turns out that the link state has some effect on the behavior
of loopback mode (even though logically, it shouldn't). That is,
sometimes the test will fail if the network cable is unplugged.
I made some changes to re_diag() to fix this, which I can send you
once I get home from the office.


-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 wpaul at | Wind River Systems
              <adamw> you're just BEGGING to face the moose

More information about the freebsd-current mailing list