Subject: Re: Multiple ethernet support for Plan 9 Hello Russ, You wrote a few monthes ago: >In addition to the boddles, you'll have to change line 795 (or thereabouts) >in /sys/src/cmd/ndb/cs.c to be > sprint(buf, "%s/ether0", mntpt); >changing ether into ether0. However I cannot find the line in my cs.c. My cs.c is original one. I cannot find any boddle for cs.c. Where is the cs.c? I have finished compiling new kernel and others except cs.c. Booting new kernel, my cpuserver fails because he cannot dial to my cpu server. Thanks, Kenji Arisawa E-mail: arisawa@aichi-u.ac.jp Date: Sat, 5 Sep 1998 02:14:03 -0400 To: arisawa@ar.aichi-u.ac.jp From: "Russ Cox" Subject: Re: Multiple ethernet support for Plan 9 Presotto made some pretty extensive changes to all of ndb. You need http://plan9.bell-labs.com/plan9/update/ndb/ndb.tar.xor and 8.xor. Then do 8.xor ndb.tar.xor /your_plan9_cd/68020/9gnot >ndb.tar to recover the tar file. Untar it into /sys/src/cmd/ndb and recompile everything and you'll be good to go. Before you go through all that trouble (which you should probably do at some point, but it's a fair amount of work), you might try changing line 710 of cs.c from if(myetheraddr(addr, "/net/ether") >= 0){ to if(myetheraddr(addr, "/net/ether0") >= 0){ and see if that solves the problem. Hope this helps. Russ From: arisawa@ar.aichi-u.ac.jp Date: Sun, 6 Sep 1998 06:06:19 -0400 To: rsc@plan9.bell-labs.com Subject: multi-ether Hello Russ and David, My multi-ether system began to work, so I am now testing the system. Today I found a kernel bug. I should report you the problem. Executing snoopy without options causes a system panic. The panic comes from the codes in snoopy.c > if(pflag && write(cfd, "promiscuous", sizeof("promiscuous")-1) <= 0) Thanks, Kenji Arisawa E-mail: arisawa@aichi-u.ac.jp Date: Sun, 6 Sep 1998 09:39:28 -0400 To: arisawa@ar.aichi-u.ac.jp, gdb@dbsystems.com From: "Russ Cox" Subject: re: multi-ether You're using a 3Com card, right? Edit ether509.c. In particular, the end of ether509reset() currently reads: /* * Set up the software configuration. */ ctlr->card.port = port; ctlr->card.reset = ether509reset; ctlr->card.attach = attach; ctlr->card.transmit = transmit; ctlr->card.intr = interrupt; ctlr->card.bit16 = 1; return 0; but you should add ctlr->card.mode = mode; in there somewhere (probably right after the ``intr ='' line). Recompile and try it again, and let us know. Russ From: "Russ Cox" Subject: [9fans] multiple-ethernet correction Sender: owner-9fans@cse.psu.edu Reply-To: 9fans@cse.psu.edu Hi all. If you're trying to use David Butler's multiple-ethernet kernels that I posted boddles for a couple months ago, you might notice that you can't access machines on the local network. This is because ipconfig isn't getting run by termrc/cpurc. If you have a line similar to if(test -e /net/ether/clone) ip/ipconfig in /rc/bin/^(cpurc termrc), you should change it to if(test -e /net/ether0/clone || test -e /net/ether/clone) ip/ipconfig before attempting to use the new ethernet drivers. Russ Subject: Multi-ether Hello Russ and David, I have fixed following your advice: > if(test -e /net/ether0/clone || test -e /net/ether/clone) ip/ipconfig OK. My terminal began to talk with outer systems by telnet. Thank you. Kenji Arisawa E-mail: arisawa@aichi-u.ac.jp