Much of this document was originally published as a posting to the GB-Users
mail list.
The card is a configured via a DOS application, typically EZSTART. This program really desires a Color VGA monitor -- use with MDA or monochrome VGA may be very frustrating, and a mouse and mouse driver may be advantageous, although it is certainly not needed and probably not worth the trouble to anyone who should be inside a computer.
A set of "emergency jumpers" are provided (although, not installed on all cards) to enable the card to be "forced" to another setting to eliminate conflicts long enough to get the system back to 100% operation.
The card should typically be configured one card at a time -- configure the first card with no other cards in the system, then configure the second card. If you do it carefully, you can leave the first card in place while you configure the second card. The EZSTART program will not permit you to attempt to configure more than one card in the machine if they have the same base I/O address. In a pinch, the "emergency jumpers" can be used to move one card "out of the way" so that they can be both configured, but then, if you can handle that, you probably don't need this document at all.
The card uses shared memory, which makes it "different" than most NICs (although, far from unique), and as this is a fairly unusual concept now, it warrants some explanation. "Shared memory" is an alternative way for software to communicate with the card. Most NICs do this via I/O ports, which are also used by the 8216. Shared memory is a chunk of RAM located between the 640k point and the 1M point in the IBM PC memory space, which physically exists on the network card, but is accessible by any program or driver running on the system. The card can fill the shared memory space with data, the program/driver can read it. The program/driver can place data in the shared memory space, and the card can send it out to the cable. This system worked GREAT on "lower performance" computers, such as 80286 and earlier systems, but on 386 and faster systems, it normally bought the user very minimal performance gains, and it REALLY messed up the operation of programs like EMM386.EXE which came into common use just as the 8216 hit the market. The problem is EMM386 wants the exact same memory area as the NICs do, and often ended up "stepping on" the NIC. Knowing how to get around this proved to be very profitable years ago.
This shared memory creates NO problem (other than proper configuration)
for "real" OSs which don't need hacks like EMM386, and for this reason,
while I would be slow to put an 8216 in a DOS or Windows workstation (just
because it is profitable, doesn't mean I'd consider it the "right" thing
to do), it makes a GREAT server card.
Users who have used the SMC8216 under other OSs are used to just setting the card up to a non-conflicting settings and having the driver find it. GNATbox does not work this way! Like the other cards using the ed driver under GNATbox, you have certain pre-defined settings, and you MUST use those settings or things won't work! The proper shared RAM locations are not disclosed in the manual. I found these settings by running GB on the card and looking at the error messages (which say something like "RAM not found at..."). Unfortunately, due to the way the available options of the SMC8216 and the options of GB's ed driver mesh, there are limited availability of compatible settings.
ed0: io: 280 irq: 10 memory: d8000
ed1: io: 300 irq: 5 memory: da000
ed2: io: 320 irq: 11 memory: dc000
ed3: io: 340 irq: 12 memory: ?????
ed4: io: 360 irq: 15 memory: 40000??
(from GB manual, pg. 56 and experimentation)
Here are the problems with this layout: The SMC8216's memory block is 16k in size. You can not, therefore, use ed0 and ed1 settings, or ed1 and ed2. You can use ed0 and ed2.
Further problems:
* ed3 is out, as the SMC8216 doesn't permit the selection of IRQ12,
which isn't a bad idea, as IRQ12 is used by PS/2 mouse ports, and might
cause problems anyway on many systems.
* ed4 is out, as my testing indicated it wanted the shared memory at
0x40000, which is right in the middle of the "DOS memory", and not selectable
anyway on the 8216. To add insult to injury, I/O 360 conflicts with
the standard LPT port location of 378, although many computers will let
you change this.
Note that it should be pretty easy for GTA to change the memory definitions
of the ed driver so that things work better with the SMC8216 card, so (with
luck) all the above may change for a future release of GB. I'd also
suggest a change of the ed3 and ed4 definitions, while I'm at it...most
ed
series cards offer better locations, and the ones that don't (like the
REAL NE2000) won't support IRQs 12 and 15 anyway)
Another problem: I could not find the SMC8216 setup program on SMC's web site! Lots of drivers, no way to set the card. Doh! Fortunately, I have kept copies of this from years past, however I don't have easy access to unlimited bandwidth, and it is very unclear whether I would have the right to redistribute this file.
GB 3.11 updated information:
Aren't those GB people wonderful? While they are not eager to
support old ISA cards (or even new ISA cards) under GB (and I fully appreciate
this), as changing the settings listed above is a fairly easy job, they
did just that!
Starting with GB v3.11, the definition of ed1 has been changed, making
it useful for the SMC8216. It is now possible to have ed1 as well
as ed0 and ed2 at the following settings:
ed0: io: 280 irq: 10 memory: d8000
ed1: io: 300 irq: 5 memory:
cc000
ed2: io: 320 irq: 11 memory: dc000
So now you can have a PSN with the 8216!
You should probably be warned, as of my writing this, there is probably
only ONE person who has been testing this (me), on only two different computers.
So, if you want a "guaranteed" rock-solid system and only need two ports,
you might want to stick to ed0 and ed2, but ed1 is out there if you want/need
it. I have had no problems with its use.
On PNP BIOS machines, you should probably also make sure you have set the machine's BIOS to reserve the IRQs used by any ISA cards, so you don't end up with conflicts with any PNP resource (like PCI NICs). Pull out ANY cards not required by GNATbox.
If the above makes sense to you, you will probably have no trouble with
either the SMC8216 or the SMC8416. If it was totally incomprehensible,
you might want edit out my random ramblings and try again, or stick to
PCI cards.
Holland Consulting home
page
Contact Holland Consulting
since June 24, 2000
(C)opyright 2000, Nick Holland, Holland Consulting