Re: Unable to get RealTek 8139C+ to work with re(4) under FreeBSD 6.1



On Mon, Aug 14, 2006 at 05:22:23PM +0800, Dinesh Nair wrote:

i've got a single board computer with VIA C3 Samuel 2, 256MB RAM and 4
onboard Realtek 8139C+ NICs. I'm attempting to get FreeBSD 6.1-STABLE
working on them, but the realtek NICs just don't seem to want to work.
booting up led to a kernel trap with the following,

rlphy0: <RealTek internal media interface> on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
re0: Ethernet address: 00:60:e0:e1:21:d7
re0: diagnostic failed, failed to receive packet in loopback mode
re0: attach aborted due to hardware diag failure
kernel trap 12 with interrupts disabled

Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x74
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0625d45
stack pointer = 0x28:0xc2420a50
frame pointer = 0x28:0xc2420a54
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 0 (swapper)
trap number = 12
panic: page fault
Uptime: 1s

looking through /usr/src/sys/dev/re/if_re.c, and reading this thread,
http://lists.freebsd.org/pipermail/freebsd-current/2004-June/029373.html,
i've patched if_re.c to skip the re_diag() routine if the NIC is not a
Realtek 8169. the patch follows,

----- CUT HERE -----
--- if_re.c.orig Mon Aug 14 14:43:05 2006
+++ if_re.c Mon Aug 14 14:42:16 2006
@@ -1235,12 +1235,14 @@
ether_ifattach(ifp, eaddr);

/* Perform hardware diagnostic. */
- error = re_diag(sc);
+ if (sc->rl_type == RL_8169) {
+ error = re_diag(sc);

- if (error) {
- device_printf(dev, "attach aborted due to hardware diag
failure\n");
- ether_ifdetach(ifp);
- goto fail;
+ if (error) {
+ device_printf(dev, "attach aborted due to hardware
diag failure\n");
+ ether_ifdetach(ifp);
+ goto fail;
+ }
}

/* Hook interrupt last to avoid having to lock softc */
----- CUT HERE -----

with the patch applied, the kernel trap goes away and the box boots up.
however, though the link light comes on, the device is effectively
unuseable for ethernet traffic. nothing seems to go in or out of the device
with ping and other tcp/udp traffic failing. note the media state and the
missing status line from the ifconfig output.

any clue as to what's happenning here or to pointers/patches to fix this
would be much appreciated. i've got the box sitting beside me, so testing
patches et al would be highly possible.


Recent changes from wpaul disabled re_diag() routine by default so it
wouldn't trigger the panic you've seen anymore.
However I've seen one user reported re(4) breakage on stable.
http://lists.freebsd.org/pipermail/freebsd-stable/2006-August/027356.html

Please try latest stable and show your results. If it still does not
work please let us know. I don't have 8139C+ based NICs so it would be
difficult for me to fix the issue. :-(

--
Regards,
Pyun YongHyeon
_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: No internet access
    ... Realtek RTL8139/810x Family Fast Ethenet NIC ... you must install and enable a network adapter ... > have is a failure of IP to bind any NICs, ...
    (microsoft.public.win2000.networking)
  • Re: Best Nics.
    ... On Wednesday 08 October 2003 18:29, Edward Murrell wrote: ... avoid anything with a realtek chipset. ... > I wouldn't use them in my main server, where high CPU usage could impact ... NICs very hard so they chug along. ...
    (Debian-User)
  • Re: Force NIC to 100 Mbps
    ... I have USB 2.0 slots in my PC but they're on a card ... I have little experience with how well USB NICs perform. ... the rest, and way way way after that, anything realtek or its clones. ...
    (comp.dcom.lans.ethernet)
  • Re: natd+ipfw(2), performance with cheap Realtek-cards vs. good NICs?
    ... > Will the machine be able to handle my 100Mbit full duplex Internet ... I've heard Intel EtherExpress NICs are good (and not too ... of small packets you might want to consider GigE cards. ... > comment about the Realtek chipset needing some serious CPU power to be ...
    (comp.unix.bsd.freebsd.misc)