Date: Fri, 6 Feb 1998 08:53:46 -0800 (PST) From: Doug Burks <dbx@atmos.washington.edu> To: freebsd-mobile@FreeBSD.ORG Subject: Re: 3com 3C589D and zp0 vs. ep0 Message-ID: <Pine.FSD.3.96.980206081145.9508A-100000@cargpc5.atmos.washington.edu> In-Reply-To: <19980205193131.11507@panix.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Larry et al,
I have struggled with a problem very similar to what you have had. I am
trying to connect a local private LAN to the Internet via a laptop.
Right now, I have the basics working, so I can forward my experiences,
and I think Larry will find some useful stuff in there. However, given
my recent experiences, I suspect I may bump into something else :) , so
this is all preliminary until the setup proves itself in real life use.
Like Larry, I had tried using straight FreeBSD-2.2.5 with zp0, and the
result worked fine, except that the networking often hung, usually, but
not always, under heavy load. So I decided to try PAO.
My setup:
NEC Versa 5060X
PCIC -- TI PCI-1311X [running in i8-whatever emulation]
2 3Com 3C589D network cards
one connected to a private LAN, one connected to the Internet
Vanilla FreeBSD 2.2.5-RELEASE with the PAO-19971211 patches
I ended up making three changes (so far)
First, I had to add
options "PCIC_TI113X_FUNC"
to my kernel configuration file (likely not a problem for Larry).
Second, I had to add muck around with the networking "rc" scripts. I
added a "sleep 20" to the end of /etc/rc.pccard, since the routing was
starting before "pccardd" had loaded the network cards, causing a long
hang. I removed the routing from /etc/pccard_ether, since it only has
to be set once, and /etc/rc.network's pass1 is fine. (This latter
change could cause problems for setups where network cards are added and
removed, but a gateway machine likely will not suffer this fate).
Third, I editted /usr/src/sys/i386/isa/if_ep.c and removed the multi-
casting capability, by deleting IFF_MULTICAST in the statement ini-
tializing ifp->if_flags in the function "ep_attach". (There may be a
way to turn off multi-casting via "ifconfig", but I could not find it).
I did this because, I read in the -mobile archives that the promiscuous
mode was wonky in the "ep" driver, and noticed that multi-casting turns
on the promiscous mode. Like Larry, I also noticed that the "zp" driver
did not set multi-casting. Unlike Larry, my wonky promiscuous mode
caused serious problems, actually crashing on main Sun NFS server (admit-
tedly, just an old Sun SparcStation 1). You can imagine how much fun my
testing caused my users. :) All's well, that ends well.
With these changes, my setup has worked under the very short and light
testing I have been able to do so far.
As for Larry's setup in particular, I suggest a few changes. In rc.conf,
replace
network_interfaces="lo0 ep0 zp0"
ifconfig_ep0="inet 192.168.1.2 netmask 255.255.255.0"
pccard_ether="<whatever you had, I accidentally deleted it :( >"
with
network_interfaces="lo0"
ifconfig_ep0="inet 192.168.1.2 netmask 255.255.255.0 link2"
pccard_ether="ep0"
The source code indicates that "link2" is the best way to turn on the
10baseT mode. (Yes, I have used that).
And in /etc/pccard.conf, replace
insert /etc/pccard_ether ep0 link0 -link1
with
insert /etc/pccard_ether ep0
(I also use
config any "ep0" any
but I don't think that should make any difference for you).
I think that's everything I had on this subject. If anyone has any
questions, feel free to ask -- publicly or privately. I'm happy to
help!
Finally, thanks to the PAO powers-that-be for putting this together!
Doug Burks
dbx@atmos.washington.edu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.FSD.3.96.980206081145.9508A-100000>
