Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jan 1997 18:13:43 -0500 (EST)
From:      Dave Costantino <daver@chaos.tmok.com>
To:        mcgovern@spoon.beta.com (Brian J. McGovern)
Cc:        hackers@freebsd.org
Subject:   Re: 3com 3c509 / SB16 PNP Problems...
Message-ID:  <199701142313.SAA02192@chaos.tmok.com>
In-Reply-To: <199701142253.RAA01390@spoon.beta.com> from "Brian J. McGovern" at Jan 14, 97 05:53:08 pm

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

After a day or so of frustration, my 3C509 ethernet card is finally
recognized. It seems to have been conflicting with my Soundblaster, Turning
off the cards PNP had no effect, and it was recognized fine until the
addition of the Soundblaster.

Here's what I did to make it work... I don't guarantee this will work with
anyone elses configuration, but it's working for me.

I started with a FreeBSD 2.1.5 kernel.

1) I applied the PNP patches from http://www.freebsd.org/~smpatel
   I then used pnpinfo to setup both cards, following the instructions.

2) In /usr/src/sys/i386/isa/elink.h, I changed: "#define ELINK_ID_PORT 0x100"
   to read "#define ELINK_ID_PORT 0x110". I assume this works with my
   configuration because the 3Com card is the second PNP device recognized.

3) I made changes to /usr/src/sys/i386/isa/if_ep.c, as shown below...
   This code came from looking at the Linux 3C509 driver. I'm not sure
   what's necessary and what isn't. :(
   
202,213d201
<     /* Modifications */
<      outb(0x02,0x279);
<      outb(0x02,0xA79);
<    
<      for(id_port=0x110; id_port < 0x200; id_port += 0x10)
<       {
<         outb(0x00,id_port);
< 	outb(0xff,id_port);
< 	printf("3com: id_port testing 0x%x...\n",id_port);
< 	if (inb(id_port) && 0x01) { printf("found.\n"); break;}
<       }
<      


Note that you might have to change the 0x110 number to something else,
depending on your system. It seems that the current driver is looking at
0x100 and mistakes the SB16 to be a 3Com, causing problems.

Hopefully someone more knowledgable can sort out the cause of the conflict
more clearly.

-dave



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