Xref: utzoo comp.dcom.lans:3946 alt.msdos.programmer:830 Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uwm.edu!rutgers!columbia!cunixc!mit-amt!snorkelwacker!bloom-beacon!eru!luth!sunic!mcsun!ukc!tcdcs!csvax1.cs.tcd.ie!swift.cs.tcd.ie!dit2!alawlor From: alawlor@dit.ie (Aengus Lawlor) Newsgroups: comp.dcom.lans,alt.msdos.programmer Subject: Ethernet addresses from different brands of card Message-ID: <5423.2572acc6@dit.ie> Date: 28 Nov 89 16:05:26 GMT Organization: Dublin Institute of Technology Lines: 49 The following program from PC Magazine of July 1988 will print the 12 digit ethernet address of a 3COM 3C501 Ethernet card. It doesn't work for my Western Digital WD8003Es, or D-Link DE-001s (NE-1000 clones). The 3C501 uses IRQ 3, I/O base address 300H, and DMA channel 1. The D-Link uses IRQ 3,I/O base address 300H, and no DMA, with a Base Memory address of D0000H. The WD8003E uses IRQ 3, I/O base address 280H, and no DMA, with a Ram Buffer I/O Base address of C4000H. These are the factory default settings of the cards. Can anyone tell me exactly what this program does, and what I need to change to make it work for all three cards?. In a similiar vein, our primary Network is a 3Com. The drivers for each card are loaded as devices in the CONFIG.SYS file. Is there any way of making a universal boot floppy, that would load the correct driver for the card? Any suggestions appreciated. Aengus. /* from PCMAG july 88 */ #include "stdio.h" #define L_GETEAR 6 /* bytes in binary E/N address */ #define L_EA (2 * (L_GETEAR + 1)) /* size of ASCII E/N address */ #define IE_GP 8 /* xmit, station addr PROM pointer */ #define IE_SA 12 /* station address prom window */ #define EA_BASE 0x300 /* Ethernet adapter base address */ main () { int i, byte, base = EA_BASE; /* 3c501 adapter I/O base address */ for (i=0; i