Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 09 Apr 1996 15:04:00 -0700
From:      David Greenman <davidg@Root.COM>
To:        "Brett Glass" <Brett_Glass@ccgate.infoworld.com>
Cc:        freebsd-hardware@freebsd.org
Subject:   Re: Artisoft AE-3 Ethernet card: How to use large buffer? 
Message-ID:  <199604092204.PAA05495@Root.COM>
In-Reply-To: Your message of "Tue, 09 Apr 1996 09:34:37 PST." <9603098290.AA829071865@ccgate.infoworld.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
>Please forgive me if this posting appears more than once; my first one did
>not seem to get through.

   It got through. ...but I've been busy and your problem isn't important.

>I'm running FreeBSD on a machine with an Artisoft AE-3 card -- an NE2000
>clone with 64K (rather than the usual 16K) of buffer space. How can I get
>FreeBSD to recognize, and use, this additional space for transmit (and,
>especially, receive) buffering?

   You can't without 1) knowing how the memory is laid out (probably starts
at 0 and goes for 64K), and 2) modifying the driver to deal with it. If I make
an assumption about the memory layout, I could make the changes in a few
minutes. It will require that you specify the memory size in the kernel config
file, however.

> The kernel source, which is almost
>uncommented, is tough to analyze but suggests that the OS will assume an
>NE2000-compatible card has 16K of buffering.

   You're the first person to ever complain that I didn't have sufficient
comments in my code or that it was difficult to read. ...although it has been
hacked on by a fair number of people since I wrote it (the GWETHER stuff, for
example), and may have degraded somewhat.

> There's a hint, in the code,
>that the buffer size can be set by the boot-time kernel configuration
>program (that is, by booting with the -c option), but it's not clear how
>one might set it.

   That only works for shared-memory type cards of which the NE2000 is not. As
for telling you how to set the amount of RAM, there are hints in the manual
page for the driver, too: "man 4 ed".

>There's also some conditionaly compiled code having to do with a Gateway
>Ethernet card.  It's not normally compiled in. However, it appears that (if
>I'm reading it correctly) it *may* test the size of the card's internal
>RAM. Turning on this option would make the kernel bigger and require
>recompilation, though, so it wouldn't be as efficient as a boot-time
>option I could set with -c.

   Don't do that.

>I need advice as to how to proceed. Can I use the boot-time kernel
>configuration (-c) to let the driver know that I have 64K of onboard buffer
>space? If so, what do I enter?

   *If* the driver was modified to deal specially with this case, you would
set the memory size via the "iosiz <n>" option in the kernel config file
device line. There's an example at the top of the manual page. For "-c", you
would say "iosiz ed0 65536".
   Now the question is, after having been insulted about my code, if I want to
actually help you make the changes to the driver to support your extra memory.
Hmmm.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project



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