# Network doesnot work[Solved]

## baradwaj

Hi Guys!!

I am a noob to gentoo.I tried installing gentoo 2006 from the minimal installation cd following the handbook.Everything goes fine.It installed and when i reboot network doesnot start.I have included my ethernet card's driver while compiling "my own"(I mean i am not using genkernel) kernel.

Here is my lspci output:

```
00:00.0 Host bridge: Intel Corporation 82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (rev 03)

00:02.0 VGA compatible controller: Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 02)

00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 02)

00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 02)

00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 82)

00:1f.0 ISA bridge: Intel Corporation 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (rev 02)

00:1f.1 IDE interface: Intel Corporation 82801DB (ICH4) IDE Controller (rev 02)

00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 02)

00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 02)

01:00.0 Communication controller: Conexant HSF 56k HSFi Modem (rev 01)

01:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
```

Here is the ifconfig output

```
o        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
```

Does this ifconfig output not mean that my ethernet card is not recognized?(eth0 doesnot appear here)

Here are screenshots of my kernel configuration while compiling.

http://img152.imageshack.us/img152/6135/screenshot7ng.png

http://img122.imageshack.us/img122/4734/screenshot17wq.png

It can be seen from the snapshots that I have selected my ethernet card drivers for direct compiling to kernel and have selected dhcp in the networking options.

Someone please help me to solve this problem

Thanks to allLast edited by baradwaj on Mon Jun 19, 2006 2:19 pm; edited 1 time in total

----------

## jmbsvicetto

Hi.

Look at the output of ifconfig -a? Does it show your eth0 card?

If so, did you configure /etc/conf.d/net? If not, are you trying to use a DHCP server? Are you sure that it's working? Did you remember to install a DHCP client? If your nic doesn't show up on ifconfig -a, you might try to compile the two drivers as modules. This way you can try them out and check what works with your nic. If you do so, don't forget to copy your new kernel into /boot.

----------

## baradwaj

Here is the output of ifconfig -a:

```
eth0      Link encap:Ethernet  HWaddr 00:0F:EA:90:94:86  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:22594 errors:0 dropped:0 overruns:0 frame:0

          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:1432684 (1.3 Mb)  TX bytes:1830 (1.7 Kb)

          Interrupt:16 Base address:0xe000 

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

```

As you said it shows eth0

and here is the net file you specified /etc/conf.d/net.I used it by copying net.example and uncommenting two lines.

config_eth0=( "dhcp" )

dhcp_eth0="release nodns nontp nonis nogateway nosendhost"

```
##############################################################################

# QUICK-START

#

# The quickest start is if you want to use DHCP.

# In that case, everything should work out of the box, no configuration

# necessary, though the startup script will warn you that you haven't

# specified anything.

#

# If you want to use a static address or use DHCP explicitly, jump

# down to the section labelled INTERFACE HANDLERS.

#

# If you want to do anything more fancy, you should take the time to

# read through the rest of this file.

##############################################################################

# MODULES

#

# We now support modular networking scripts which means we can easily

# add support for new interface types and modules while keeping

# compatability with existing ones.

# 

# Modules load by default if the package they need is installed.  If

# you specify a module here that doesn't have it's package installed

# then you get an error stating which package you need to install.

# Ideally, you only use the modules setting when you have two or more

# packages installed that supply the same service.

#

# In other words, you probably should DO NOTHING HERE...

# Prefer iproute2 over ifconfig

#modules=( "iproute2" )

# You can also specify other modules for an interface

# In this case we prefer udhcpc over dhcpcd

#modules_eth0=( "udhcpc" )

# You can also specify which modules not to use - for example you may be

# using a supplicant or linux-wlan-ng to control wireless configuration but

# you still want to configure network settings per ESSID associated with.

#modules=( "!iwconfig" )

##############################################################################

# INTERFACE HANDLERS

# 

# We provide two interface handlers presently: ifconfig and iproute2.

# You need one of these to do any kind of network configuration.

# For ifconfig support, emerge sys-apps/net-tools

# For iproute2 support, emerge sys-apps/iproute2

# If you don't specify an interface then we prefer ifconfig it it's installed

# Prefer iproute2 over ifconfig

#modules=( "iproute2" )

# For a static configuration, use something like this

# (They all do exactly the same thing btw)

#config_eth0=( "192.168.0.2/24" )

#config_eth0=( "192.168.0.2 netmask 255.255.255.0" )

# We can also specify a broadcast

#config_eth0=( "192.168.0.2/24 brd 192.168.0.255" )

#config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" )

# If you need more than one address, you can use something like this

# NOTE: ifconfig creates an aliased device for each extra IPv4 address

#       (eth0:1, eth0:2, etc)

#       iproute2 does not do this

#config_eth0=(

#   "192.168.0.2/24"

#   "192.168.0.3/24"

#   "192.168.0.4/24"

#)

# You can also use IPv6 addresses

#config_eth0=(

#   "192.168.0.2/24"

#   "4321:0:1:2:3:4:567:89ab"

#   "4321:0:1:2:3:4:567:89ac"

#)

# If you wish to keep existing addresses + routing and the interface is up,

# you can specify a noop (no operation). If the interface is down or there

# are no addresses assigned, then we move onto the next step (default dhcp)

# This is useful when configuring your interface with a kernel command line

# or similar

#config_eth0=( "noop" "192.168.0.2/24" )

# If you don't want ANY address (only useful when calling for advanced stuff)

#config_eth0=( "null" )

# Here's how todo routing if you need it - the below sets the default gateway

#routes_eth0=(

#   "default via 192.168.0.1"

#   "default via 4321:0:1:2:3:4:567:89ab"

#)

# If a specified module fails (like dhcp - see below), you can specify a

# fallback like so

#fallback_eth0=( "192.168.0.2 netmask 255.255.255.0" )

#fallback_route_eth0=( "default via 192.168.0.1" )

# NOTE: fallback entry must match the entry location in config_eth0

# As such you can only have one fallback route.

##############################################################################

# OPTIONAL MODULES

#-----------------------------------------------------------------------------

# WIRELESS (802.11 support)

# Wireless can be provided by iwconfig or wpa_supplicant

# iwconfig

# emerge net-wireless/wireless-tools

# Wireless options are held in /etc/conf.d/wireless - but could be here too

# Consult the sample file /etc/conf.d/wireless.example for instructions

# iwconfig is the default

# wpa_supplicant

# emerge net-wireless/wpa-supplicant

# Wireless options are held in /etc/wpa_supplicant.conf

# Consult the sample file /etc/wpa_supplicant.conf.example for instructions

# To choose wpa_supplicant over iwconfig

#modules=( "wpa_supplicant" )

# To configure wpa_supplicant

#wpa_supplicant_eth0="-Dprism54" # For Prism54 based cards

#wpa_supplicant_ath0="-Dmadwifi" # For Atheros based cards

# Consult wpa_supplicant for more drivers

# By default we give wpa_suppliant 60 seconds to associate and authenticate

#wpa_timeout_eth0=60

# GENERIC WIRELESS OPTIONS

# PLEASE READ THE INSTRUCTIONS IN /etc/conf.d/wireless.example FOR

# HOW TO USE THIS ESSID VARIABLE

# You can also override any settings found here per ESSID - which is very

# handy if you use different networks a lot

#config_ESSID=( "dhcp" )

#dhcpcd_ESSID="-t 5"

# Setting name/domain server causes /etc/resolv.conf to be overwritten

# Note that if DHCP is used, and you want this to take precedence then

# set dhcp_ESSID="nodns"

#dns_servers_ESSID=( "192.168.0.1" "192.168.0.2" )

#dns_domain_ESSID="some.domain"

#dns_search_domains_ESSID="search.this.domain search.that.domain"

# Please check the man page for resolv.conf for more information

# as domain and search (searchdomains) are mutually exclusive and

# searchdomains takes precedence

# You can also override any settings found here per MAC address of the AP

# incase you use Access Points with the same ESSID but need different

# networking configs. Below is an example - of course you use the same

# method with other variables

#mac_config_001122334455=( "dhcp" )

#mac_dhcpcd_001122334455="-t 10"

#mac_dns_servers_001122334455=( "192.168.0.1" "192.168.0.2" )

# When an interface has been associated with an Access Point, a global

# variable called ESSID is set to the Access Point's ESSID for use in the

# pre/post user functions below (although it's not available in preup as you

# won't have associated then)

# If you're using anything else to configure wireless on your interface AND

# you have installed any of the above packages, you need to disable them

#modules=( "!iwconfig" "!wpa_supplicant" )

#-----------------------------------------------------------------------------

# DHCP

# DHCP can be provided by dhcpcd, dhclient, udhcpc or pump

#

# dhcpcd:   emerge net-misc/dhcpcd

# dhclient: emerge net-misc/dhcp

# udhcpc:   emerge net-misc/udhcp

# pump:     emerge net-misc/pump

# If you have more than one DHCP client installed, you need to specify which

# one to use - otherwise we default to dhcpcd if available

#modules=( "udhcpc" ) # to select udhcpc over dhcpcd

#

# Notes:

# - dhcpcd, udhcpc and pump send the current hostname

#   to the DHCP server by default

# - dhcpcd does not daemonize when the lease time is infinite

# - udhcp-0.9.3-r3 and earlier does not support getting NTP servers 

# - dhclient does not support getting NTP servers 

# - pump does not support getting NIS servers

# - DHCP tends to erase any existing device information - so add

#   static addresses after dhcp if you need them

# Regardless of which DHCP client you prefer, you configure them the

# same way using one of following depending on which interface modules

# you're using.

config_eth0=( "dhcp" )

# For passing custom options to dhcpcd use something like the following.  This

# example reduces the timeout for retrieving an address from 60 seconds (the

# default) to 10 seconds.

#dhcpcd_eth0="-t 10"

# dhclient, udhcpc and pump don't have many runtime options

# You can pass options to them in a similar manner to dhcpcd though

#dhclient_eth0="..."

#udhcpc_eth0="..."

#pump_eth0="..."

# To set options for dhclient, you need to have an /etc/dhclient.conf file

# See the dhclient man page for details

# GENERIC DHCP OPTIONS

# Set generic DHCP options like so

dhcp_eth0="release nodns nontp nonis nogateway nosendhost"[/b]

# This tells the dhcp client to release it's lease when it stops, not to

# overwrite dns, ntp and nis settings, not to set a default route and not to

# send the current hostname to the dhcp server and when it starts.

# You can use any combination of the above options - the default is not to

# use any of them.

#-----------------------------------------------------------------------------

# Automatic Private IP Addressing (APIPA)

# For APIPA support, emerge net-misc/iputils or net-analyzer/arping

# APIPA is a module that tries to find a free address in the range

# 169.254.0.0-169.254.255.255 by arping a random address in that range on the

# interface. If no reply is found then we assign that address to the interface

# This is only useful for LANs where there is no DHCP server and you don't

# connect directly to the internet.

#config_eth0=( "dhcp" )

#fallback_eth0=( "apipa" )

#-----------------------------------------------------------------------------

# VLAN (802.1q support)

# For VLAN support, emerge net-misc/vconfig

# Specify the VLAN numbers for the interface like so

# Please ensure your VLAN IDs are NOT zero-padded

#vlans_eth0="1 2"

# You can also configure the VLAN - see for vconfig man page for more details

#vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )

#vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )

#config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )

#config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )

# NOTE: Vlans can be configured with a . in their interface names

# When configuring vlans with this name type, you need to replace . with a _

#config_eth0.1=( "dhcp" ) - does not work

#config_eth0_1=( "dhcp" ) - does work

#-----------------------------------------------------------------------------

# Bonding

# For link bonding/trunking emerge net-misc/ifenslave

# To bond interfaces together

#slaves_bond0="eth0 eth1 eth2"

#config_bond0=( "null" ) # You may not want to assign an IP the the bond

# If any of the slaves require extra configuration - for example wireless or

# ppp devices - we need to write a depend function for the bond so they get

# configured correctly.

# This is exactly the same as a depend() function in our init scripts

#depend_bond0() {

#       need net.eth0 net.eth1

#}

#-----------------------------------------------------------------------------

# ADSL

# For ADSL support, emerge net-dialup/rp-pppoe 

# You should make the following settings and also put your

# username/password information in /etc/ppp/pap-secrets

# Configure the interface to use ADSL

#config_eth0=( "adsl" )

# You probably won't need to edit /etc/ppp/pppoe.conf if you set this

#adsl_user_eth0="my-adsl-username"

#-----------------------------------------------------------------------------

# ISDN

# For ISDN support, emerge net-dialup/isdn4k-utils

# You should make the following settings and also put your

# username/password information in /etc/ppp/pap-secrets

# Configure the interface to use ISDN

#config_ippp0=( "dhcp" )

# It's important to specify dhcp if you need it!

#config_ippp0=( "192.168.0.1/24" )

# Otherwise, you can use a static IP

# NOTE: The interface name must be either ippp or isdn followed by a number

# You may need this option to set the default route

#ipppd_eth0="defaultroute"

#-----------------------------------------------------------------------------

# MAC changer

# For changing MAC addresses emerge net-analyzer/macchanger

# - to set a specific MAC address

#mac_eth0="00:11:22:33:44:55"

# - to randomize the last 3 bytes only

#mac_eth0="random-ending"

# - to randomize between the same physical type of connection (eg fibre,

# copper, wireless) , all vendors

#mac_eth0="random-samekind"

# - to randomize between any physical type of connection (eg fibre, copper,

# wireless) , all vendors

#mac_eth0="random-anykind"

# - full randomization - WARNING: some MAC addresses generated by this may NOT

# act as expected

#mac_eth0="random-full"

# custom - passes all parameters directly to net-analyzer/macchanger

#mac_eth0="some custom set of parameters"

#-----------------------------------------------------------------------------

# TUN/TAP

# For TUN/TAP support emerge sys-apps/usermode-utilities

#

# NOTE: The interface name must be either tun or tap followed by a number

#config_tun1=( "192.168.0.1/24")

# For passing custom options to tunctl use something like the following.  This

# example sets the owner to adm

#tunctl_tun1="-u adm"

#-----------------------------------------------------------------------------

# Bridging (802.1d)

# For bridging support emerge net-misc/bridge-utils

# To add ports to bridge br0

#bridge_br0="eth0 eth1"

# You need to configure the ports to null values so dhcp does not get started 

#config_eth0=( "null" )

#config_eth1=( "null" )

# Finally give the bridge an address - dhcp or a static IP

#config_br0=( "dhcp" )

#config_br0=( "192.168.0.1/24" )

# If any of the ports require extra configuration - for example wireless or

# ppp devices - we need to write a depend function for the bridge so they get

# configured correctly.

# This is exactly the same as a depend() function in our init scripts

#depend_br0() {

#   need net.eth0 net.eth1

#}

# NOTE: This creates an interface called br0 - you can give the interface

# any name you like

# Below is an example of configuring the bridge

# Consult "man brctl" for more details

#brctl_br0=( "setfd 0" "sethello 0" "stp off" )

#-----------------------------------------------------------------------------

# Tunnelling

# For GRE tunnels

#iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"

# For IPIP tunnels

#iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"

# To configure the interface

#config_vpn0=( "192.168.0.2 pointopoint 192.168.1.2" )      # ifconfig style

#config_vpn0=( "192.168.0.2 peer 192.168.1.1" )         # iproute2 style

##############################################################################

# ADVANCED CONFIGURATION

# 

# Four functions can be defined which will be called surrounding the

# start/stop operations.  The functions are called with the interface

# name first so that one function can control multiple adapters.

#

# The return values for the preup and predown functions should be 0

# (success) to indicate that configuration or deconfiguration of the

# interface can continue.  If preup returns a non-zero value, then

# interface configuration will be aborted.  If predown returns a

# non-zero value, then the interface will not be allowed to continue

# deconfiguration.

#

# The return values for the postup and postdown functions are ignored

# since there's nothing to do if they indicate failure.

#

# ${IFACE} is set to the interface being brought up/down

# ${IFVAR} is ${IFACE} converted to variable name bash allows

#preup() {

#   # Test for link on the interface prior to bringing it up.  This

#   # only works on some network adapters and requires the mii-diag

#   # package to be installed.

#   if mii-tool ${IFACE} 2> /dev/null | grep -q 'no link'; then

#      ewarn "No link on ${IFACE}, aborting configuration"

#      return 1

#   fi 

#

#   # Test for link on the interface prior to bringing it up.  This

#   # only works on some network adapters and requires the ethtool

#   # package to be installed.

#   if ethtool ${IFACE} | grep -q 'Link detected: no'; then

#      ewarn "No link on ${IFACE}, aborting configuration"

#      return 1

#   fi

#

#   # Remember to return 0 on success

#   return 0

#}

#predown() {

#   # The default in the script is to test for NFS root and disallow

#   # downing interfaces in that case.  Note that if you specify a

#   # predown() function you will override that logic.  Here it is, in

#   # case you still want it...

#   if is_net_fs /; then

#      eerror "root filesystem is network mounted -- can't stop ${IFACE}"

#      return 1

#   fi

#

#   # Remember to return 0 on success

#   return 0

#}

#postup() {

#   # This function could be used, for example, to register with a

#   # dynamic DNS service.  Another possibility would be to

#   # send/receive mail once the interface is brought up.

#   return 0

#}

#postdown() {

#   # This function is mostly here for completeness... I haven't

#   # thought of anything nifty to do with it yet ;-)

#   # Return 0 always

#   return 0

#}

##############################################################################

# FORCING MODULES

# The Big Fat Warning :- If you use module forcing do not complain to us or

# file bugs about it not working!

#

# Loading modules is a slow afair - we have to check each one for the following

# 1) Code sanity

# 2) Has the required package been emerged?

# 3) Has it modified anything?

# 4) Have all the dependant modules been loaded?

# Then we have to strip out the conflicting modules based on user preference

# and default configuration and sort them into the correct order.

# Finally we check the end result for dependancies.

# This, of course, takes valuable CPU time so we provide module forcing as a

# means to speed things up. We still do *some* checking but not much.

# It is essential that you force modules in the correct order and supply all

# the modules you need. You must always supply an interface module - we

# supply ifconfig or iproute2.

# The Big Fat Warning :- If you use module forcing do not complain to us or

# file bugs about it not working!

# Now that we've warned you twice, here's how to do it

#modules_force=( "ifconfig" )

#modules_force=( "iproute2" "dhcpcd" )

# We can also apply this to a specific interface

#modules_force_eth1=( "iproute2" )

# The below will not work

#modules_force=( "dhcpcd" )

# No interface (ifconfig/iproute2)

#modules_force=( "ifconfig" "essidnet" "iwconfig" )

# Although it will not crash, essidnet will not work as it has to come after

# iwconfig

#modules_force=( "iproute2" "ifconfig" )

# The interface will be setup twice which will cause problems

```

It seems that there is something seriously wrong with my configuration as the eth0 has come up in ifconfig -a

I am pretty sure that the dhcp server is running properly.I installed dhcpcd as the dhcp client

----------

## Flik

Your ethernet card didn't show up with ifconfig, but showed up with ifconfig -1 means that it is not configured (doesn't have an IP address yet)

If you have a dhcp client, can you try to type :

```
dhcpcd eth0
```

If this works, then that means DHCP is working. Also, you added the net file, but did you do this ?

```
rc-update add net.eth0 default
```

This will load up the card at startup.

If dhcpcd eth0 works, and the card doesn't configure correctly at startup, you should try to remove some options in config_eth0. For instance, mine is :

config_eth0="nodns nontp nonis"

----------

## baradwaj

I had done

```
rc-update add net.eth0 default
```

.

As you said dhcpcd starts up with boot trying to get network running.But it finally says time out waiting for a valid request and quits.dhcpcd eth0 does the same thing[/code]

----------

## orangeman12

Have you check you dmesg to see if there were any errors in loading the drivers?

----------

## baradwaj

Thanks guys,I have been able to the solve the problem.The problem was with my configuration file.

I have rectified it and am happy to tell you guys that I am currently typing this message 

from the lynx browser while installing gnome on the other virtual terminal

Thanks again

----------

## gerard27

Hi baradwaj

Why don't you tell us what you did?

It might benefit others.

And when you've done that,please put SOLVED in the header of this topic.

----------

## cajzell

I second that, Gerard van Vuuren!

----------

## baradwaj

I am sorry that I did not post what I did.I thought that it was more

specific to my network.The problem was that my network's dhcp was not recognized somehow

and I had to give manual options.Moreover when I last tried manual configuration of ip

I didnot give routes_eth0 etc.I will post this in detail once I get gnome working

----------

## baradwaj

Here  I keep up my word:

the mistake I did was writing something else other than routes _eth0 in the /etc/conf.d/net file.The correct configuration which works for me is as below:

config_eth0=("10.94.1.185 netmask 255.255.0.0 brd 10.94.255.255")

routes_eth0=("default gw 10.94.0.254")

Once I got this from my friend,the network was started

----------

## gerard27

Thanks.

----------

