On Sun, Jan 29, 2006 at 04:44:48PM +0200, husnu demir wrote:
> On Sat, Jan 28, 2006 at 11:08:43AM +0300, Oleg Bulyzhin wrote:
> > On Fri, Jan 27, 2006 at 06:29:04PM +0200, husnu demir wrote:
> > > > Also it is important to know whether doing 'ifconfig bge0 -rxcsum 
> > > > -txcsum'
> > > > fixes operation on 6.0-STABLE.
> > > 
> > > No, It does not fixed. I will go back to STABLE if you need further 
> > > detail. 
> > > 
> > 
> > Could you please provide following information:
> > 1) boot with verbose mode on (boot -v or verbose_loading="YES" into your
> > loader.conf) and check your console messages. Are there any
> > "bge2: link UP/DOWN" messages? Unplug/plug cable and check those messages 
> > again.
> > 
> > 2) When you sniff bge2 with tcpdump which packets do you see (incoming, 
> > outgoing, both)?
> > 
> > -- 
> > Oleg.
> 
> Hi Oleg,
> 
> I added ;
> 
> [EMAIL PROTECTED] less /boot/loader.conf 
> verbose_loading="YES
> 
> 
> and reboot the machine;
> 
> [EMAIL PROTECTED] uname -a
> FreeBSD nrouter.cc.metu.edu.tr 6.0-STABLE FreeBSD 6.0-STABLE #1: Sun Jan 29 
> 16:29:48 EET 2006     [EMAIL PROTECTED]:/usr/obj/usr/src/sys/NON-GENERIC  i386
> 
> and dmesg shows nothing. After reboot I configured bge2 with ;
> 
> ifconfig bge2 xxx.yyy.2.2/24 up
> 
> [EMAIL PROTECTED] dmesg | grep bge
> bge0: <Broadcom BCM5703 Gigabit Ethernet, ASIC rev. 0x1002> mem 
> 0xf1020000-0xf102ffff irq 48 at device 1.0 on pci3
> miibus0: <MII bus> on bge0
> bge0: Ethernet address: 00:11:09:9b:6a:7d
> bge1: <Broadcom BCM5701 Gigabit Ethernet, ASIC rev. 0x105> mem 
> 0xf1000000-0xf100ffff irq 52 at device 2.0 on pci3
> miibus1: <MII bus> on bge1
> bge1: Ethernet address: 00:04:76:f7:99:6e
> bge2: <Broadcom BCM5703 Gigabit Ethernet, ASIC rev. 0x1002> mem 
> 0xf1010000-0xf101ffff irq 56 at device 3.0 on pci3
> bge2: Ethernet address: 00:10:18:00:4d:53
> bge0: link state changed to UP
> 
> then I tried to remove the fiber optic connection from the card and reinsert 
> but there was no error messages. I tried it a couple of times. It shows "no 
> carrier" message in the ifconfig status but print no console message.
> 
> 
> I also added the tcpdump; before starting out tcpdump I initiated a ping 
> xxx.yyy.2.1 for the outgoing messages. No PF working .
> 
> 
> 
> [EMAIL PROTECTED] pfctl -d
> pfctl: pf not enabled
> 

Could you apply attached patch and try those tests again (verbose boot,
plug/unplug cable, check for link messages)?

-- 
Oleg.

Index: if_bge.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/bge/if_bge.c,v
retrieving revision 1.91.2.10
diff -u -r1.91.2.10 if_bge.c
--- if_bge.c    30 Jan 2006 13:17:44 -0000      1.91.2.10
+++ if_bge.c    30 Jan 2006 20:53:54 -0000
@@ -3769,23 +3769,9 @@
        } 
 
        if (sc->bge_tbi) {
-               /*
-                * Sometimes PCS encoding errors are detected in
-                * TBI mode (on fiber NICs), and for some reason
-                * the chip will signal them as link changes.
-                * If we get a link change event, but the 'PCS
-                * encoding error' bit in the MAC status register
-                * is set, don't bother doing a link check.
-                * This avoids spurious "link UP" messages
-                * that sometimes appear on fiber NICs during
-                * periods of heavy traffic. (There should be no
-                * effect on copper NICs.)
-                */
                status = CSR_READ_4(sc, BGE_MAC_STS);
-               if (!(status & (BGE_MACSTAT_PORT_DECODE_ERROR|
-                   BGE_MACSTAT_MI_COMPLETE))) {
-                       if (!sc->bge_link &&
-                           (status & BGE_MACSTAT_TBI_PCS_SYNCHED)) {
+               if (status & BGE_MACSTAT_TBI_PCS_SYNCHED) {
+                       if (!sc->bge_link) {
                                sc->bge_link++;
                                if (sc->bge_asicrev == BGE_ASICREV_BCM5704)
                                        BGE_CLRBIT(sc, BGE_MAC_MODE,
@@ -3793,11 +3779,13 @@
                                CSR_WRITE_4(sc, BGE_MAC_STS, 0xFFFFFFFF);
                                if (bootverbose)
                                        if_printf(sc->bge_ifp, "link UP\n");
-                       } else if (sc->bge_link) {
-                               sc->bge_link = 0;
-                               if (bootverbose)
-                                       if_printf(sc->bge_ifp, "link DOWN\n");
+                               if_link_state_change(sc->bge_ifp, 
LINK_STATE_UP);
                        }
+               } else if (sc->bge_link) {
+                       sc->bge_link = 0;
+                       if (bootverbose)
+                               if_printf(sc->bge_ifp, "link DOWN\n");
+                       if_link_state_change(sc->bge_ifp, LINK_STATE_DOWN);
                }
        } else {
                /* 
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to