On Sat, Nov 24, 2007 at 05:18:53PM +0300, [EMAIL PROTECTED] 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@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to