Skip site navigation (1)Skip section navigation (2)
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>