Hi,
As a linux adherent, I agree absolutely that people need to master the 'standard' commands otherwise they will fall into the same trap as M$ users - pushing gui buttons and not really understanding whats going on. So, yes you would want to know all about ifconfig because it is common to all linux distros and will be the underlying command called by network initialisation scripts.
It should also be appreciated, however, that it is more or less impossible to design an operating system without having some configuration files that contain saved settings of various sorts. Windows had .ini files and then the dreaded registry. In linux there is no universal agreement on where such settings should be stored. Redhat happen to mostly use files in the /etc/sysconfig subdirectories. Other distros have similar files. If you imagine creating your own linux distro ... How would you start the network interfaces ? Obviously by invoking ifconfig from within a script. OK, but unless everything is dchp where do you get the static ip address from ? It has to be from a config file somewhere that is read by the script. Maybe the best solution would be to have the network scripts configured to transparently save active interface configs back to disk when you stop or restart the newtork so that when you change things with ifconfig they are preserved across a network restart or reboot.
On the autosensing query, thankfully this is not distro specific. You need to pass parameters to the module when it is loaded and this is done in /etc/modules.conf . It varies by card but, for example, tulip chip based cards are configured using the following table :
0 Auto-select (default to the 10baseT link)
1 10base2
2 AUI
3 100baseTx
4 10baseT-FD
5 100baseTx-FD
6 100baseT4
7 100baseFx
8 100baseFx-FD
9 MII 10baseT
10 MII 10baseT-FD
11 MII (autoselect)
12 Serial 10baseT (no autoselect)
13 MII 100baseTx
14 MII 100baseTx-FD
15 MII 100baseT4
16 MII 100baseFx-HDX (half duplex)
17 MII 100baseFx-FDX (full duplex)
18 MII Home-PNA 1Mbps
0x200 (0x200) Added to other values to set full duplex
You set the values on the 'options=' parameter to insmod or 'options' within the modules config file, for example (in /etc/modules.conf) :
alias eth0 tulip
options tulip options=1 full_duplex=0
Using insmod directly you would do something like :
/sbin/insmod tulip options=0x201 (example showing x200 added to force full duplex)
If the card is compiled into a custom kernel you have to pass parameters via lilo .
For full info on ethernet drivers for linux see -->
.
Regards