Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Sep 2001 16:59:21 -0800
From:      "Lars Eggert" <larse@ISI.EDU>
To:        "Michael Collette" <metrol@earthlink.net>, "Warner Losh" <imp@harmony.village.org>
Cc:        "FreeBSD" <freebsd-mobile@FreeBSD.ORG>
Subject:   RE: Same old pccard probs
Message-ID:  <PCELJJEJJMODEMKEBLLBIEDGCAAA.larse@isi.edu>
In-Reply-To: <20010923232520.1DEF737B438@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Sorry, couldn't find this in the thread - is this a Linksys card? If so,
this patch might help:

[This is from a -stable email from 11/30/00 titled "Re: Linksys PCMPC100
problem"]

Another piece to the puzzle of bad network performance of the Linksys
cards
is that they're only supported as generic NE2000 cards with 8K of memory
by
the ed driver. 1.5K are used for the send buffer, 6.5K remain for the
receive buffer. This is a shortcoming of the ed driver, since the Linksys
cards have 32K of memory.

If a sender sends large packets to a Linksys cards (NFS over UDP), the IP
fragments arrive too fast and overrun the buffer. The last fragment(s) are
lost and the wohle packet is dropped.

The patch below fixes a small bug in the ed driver that causes only 8K
instead of 16K (as normal for 16bit cards) to be used. However, full
support for the Linksys cards should really be added to the ed driver. The
code in http://www.FreeBSD.org/cgi/query-pr.cgi?pr=12088 looks promising,
but doesn't apply cleanly due to bitrot.

Index: if_ed.c
===================================================================
RCS file: /home/larse/CVSROOT/RELENG_4/sys/dev/ed/if_ed.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 if_ed.c
--- if_ed.c     2000/10/25 01:15:38     1.1.1.1
+++ if_ed.c     2000/11/30 22:16:13
@@ -1046,6 +1046,18 @@
        }


+       /*
+        * Hack:
+        * Reprobe Linksys. This sets sc->isa16bit, which causes 16K
+        * of the card memory to be used instead of only 8K. However,
+        * the Linksys cards (at least my PCMPC100) have 32K memory.
+        * This driver should really be changed to fully support the
+        * Linksys cards. The patch in
+        * http://www.FreeBSD.org/cgi/query-pr.cgi?pr=12088 looks
+        * promising, but doesn't apply cleanly due to bitrot.
+        */
+       ed_get_Linksys(sc);
+
        /* 8k of memory plus an additional 8k if 16bit */
        memsize = 8192 + sc->isa16bit * 8192;

@@ -1690,6 +1702,13 @@
        printf("%s\n", (((sc->vendor == ED_VENDOR_3COM) ||
                         (sc->vendor == ED_VENDOR_HP)) &&
                (ifp->if_flags & IFF_ALTPHYS)) ? " tranceiver disabled" :
"");
+#if ED_DEBUG
+       printf("%s%d: %u/%u/%u bytes tx/rx/total card memory\n",
+           ifp->if_name, ifp->if_unit,
+           sc->txb_cnt * ED_PAGE_SIZE * ED_TXBUF_SIZE,
+           (sc->rec_page_stop - sc->rec_page_start) * ED_PAGE_SIZE,
+           sc->mem_size);
+#endif

        return (0);
 }


--
Lars Eggert <larse@isi.edu>               Information Sciences Institute
http://www.isi.edu/larse/              University of Southern California

[-- Attachment #2 --]
0	*H
010	+0	*H
00G0
	*H
010	UZA10UWestern Cape10U	Cape Town10
U
Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.300
010824164000Z
020824164000Z0T10
UEggert1
0U*Lars10ULars Eggert10	*H
	
larse@isi.edu00
	*H
0|\Pw v~~FDooӦA\-	 Cˀ4.)&{肋,z(ܷر߈T7_'txGH^tt/ҹB8%t<#ֲNV0T0*+e!000L2uMyffBNUbNJJcdZ2s0U0
larse@isi.edu0U00
	*H
aJPMՒ]cѭC+kS+wZ1gY",YT41
j6:~℩D~Kؚ‡l=u(ՎM?cF7@}T0)00
	*H
010	UZA10UWestern Cape10U	Cape Town10U
Thawte Consulting1(0&UCertification Services Division1$0"UThawte Personal Freemail CA1+0)	*H
	personal-freemail@thawte.com0
000830000000Z
020829235959Z010	UZA10UWestern Cape10U	Cape Town10
U
Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.3000
	*H
032c	%E>nx'gڈD)c5*mp<ܮto034qmOe
KaU5u'rװ|CBPQ<9TIf-	kiN0L0)U"0 010UPrivateLabel1-2970U00U0
	*H
so&e4KYbDI

j&*bctmSK8P:l4撜n#	KrgPo.XPWՈ9[9}4%MjÑ/<RbH100010	UZA10UWestern Cape10U	Cape Town10
U
Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.30G0	+e0	*H
	1	*H
0	*H
	1
010924005921Z0#	*H
	1gszS|4BK'0X	*H
	1K0I0
*H
0*H
0+0
*H
(0+0
*H
0	+710010	UZA10UWestern Cape10U	Cape Town10
U
Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.30G0
	*H
,䬂]2oSxs`Dm@i{?tGR8Q1wY!i)x|pWPHD_r%G
#5+m5j9V`>]ף=Ny[HX

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