sawtooth: no carrier on gem0

Peter Grehan grehan at freebsd.org
Sat Oct 15 16:54:48 PDT 2005


Hi Ben,

> I had to transcribe this by hand, I hope it's all correct.
> 
>   gem0: <Apple GMAC Ethernet Adaptor> mem 0xf5200000-0xf53fffff irq 41
>     at device 15.0 on pci3
>   miibus0: <MII Bus> on gem0
>   brgphy0: <Broadcom 1000baseTX PHY> on miibus0
>   brgphy0: 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto

  Thanks for that. Looking at sys/dev/mii/brgphy.c, this shows it is a 
BCM5400 phy. Two things:

  - are you hooked up to a 10mb port ? As you can see from the list of 
supported speeds, this model doesn't handle 10mb/s. From Darwin source, 
it looks like Apple hooked up an additional BCM5201 phy to handle the 
10mb case, but the multi-phy case isn't supported in FreeBSD.

  - I scanned back thru the NetBSD source and noticed that there was a 
reset case missing for the 5400. It's present only for the 5401 in the 
FreeBSD version, so this could be the culprit.

  If you install kernel source during the install, you should be able to 
re-build a kernel. I've attached a patch which may fix the 5400 reset 
case - would you be able to give it a try ?

later,

Peter.
-------------- next part --------------
Index: sys/dev/mii/brgphy.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/mii/brgphy.c,v
retrieving revision 1.35
diff -u -r1.35 brgphy.c
--- sys/dev/mii/brgphy.c	30 Sep 2005 19:39:27 -0000	1.35
+++ sys/dev/mii/brgphy.c	15 Oct 2005 23:50:32 -0000
@@ -388,6 +388,7 @@
 	    sc->mii_media_status != mii->mii_media_status ||
 	    cmd == MII_MEDIACHG) {
 		switch (brgphy_mii_model) {
+		case MII_MODEL_xxBROADCOM_BCM5400:
 		case MII_MODEL_xxBROADCOM_BCM5401:
 			bcm5401_load_dspcode(sc);
 			break;
@@ -617,6 +618,7 @@
 	mii_phy_reset(sc);
 
 	switch (brgphy_mii_model) {
+	case MII_MODEL_xxBROADCOM_BCM5400:
 	case MII_MODEL_xxBROADCOM_BCM5401:
 		bcm5401_load_dspcode(sc);
 		break;


More information about the freebsd-ppc mailing list