>Number: 165032 >Category: kern >Synopsis: brgphy(4) is not used for BCM57780 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Feb 12 14:20:06 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Alexander Milanov >Release: 9.0-RELEASE >Organization: >Environment: FreeBSD 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:15:25 UTC 2012 r...@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: ukphy(4) is used instead of brgphy(4) for Broadcom BCM57780. See output of dmesg:
bge0: <Broadcom BCM57780 A1, ASIC rev. 0x57780001> mem 0xfebf0000-0xfebfffff irq 17 at device 0.0 on pci4 bge0: attempting to allocate 1 MSI vectors (1 supported) msi: routing MSI IRQ 257 to local APIC 0 vector 54 bge0: using IRQ 257 for MSI bge0: CHIP ID 0x57780001; ASIC REV 0x57780; CHIP REV 0x577800; PCI-E bge0: Disabling fastboot bge0: Disabling fastboot miibus0: <MII bus> on bge0 ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0 ukphy0: OUI 0x001be9, model 0x0019, rev. 1 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow bge0: bpf attached >How-To-Repeat: >Fix: Add OUIs for BCM57780 to brgphy(4). The following patch also adds a check for BGE_FLAG_JUMBO, as suggested by Pyun YongHyeon[1] and as seen in OpenBSD[2]. [1] http://lists.freebsd.org/pipermail/freebsd-stable/2010-March/055793.html [2] http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/mii/brgphy.c?rev=1.94 Patch attached with submission follows: Index: sys/dev/mii/miidevs =================================================================== --- sys/dev/mii/miidevs (revision 231557) +++ sys/dev/mii/miidevs (working copy) @@ -84,6 +84,8 @@ oui xxATHEROS 0x00c82e Atheros Communications oui xxBROADCOM 0x000818 Broadcom Corporation oui xxBROADCOM_ALT1 0x0050ef Broadcom Corporation +oui xxBROADCOM_ALT2 0x00d897 Broadcom Corporation +oui xxBROADCOM_ALT3 0x001be9 Broadcom Corporation oui xxDAVICOM 0x000676 Davicom Semiconductor oui yyINTEL 0x005500 Intel Corporation oui xxJATO 0x0007c1 Jato Technologies @@ -184,6 +186,8 @@ model BROADCOM3 BCM57765 0x0024 BCM57765 1000BASE-T media interface model BROADCOM3 BCM5720C 0x0036 BCM5720C 1000BASE-T media interface model xxBROADCOM_ALT1 BCM5906 0x0004 BCM5906 10/100baseTX media interface +model xxBROADCOM_ALT2 BCM57780 0x0019 BCM57780 10/100/1000baseT PHY +model xxBROADCOM_ALT3 BCM57780 0x0019 BCM57780 10/100/1000baseT PHY /* Cicada Semiconductor PHYs (now owned by Vitesse?) */ model xxCICADA CS8201 0x0001 Cicada CS8201 10/100/1000TX PHY Index: sys/dev/mii/brgphy.c =================================================================== --- sys/dev/mii/brgphy.c (revision 231557) +++ sys/dev/mii/brgphy.c (working copy) @@ -147,6 +147,8 @@ MII_PHY_DESC(BROADCOM3, BCM5720C), MII_PHY_DESC(BROADCOM3, BCM57765), MII_PHY_DESC(xxBROADCOM_ALT1, BCM5906), + MII_PHY_DESC(xxBROADCOM_ALT2, BCM57780), + MII_PHY_DESC(xxBROADCOM_ALT3, BCM57780), MII_PHY_END }; @@ -942,7 +944,8 @@ if (bge_sc->bge_phy_flags & BGE_PHY_JITTER_BUG) brgphy_fixup_jitter_bug(sc); - brgphy_jumbo_settings(sc, ifp->if_mtu); + if (bge_sc->bge_phy_flags & BGE_FLAG_JUMBO) + brgphy_jumbo_settings(sc, ifp->if_mtu); if ((bge_sc->bge_phy_flags & BGE_PHY_NO_WIRESPEED) == 0) brgphy_ethernet_wirespeed(sc); >Release-Note: >Audit-Trail: >Unformatted: _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"