Re: Broadcom NetXtreme II BMC5708 no carrier



On Sat, Nov 24, 2007 at 05:18:53PM +0300, supportsobaka@xxxxxxx wrote:
Hello

We have problem with Broadcom NetXtreme II BMC5708 on our blade
server.

ifconfig bce0 report:

bce0: flags=8847<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU>
inet 172.0.0.199 netmask 0xffffff00 broadcast 172.0.0.255
ether 00:1a:64:33:29:c7
media: Ethernet autoselect (none)
status: no carrier


Try to set
#ifconfig bce0 media 1000baseSX mediaopt full-duplex

bce0: flags=8847<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU>
inet 172.0.0.199 netmask 0xffffff00 broadcast 172.0.0.255
ether 00:1a:64:33:29:c7
media: Ethernet 1000baseSX <full-duplex> (none)
status: no carrier


Status don't want change to active, and nothing work :(

FreeBSD 6.3-PRERELEASE (7.x have problem too)

Is any idea?

It seems that mii_ticks is not kicked at all in auto-negotiation
phase. From the output of forced 1000baseSX media configuration I
guess BRGPHY_BMSR_ACOMP bit in BRGPHY_MII_BMSR is not updated on
5708S. Mabe davidch know better what's going on 5708S. (CCed)
How about attached patch? I don't have the hardware so it's just a
guess work.

--
Regards,
Pyun YongHyeon
Index: brgphy.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/mii/brgphy.c,v
retrieving revision 1.70
diff -u -r1.70 brgphy.c
--- brgphy.c 8 Jun 2007 02:34:44 -0000 1.70
+++ brgphy.c 26 Nov 2007 05:03:55 -0000
@@ -364,12 +364,10 @@
break;
}

-#if 0
/* Todo: Is this correct? */
/* Announce link loss right after it happens. */
if (sc->mii_ticks++ == 0)
break;
-#endif

/* Only retry autonegotiation every mii_anegticks seconds. */
if (sc->mii_ticks <= sc->mii_anegticks)
@@ -507,9 +505,12 @@
/* Autoneg is still in progress. */
if ((bmcr & BRGPHY_BMCR_AUTOEN) &&
(bmsr & BRGPHY_BMSR_ACOMP) == 0) {
- /* Erg, still trying, I guess... */
- mii->mii_media_active |= IFM_NONE;
- goto brgphy_status_exit;
+ /* XXX 5708S doesn't update BRGPHY_BMSR_ACOMP? */
+ if ((bsc->serdes_flags & BRGPHY_5708S) == 0) {
+ /* Erg, still trying, I guess... */
+ mii->mii_media_active |= IFM_NONE;
+ goto brgphy_status_exit;
+ }
}

/* Autoneg is enabled and complete, link should be up. */
_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"

Relevant Pages