The context of this story is the post-installation of a new computer in an academic laboratory. I am just wondering how someone with a single computer (and no Windows installed), with no experience of a Unix-like system, and without any basic knowledge of networking concepts would have done what I successfully achieved and that is described below.
During the installation of Mdk-9.2, I had the feeling that this 3C940 Ethernet Controler device could be a potent source a trouble. For sure, it is not listed in the hardware compatibility list, but who cares about this before installation?
The motherboard (ASUSTEK P4P800 DELUXE) of my computer comes with a CD that contains a linux driver named 3C2000 that should be compatible with the 3C940 device. Great. It just needs to be compiled to produce a 3c2000.o file. The README file says that the kernel sources have to be present on the computer.
The package manager had nothing like kernel-sources to install.
I made the OS installation from downloaded ISO files.
Going back to a network-connected computer, if found that the sources
are available from
http://rpmfind.net/linux/RPM/mandrake/9.2/i586/Mandrake/RPMS/.
After a lengthy download (40 MB or so) and file transfer by
means of an USB key (no network available for the moment...),
the package was installed.
A make
later, the driver object file was build.
I typed insmod 3c2000.o
and then
ifconfig eth0 x.y.z.t netmask 255.255.255.0 up
(as root),
the IP number of my machine being x.y.z.t.
I was then able to ping on 127.0.0.1 and to x.y.z.t, which is good start.
If I wanted to go a bit further, I had first to go through the local gateway.
Again, I found on the web that
route add default gw x.y.z.254
should do the work, and it really did
(The IP of the gateway is x.y.z.254, of course).
I was then able to ping to the University DNS server.
Configuration of the DNS server was straighforward by populating
the /etc/resolv.conf:
domain my_univ.fr
name server xx.yy.zz.tt
name server xx2.yy2.zz2.tt2
I was not really satisfied because my computer was still anonymous (named localhost by default) and that my preceeding effort are not permanently fixed in the system.
A look to the web (thanks, google !) led me to http://linuxheadquarters.com/howto/networking/networkconfig.shtml and teached me how to fill the /etc/sysconfig/network-scripts/ifcfg-eth0 and /etc/sysconfig/network files, so that all requested network-related information is centralized. I also filled the /etc/hosts file with the IP number and name of my computer.
/etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
BROADCAST=x.y.z.255
NETWORK=x.y.z.0
NETMASK=255.255.255.0
IPADDR=x.y.z.t
/etc/sysconfig/network:
NETWORKING=yes
HOSTNAME=my_computer
FORWARD_IPV4=no
GATEWAYDEV=
GATEWAY=x.y.z.254
/etc/hosts:
127.0.0.1 localhost
x.y.z.t my_computer
The auto-configuration at start-up time was achieved by placing 3c2000.o
in /lib/modules/kernel_version/kernel/drivers/net,
running depmod
(as root)
and adding alias eth0 3c2000
to /etc/modules.conf.
I found that at
http://www.commentcamarche.net/forum/affich-466849-comment-activer-eth0-au-demarrage (in French).
So, everything related to web access is now fully functional.
Jean-Marc Nuzillard
jm.nuzillard@univ-reims.fr