Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Oct 2004 13:19:13 -0400
From:      "Ketrien I. Saihr-Kesenchedra" <ketrien@error404.nls.net>
To:        hackers@freebsd.org, soralx@cydem.org
Subject:   Re: [PATCH] Re: Linksys PCM200
Message-ID:  <417BE411.8070500@error404.nls.net>
In-Reply-To: <417B08B5.8080208@error404.nls.net>
References:  <200410132110.09915.soralx@cydem.org> <200410220216.54868.soralx@cydem.org> <20041022175311.GA15960@odin.ac.hmc.edu> <200410231047.44788.soralx@cydem.org> <417B08B5.8080208@error404.nls.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Okay, so I got unlazy and threw some stuff together. Try these patches; 
this will default the PCM200 cards to store-and-forward. This might help.
-ksaihr

--- /usr/src/sys/pci/if_dc.c    Sun Oct 24 13:09:28 2004
+++ if_dc.c     Sun Oct 24 12:59:07 2004
@@ -3022,6 +3022,16 @@
                }
        }

+       if (DC_IS_LINKSYS(sc)) {
+               /*
+                * The Linksys PCM200 fails into store and forward mode 
very quickly,
+                * so instead of waiting, start it there.
+                */
+               printf("dc%d: setting card to store and forward mode\n", 
sc->dc_unit);
+               DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_STORENFWD);
+       }
+
+
        printf("dc%d: TX underrun -- ", sc->dc_unit);
        sc->dc_txthresh += DC_TXTHRESH_INC;
        if (sc->dc_txthresh > DC_TXTHRESH_MAX) {

--- /usr/src/sys/pci/if_dcreg.h Thu Aug  5 13:46:14 2004
+++ if_dcreg.h  Sun Oct 24 13:09:31 2004
@@ -98,6 +98,13 @@
 #define        DC_IS_XIRCOM(x)         (x->dc_type == DC_TYPE_XIRCOM)
 #define DC_IS_CONEXANT(x)      (x->dc_type == DC_TYPE_CONEXANT)

+/* Cards requiring specific workaround */
+       /* Linksys PCM200 */
+#define DC_IS_LINKSYS(x)               \
+       (x->dc_type == DC_TYPE_AN985 &&         \
+        pci_get_vendor(dev) == DC_VENDORID_LINKSYS && \
+        pci_get_device(dev) == DC_DEVICEID_PCM200_AB08)
+
 /* MII/symbol mode port types */
 #define DC_PMODE_MII           0x1
 #define DC_PMODE_SYM           0x2



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?417BE411.8070500>