On Wed, 2003-02-26 at 23:48, LS wrote: > Hi James et al: > > I've done some more experimenting on this. > > When I go back to Windows on the slave > the network connection is back. I can > ping successfully both ways.
ok, so we know that the network card itself is alright. As an item of curiosity, what does Windows say the network card is? > > However once I go in Linux, although > eth0 comes up (this coming up just detects > the IP address I manually allocated), > the network connection breaks down. > From Windows master the ping also fails. hrmm. What exactly do you mean? ifconfig is showing an IP address but you can't ping? if ifconfig shows an ip address in '/sbin/ifconfig eth0', then odds are that you have the right driver and it has loaded (though this is not *necessarily* true). If that is the case then I would suspect other network problems. I'm pulling at straws here, but try the following as root /etc/rc.d/init.d/iptables stop /etc/rc.d/init.d/network stop ifconfig lo 127.0.0.1 up modprobe 3c59x ifconfig eth0 192.168.0.23 up And then go to your windows machine and type 'ping 192.168.0.23' - this requires that your ip address on the windows machine is 192.168.0.something. This may or may not be the case. If it isn't, then change the line 'ifconfig eth0 192.168.0.23 up' to 'ifconfig eth0 192.168.somethingelse.23 up' Now what that does is walk you through about half of the steps that the network loading scripts perform when your computer boots. If you don't get any errors, then the network card is almost certainly working and you've got another problem like a firewall or something. However, in the alternative case when it fails, you'll know exactly which part of the process it fails on. I don't know if 'network stop' will unload the driver. IIRC it will unload it if you leave the network down for 20 minutes (there's a cron job that unloads unused modules and runs every 20 minutes, I think), so you might get a message saying 'module/driver blah is already loading.' or something like that. Don't worry about that. BUT if you get other messages, they might prove to be interesting. So the first two lines stop all the network stuff that is currently running so we have a clean sheet of computer to work on. The next line brings up the 'loopback interface' - which is a "virtual" interface that allows you to have network connections initiated and ending on your local computer. The next line 'modprobe <something I'm not going to mistype 15 times again>' actually loads the driver. I expect you will have a problem on either this line or the next one. The next line asks linux to assign an IP address to your ethernet card and bring it 'up' - start listening for connections. ooh - also, while you're doing this, keep another xterm open and run 'tail -f /var/log/messages' and watch this at every step. This will give you a running commentary on things that go wrong (or right) with your computer. It might give you some error messages that you don't get otherwise. > > From the url > http://www.scyld.com/network/vortex.html > drivers for 3c59x.o I believe also can be used for my etho 3com > EtherLink XL 10/100 PCI NIC (3c905-TX) Boomerang > adaptor on the slave. Yep. I'd guess that you have the right driver. Have a look in /etc/modules.conf - this is the file that says what driver belongs to what device (roughly). See if you have a line in there containing your driver. Alternatively, if you have any lines that say 'eth0' and don't have your driver in there, they are wrong. Tell us about them, we need to fix them. > > Are there any extra steps I am missing that's causing > Linux to break the connection ? Well, there must be, otherwise the connection would work :) But I need a bit more feedback from the computer to diagnose the problem. > > I'm pretty sure I did netconf as quoted below. > > Would upgrading to a more recent Linux distribution package > solves this problem ? good question. One to which I don't have a specific answer. I will say that Redhat 8.0 (and the 8.1 beta, from looking over people's shoulders at work) is a huge leap forward. I would be surprised if you installed redhat 8.0 and your card didn't work, but I don't actually know, and to be fair I'm surprised you are having as much trouble as you are. A few pointers if you do decide to: If you aren't too attached to the data on your system, I would suggest doing an "install" rather than an "upgrade", and setting up your computer to use the "XFS filesystem" - which I think rh8 supports. I would suggest you do an "expert" install, simply because I can't remember what options you don't see on the others. When it comes to configuring your ethernet card, configure it manually, according to the guidelines I spelled out above (ie, same subnet as your windows computer, windows computer as default route and probably nameserver too now that I think about it) Another thing worthy of mention is that I just had a quick look at the changelog for that driver - there were some patches submitted for it in 2002, but I think they are irrelevant to your card. That said, if active development has been done on it, perhaps a new linux distro and a new kernel/drivers would give you other, unexpected fixes. And finally, if you look in the kernel source, you'll find this additional documentation about your driver, which you may or may not have seen: Theory of Operation I. Board Compatibility This device driver is designed for the 3Com FastEtherLink and FastEtherLink XL, 3Com's PCI to 10/100baseT adapters. It also works with the 10Mbs versions of the FastEtherLink cards. The supported product IDs are 3c590, 3c592, 3c595, 3c597, 3c900, 3c905 The related ISA 3c515 is supported with a separate driver, 3c515.c, included with the kernel source or available from cesdis.gsfc.nasa.gov:/pub/linux/drivers/3c515.html II. Board-specific settings PCI bus devices are configured by the system at boot time, so no jumpers need to be set on the board. The system BIOS should be set to assign the PCI INTA signal to an otherwise unused system IRQ line. The EEPROM settings for media type and forced-full-duplex are observed. The EEPROM media type should be left at the default "autoselect" unless using 10base2 or AUI connections which cannot be reliably detected. III. Driver operation The 3c59x series use an interface that's very similar to the previous 3c5x9 series. The primary interface is two programmed-I/O FIFOs, with an alternate single-contiguous-region bus-master transfer (see next). The 3c900 "Boomerang" series uses a full-bus-master interface with separate lists of transmit and receive descriptors, similar to the AMD LANCE/PCnet, DEC Tulip and Intel Speedo3. The first chip version retains a compatible programmed-I/O interface that has been removed in 'B' and subsequent board revisions. One extension that is advertised in a very large font is that the adapters are capable of being bus masters. On the Vortex chip this capability was only for a single contiguous region making it far less useful than the full bus master capability. There is a significant performance impact of taking an extra interrupt or polling for the completion of each transfer, as well as difficulty sharing the single transfer engine between the transmit and receive threads. Using DMA transfers is a win only with large blocks or with the flawed versions of the Intel Orion motherboard PCI controller. The Boomerang chip's full-bus-master interface is useful, and has the currently-unused advantages over other similar chips that queued transmit packets may be reordered and receive buffer groups are associated with a single frame. With full-bus-master support, this driver uses a "RX_COPYBREAK" scheme. Rather than a fixed intermediate receive buffer, this scheme allocates full-sized skbuffs as receive buffers. The value RX_COPYBREAK is used as the copying breakpoint: it is chosen to trade-off the memory wasted by passing the full-sized skbuff to the queue layer for all frames vs. the copying cost of copying a frame to a correctly-sized skbuff. IIIC. Synchronization The driver runs as two independent, single-threaded flows of control. One is the send-packet routine, which enforces single-threaded use by the dev->tbusy flag. The other thread is the interrupt handler, which is single threaded by the hardware and other software. IV. Notes Thanks to Cameron Spitzer and Terry Murphy of 3Com for providing development 3c590, 3c595, and 3c900 boards. The name "Vortex" is the internal 3Com project name for the PCI ASIC, and the EISA version is called "Demon". According to Terry these names come from rides at the local amusement park. The new chips support both ethernet (1.5K) and FDDI (4.5K) packet sizes! This driver only supports ethernet packets because of the skbuff allocation limit of 4K. I've not read most of that, but I thought the section about which cards are supported might be helpful. > > Anyone !! It sounds like you're very close. Don't give up now! good luck, James. > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf > Of LS > Sent: Tuesday, February 25, 2003 11:51 PM > To: 'James Gregory' > Cc: [EMAIL PROTECTED] > Subject: RE: [Re: [SLUG] Control one PC with Another] > > > My replies are quoted "Louis>>>" > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf > Of James Gregory > Sent: Tuesday, February 25, 2003 12:32 AM > To: LS > Cc: [EMAIL PROTECTED] > Subject: RE: [Re: [SLUG] Control one PC with Another] > > > On Mon, 2003-02-24 at 23:22, LS wrote: > > > Another point I noted. When Linux was booting up, I noticed that the > > "Bringing up interface eth0" FAILED . Could this also be another issue > > > ? The Network card on the slave PC where Linux OS resides as well is a > > > 3Com Network card. Are there special drivers I need to install to get > > Linux to detect this card or get a PASS when booting ? > > ah HA! > > This is your problem. If the ethernet card is not coming up then it > won't have an IP and you won't be able to ping or do anything else > useful with it. > > I was under the (perhaps misguided) impression that 3com cards were > reasonably well supported on linux. > > Ok, on my computer I have a program called "netconf", which I think you > should have as well. It's part of linuxconf afaik. It's good for doing > this sort of stuff. But first you need to identify what sort of network > card you have, then identify which driver to use. hrmm. This will get a > bit vague. First of all, if you want to find what 3com drivers you have, > this should tell you (I've included the output from my box as well for > reference) : > > $ find /lib/modules/`uname -r` -name "3c*" > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/3c501.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/3c503.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/3c505.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/3c507.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/3c509.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/tokenring/3c359.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/3c515.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/pcmcia/3c589_cs.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/pcmcia/3c574_cs.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/drivers/net/3c59x.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/3rdparty/3c990 > /lib/modules/2.4.21pre4-8mdk/kernel/3rdparty/3c990/3c990.o.gz > /lib/modules/2.4.21pre4-8mdk/kernel/3rdparty/3c990fx > /lib/modules/2.4.21pre4-8mdk/kernel/3rdparty/3c990fx/3c990fx.o.gz > > Louis>>> running the above command gave some data. The ones that I think > relate to mine > are 3c50(1/3/5/7/9).0, 3c515.0, and 3c59x.o . > > Anyway I went into the /lib/modules/ and searched around. In the > ../kernel/drivers > directory I only see ".o" files. There are no ".o.gz" files. I can see > that the closest Are as stated above. The path is in > "/lib/modules/2.4.7-10/kernel/drivers/net/" > > > > (ie run 'lspci | grep Ethernet' to find out what ethernet cards you have > -- don't use the output from my computer, you don't want to configure > your computer to use my devices :)) > > Louis>>> this command revealed that my Ethernet card is of series 3c905 > (i.e 3c90x series) . > From /lib/modules directory when browsing around I saw no 3c905.o files, > but saw A 3c59x series ".o "file". > > Ok, so having identified the driver, you run netconf, go to the "Host > name and IP network devices" (assuming your system is the same as mine, > which it quite possibly isn't, but find the "configure my IP address" > looking thing), click on the "adaptor 1" tab, click "manual" config > mode, type in an ip address in the appropriate field (as I said, if > you're talking to windows computers, 192.168.0.something is a good > address). netmask, net device etc can be left as default. Now, where it > says "kernel module" you need to either type in or select from the drop > down the driver you identified before. > > Louis>>> I went ahead with netconf anyway. > > I selected "manual", and entered the other data for "adaptor 1" tab, and > clicked accept. For the "Kernel" > I actually found a 3c90x series. Scrolling further on this one showed > the number 3c905. So I selected "3c90x". But I don't think this driver > is installed, so why would it show in the drop menu ?? > > Running the /sbin/ifconfig showed the IP. However when I pinged the > ethernet for my master pc, it said "Network is unreachable". > > Anyway I rebooted and this time Linux did not even try to bring up the > eth0. From Gnome I re netconf, and this time I selected the default > Kernel it selected for me the first time I ran netconf > which was 3c59x series. Accepted this one. This one is installed as > mentioned above. > > Now I pinged and it tried something but still the test failed. > > Anyway I rebooted, and this time it did bring up the etho. However in > Gnome when I run a ping test on the master pc, I get a straight > "connect: Network is unreachable" this time. > > It seems I need to get 3c90x driver. I searched the web and came across > this site > > http://www.scyld.com/network/vortex.html > > They talk about 3c90x series but when I go down to get source code, I > just see the file for 3c95x.c and no 3c90x.c . So does that mean 3c95x > supports 3c90x series ? > > I'm slowly getting there. Please provide some input. Right now "adaptor > 1" is on "3c95x" series with the other settings as what you stated > above. The Ip I selected is 192.168.0.100. How do I pass ping ? > > hmm. It could well be that the gnome gadget just reads the pci device > list, and that's how it knows about the device. I suspect that this is > not an indication that the card is correctly configured. > > It has occurred to me that perhaps it's just a case of having set your > interface to "auto" or "dhcp" or something and not having a dhcp server. > In either case (no driver found or auto config selected), the above > steps should rectify it. > > Is there anything else the gnome thing shows you? can you change > settings there? > > Louis>>>> I cannot change this settings from the System Settings. But > from netconf on the > First run if did show "adaptor 1" set to "dhcp" with the other data > blank. Kernel was on "3c95x" . > > BTW: I found the problem why the 2 windows OS could see not each other. > On my master a while back I installed Norton Firewall. It blocked the > network Connection. Anyway I uninstalled it, and I can see the pcs both > way and can Map drives as well. I plan to re-install the firewall > software and get it to allow network connection internally. > > Louis > > -- > SLUG - Sydney Linux User's Group - http://slug.org.au/ > More Info: http://lists.slug.org.au/listinfo/slug > -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug
