Date: Mon, 31 Jul 95 08:59:55 EDT From: jleppek@suw2k.ess.harris.com (James Leppek) To: freebsd-hardware@freebsd.org, schwarz@alpharel.com Subject: Re: 3c589 card CAN be made to work BNC Message-ID: <9507311259.AA00242@borg.ess.harris.com>
next in thread | raw e-mail | index | archive | help
Steve, Good work, "look in the linux sources" why didn't I think of that :-) I foolishly tried to get info from 3com... I tried your patch and it works, thanks. My motif arrived today as well so it looks like FreeBSD will be "taking a bow" at the security technology transfer conference next week :-) Thanks again, Jim Leppek > From schwarz@optigfx.COM Mon Jul 31 01:17:23 1995 > Date: Sun, 30 Jul 95 22:15:38 PDT > From: schwarz@alpharel.com (Steve Schwarz) > To: freebsd-bugs@freebsd.org, freebsd-hackers@freebsd.org, > freebsd-hardware@freebsd.org, hosokawa@mt.cs.keio.ac.jp, > jleppek@suw2k.ess.harris.com > Subject: 3c589 card CAN be made to work BNC > > Ok. It's been a long weekend (note the time) but trial and error is > always like that. I >finally< have wrestled my 3c589 into working BNC. > > I went over to the Linux 3c589_cs.c driver and read it (line by line) > against FreeBSD's /usr/src/sys/i386/isa/if_zp.c. In doing so, I > discovered some things Linux was doing that FreeBSD was not. This > leads to the following patch to FreeBSD's > /usr/src/sys/i386/isa/if_zp.c. My original of that source file came > from the 2.0.5 cdrom. Here is the single diff-section patch: > > ######################################################################## > *** if_zp.c Mon Jul 31 00:47:22 1995 > --- if_zp.c.orig Sun Jul 30 17:42:19 1995 > *************** > *** 1069,1082 **** > if (!(ifp->if_flags & IFF_ALTPHYS) && (sc->ep_connectors & BNC)) > { > #endif > #ifdef ZP_DEBUG > ! printf("START TRANSCEIVER"); > #endif /* ZP_DEBUG */ > - GO_WINDOW(0); > - /* Set the xcvr */ > - outw(BASE + EP_W0_ADDRESS_CFG, 3 << 14); > - GO_WINDOW(2); > outw(BASE + EP_COMMAND, START_TRANSCEIVER); > - GO_WINDOW(1); > DELAY(1000); > } > #if defined(__NetBSD__) || defined(__FreeBSD__) > --- 1069,1077 ---- > if (!(ifp->if_flags & IFF_ALTPHYS) && (sc->ep_connectors & BNC)) > { > #endif > #ifdef ZP_DEBUG > ! printf("START TRANCEIVER"); > #endif /* ZP_DEBUG */ > outw(BASE + EP_COMMAND, START_TRANSCEIVER); > DELAY(1000); > } > #if defined(__NetBSD__) || defined(__FreeBSD__) > ######################################################################## > > This patch is not elegant but it is enough to make BNC work without > affecting UTP. > > I confess to being a total novice as far as the procedure for > submitting bug fixes. If I have not given enough information for > someone to handle getting this fix in, please just let me know. > > I can't resist quoting the comment from the Linux source file that > made me first think I had found the answer: > > /* This is vital: the transceiver used must be set in the resource > configuration register. It took me many hours to discover this. */ > > I know the feeling. > > sts >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9507311259.AA00242>