*BSD News Article 4737


Return to BSD News archive

Path: sserve!manuel!munnari.oz.au!spool.mu.edu!olivea!uunet!haven.umd.edu!darwin.sura.net!sgiblab!tsoft!mdurkin
From: mdurkin@tsoft.sf-bay.org (Mike Durkin)
Newsgroups: comp.unix.bsd
Subject: Re: Danpex EW-2016 Ethernet card on 386BSD?
Message-ID: <1992Sep9.050718.8599@tsoft.sf-bay.org>
Date: 9 Sep 92 05:07:18 GMT
References: <5fnntrg.alm@netcom.com>
Organization: The TeleSoft BBS and Public Access Unix, +1 415 969 7958
Lines: 63

In article <5fnntrg.alm@netcom.com> alm@netcom.com (Andrew Moore) writes:
>Danpex EW-2016 is an inexpensive (US$85.) allegedly WD8013-compatible
>ethernet card.  I was wondering if anyone has gotten 386BSD to
>recognize it, and if so, what configuration and jumper settings they
>used.

I have one of these cards also and after fiddling a bit with the source
found that the checksum in the probe fails.  I commented it out and am
using the card successfully, NFS mounting to and from my Sun3s with no
problems.

in if_we.c, change it to something like...
--- cut ---
	/*
	 * Here we check the card ROM, if the checksum passes, and the
	 * type code and ethernet address check out, then we know we have
	 * a wd8003 card.
	 *
	 * Autoconfiguration: No warning message is printed on error.
	 */
	for (sum = 0, i = 0; i < 8; ++i)
	    sum += inb(is->id_iobase + WD_ROM_OFFSET + i);
	if (sum != WD_CHECKSUM)
        {
            printf("we: probe: checksum failed... installing anyway\n");
            /* return (0); */
        }
	sc->we_type = inb(is->id_iobase + WD_ROM_OFFSET + 6);
--- cut ---

Since irq2 == irq9, I kept the INSTALL.NOTES defaults for the settings
and the only changes I made to the cards defaults was to set the irq
jumper to IRQ9 (2), and I think I took off the boot prom jumper although
there isn't a prom anyway.


[...]
>
>But it is not clear what "iomem" should be.  The default for we0 is
>0xd0000.  I presume this corresponds to the "RAM buffer base address"
>jumper setting on the EW-2016.  If so, these addresses appear to be
>tied to specific interrupt values.  For IRQ 15, for instance, I/O
>(i.e., port) address 0x200 and iomem 0xdc00 (sic) are required.  I

I think this is just the way the examples are put together in the docs...
don't think they're tied together.

>tried iomem 0xdc000 too (with appropriate changes to the kernel), but
>this didn't work either.  What are the implications, if any, of such
>small iomem values (i.e., 0xd000 as opposed to 0xd0000)?
>
>Finally, the default iosiz for we0 is 8K (8196).  Does it matter that
>the EW-2016 RAM buffer size is 16K?  I tried both iosiz 8196 and 16384
>to no avail.

I don't completely understand the PROM and memory addressing myself...
can someone explain this?  Unless I'm missing something, I only see
how to set the prom address and not how to pick where the iomem goes.

     Mike

-- 
Mike Durkin / mdurkin@tsoft.sf-bay.org -or- apple!tsoft!mdurkin