I just purchased two 3c2000-T NICs and installed them. The open-source driver was on the CD (nice change!), compiled on gcc 2.95 and installed without problems on the 2.4.21-ac2 kernel.
I first thought they used the acenic driver and recompiled my 2.4.21-ac2 kernel to include it; however, the module wouldn't insert. I then realized the acenic driver is for the 3Com 3C985 chip, while my box says 3C2000-T. That's when I found it on the CD.
It turns out, however, that this is simply a very slightly modified version of the SysKonnect SK-NET Gigabit Ethernet SK-98xx driver -- that's what it says if you issue "modinfo 3c2000". The 2.4.21-ac2 kernel doesn't say that this driver (which is also in the kernel) also drives the 3Com 3c2000 NIC, and the exchange at
http://www.ussg.iu.edu/hypermail/lin...06.2/1032.html suggests there may be some very minor differences.
3Com is not really playing fair -- all they've done is write a Makefile and copyrighted it, and dmesg shows that copyright rather than crediting the GPL'd SysKonnect, which is the actual driver.
I guess this matters because it's a lot easier to use a driver that's in the kernel. I actually ended up just using the driver version supplied by 3Com, since it's very slightly more recent than 2.4.21-ac2. Later, I discovered the June discussion suggesting that the kernel driver might not in fact work. However, it's got to be trivial to make it work -- 99.9% of the driver files are identical.
If you want the most recent driver, check out SysKonnect's driver at
http://www.syskonnect.com/syskonnect...2_driver.html. The driver I got on the CD was somewhere around version 6.03 (they don't actually tell you anywhere, since they provide no information indicating this is really a SysKonnect driver), as it was a few weeks more recent than the 2.4.21-ac2 kernel version, which is 6.02. The most recent version is 6.19. The one thing SysKonnect haven't done is post a changelog, so I don't see what they've done since 6.03. The 6.19 version is a patch for the 2.4.22 kernel. It doesn't list the 3Com 3c2000 card, and likely won't work without some modifications, however minor.
Anyway, I wanted to tell NeoGeo that I got the driver working right away, after compiling it and inserting the module 3c2000.o. I'm using the 2.4.21-ac2 kernel and gcc 2.95 in Debian. For Mandrake, I imagine you can download the kernel source as an rpm file, but you shouldn't really have to compile a kernel to make this work. Here are a couple of steps that might help:
* To see which version of the kernel you're currently running, type this in a console:
uname -a
* Issue this to see which version of gcc was used to compile the kernel you're currently running:
cat /proc/version
* Then type this to find out which version of gcc is your default
gcc -v
What you should have is a kernel version that is preferably 2.4.22 -- if it's 2.4.20 you should upgrade. The value of cat /proc/version should preferably be the same as the value of gcc -v -- that is to say, your kernel should have been compiled with the same version of gcc (the compiler) that you have as your default.
If this seems reasonable, go to the driver files supplied by 3Com and issue a simple "make" (I guess you've done all this already?). Insert the module with this command:
insmod 3c2000
If you get no receipt (and no errors), everything should be fine -- verify by issuing
lsmod | grep 3c2000
and see that it's listed. Then copy the module 3c2000 to your /lib/modules/<kernel version>/kernel/drivers/net directory, along with the other network drivers. This is where the kernel module loader will look for it.
Then add 3c2000 to /etc/modules -- don't include any parameters, just the module name like that.
The reason their example includes a parameter (in the readme file) is just to tell people how to include parameters if you need to, but you don't actually need to.
You may need to reboot and then check dmesg for where the NIC was placed -- did it go to eth0 or eth1 (that depends on whether you have other NICs). Make sure you then define the interface for the correct NIC. I use Debian rather than Mandrake, so I can't help you with how that's done.
I don't suppose this was very helpful, but I wanted to describe what I did in some detail since I got every thing working, like this:
3C2000: 3Com Gigabit NIC Driver Version A11
Copyright (C) 2003 3Com Corporation.
Copyright (C) 2003 Marvell.
eth0: 3Com Gigabit NIC (3C2000)
PrefPort:A RlmtMode:Check Link State
eth0: network connection up using port A
speed: 1000
autonegotiation: yes
duplex mode: full
flowctrl: symmetric
role: master
scatter-gather: enabled
Oh, and finally, a stupid question: are you connected to a gigabit switch? Otherwise you might well see 100 mbs speed, no?
Cheers,
David
P.S. Incidentally, I don't have any difficulties visiting specific web sites (like Intel or Amazon) and find it *extremely* hard to believe that anyone's difficulties in this regard are related to the network interface card driver. I mean, not impossible, but it sound really implausible. The NiC driver doesn't know what data passes through it.