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>