> From: Carlos Fenollosa <carlos.fenoll...@gmail.com>
> Date: Tue, 8 Sep 2015 17:28:08 +0200
> 
> > On 07 Sep 2015, at 20:40, Stuart Henderson <st...@openbsd.org> wrote:
> > 
> > On 2015/09/07 20:26, Landry Breuil wrote:
> >> I cant help you on the issue itself, but i can confirm you that i've
> >> been seeing the exact same issue with gem0 on my g4 mac mini here, and
> >> since some releases. randomly, gem0 just doesnt receive/send pkts
> >> anymore and needs to be downed/upped.
> > 
> > Interesting - I don't see that on mine.
> > 
> > Out of interest does your switch have flow control enabled? (you will
> > see rxpause and/or txpause in the ifconfig output). If it does, is there
> > any change if you disable it on the switch (if you can do so)?
> > 
> > gem0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >        lladdr 00:0d:93:63:da:5a
> >        priority: 0
> >        groups: egress
> >        media: Ethernet autoselect (100baseTX full-duplex)
> >        status: active
> 
> Yes, it seems to be the case:
> 
> gem0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         lladdr 00:11:24:87:a7:64
>         priority: 0
>         groups: egress
>         media: Ethernet autoselect (100baseTX full-duplex,rxpause,txpause)
>         status: active
>         inet 192.168.1.199 netmask 0xffffff00 broadcast 192.168.1.255
> 
> 
> I have a crappy telco router, I’m actually not sure if I
> can disable it there. There is a section on QoS, but the option is
> disabled.  Could the driver be forced to disable flow control? At
> least I could try running it for a couple weeks to see if the bug is
> triggered again.

Diff below should do the trick.

Index: gem.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/gem.c,v
retrieving revision 1.112
diff -u -p -r1.112 gem.c
--- gem.c       24 Jun 2015 09:40:54 -0000      1.112
+++ gem.c       8 Sep 2015 15:36:45 -0000
@@ -240,7 +240,7 @@ gem_config(struct gem_softc *sc)
 
        gem_mifinit(sc);
 
-       mii_flags = MIIF_DOPAUSE;
+       mii_flags = 0;
 
        /* 
         * Look for an external PHY.

Reply via email to