if_bge driver problem. - Upgrade to RELEASE :)
husnu demir
hdemir at metu.edu.tr
Tue Jan 31 00:14:56 PST 2006
Hi Oleg,
Sorry but The STABLE causes another problem with my SCSI driver (MPT - LSI LOGIC). Before compilation I made cvsup to sync the stable and get the if_bge.c requested version (a lazy work :() Then applied patch make compile and install finally reboot. And it is not working. I could not find even kernel.old :( Standart method shoul put the kernel.old but there is no one. I have some other works to do but will find to boot somehow.
I will try to let you know as soon as I solved the problem. By the way, do you know how to get cvsup to specified times stable (e.g. 25.01.2006).
Thanks.
On Mon, Jan 30, 2006 at 11:57:42PM +0300, Oleg Bulyzhin wrote:
> 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 ;
> >
> > root@~# less /boot/loader.conf
> > verbose_loading="YES
> >
> >
> > and reboot the machine;
> >
> > root@~# uname -a
> > FreeBSD nrouter.cc.metu.edu.tr 6.0-STABLE FreeBSD 6.0-STABLE #1: Sun Jan 29 16:29:48 EET 2006 root at nrouter.cc.metu.edu.tr:/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
> >
> > root@~# 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 .
> >
> >
> >
> > root@~# 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 {
> /*
More information about the freebsd-stable
mailing list