Broadcom NetXtreme II BMC5708 no carrier
Pyun YongHyeon
pyunyh at gmail.com
Sun Nov 25 21:05:57 PST 2007
On Sat, Nov 24, 2007 at 05:18:53PM +0300, supportsobaka at mail.ru 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
-------------- next part --------------
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. */
More information about the freebsd-net
mailing list