Qchem Posted July 5, 2004 Report Share Posted July 5, 2004 Ok, I don't understand this, on bootup my dhcp lease is released, and I don't get a new one - meaning my networking doesn't work until I log in and rerun dhcpcd. Whilst this is a minor annoyance for me, for my firends and family occassionally using this machine it's unacceptable. Any one any ideas of whats going wrong / how to fix it? Quote Link to comment Share on other sites More sharing options...
SoulSe Posted July 5, 2004 Report Share Posted July 5, 2004 Show us your /etc/conf.d/net file... Quote Link to comment Share on other sites More sharing options...
Qchem Posted July 5, 2004 Author Report Share Posted July 5, 2004 # /etc/conf.d/net: # $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/conf.d/net,v 1.7 2002/11/18 19:39:22 azarah Exp $ # Global config file for net.* rc-scripts # This is basically the ifconfig argument without the ifconfig $iface # #iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0" #iface_eth1="207.170.82.202 broadcast 207.0.255.255 netmask 255.255.0.0" # For DHCP set iface_eth? to "dhcp" # For passing options to dhcpcd use dhcpcd_eth? # iface_eth0="dhcp" #dhcpcd_eth0="..." #dhcpcd_eth0="-t 20" # For adding aliases to a interface # #alias_eth0="192.168.0.3 192.168.0.4" # NB: The next is only used for aliases. # # To add a custom netmask/broadcast address to created aliases, # uncomment and change accordingly. Leave commented to assign # defaults for that interface. # #broadcast_eth0="192.168.0.255 192.168.0.255" #netmask_eth0="255.255.255.0 255.255.255.0" # For setting the default gateway # #gateway="eth0/192.168.0.1" On every boot, I get a message saying the DHCP lease has been released. Sometimes I get another lease later in the boot, sometimes I don't - weird!! This is on kernel 2.6.7, using e100 network module and udev. Quote Link to comment Share on other sites More sharing options...
SoulSe Posted July 5, 2004 Report Share Posted July 5, 2004 I'm not at my box right now, but I've had to sort out a similar problem before. There are various settings with the dhcpcd_eth0="..." that control timeout, etc. and might solve your problem. I can't remember if there is a man page for this, so you might have to search on the Gentoo forums for the flags... Quote Link to comment Share on other sites More sharing options...
iphitus Posted July 5, 2004 Report Share Posted July 5, 2004 This happens on my laptop too, and it has been happening since i updated to 2.6.7, as with Qchem. I fixed it in my case by changing my networking script to run dhcpcd twice -- dirty, hackish, but it seems to work. Quote Link to comment Share on other sites More sharing options...
SoulSe Posted July 5, 2004 Report Share Posted July 5, 2004 hmm.... I'm also on 2.6.7, but not getting any problems with the dhcp server built into my router.... maybe it's a hardware specific problem? Anyway, hacking away at the net file should work... Quote Link to comment Share on other sites More sharing options...
iphitus Posted July 5, 2004 Report Share Posted July 5, 2004 He has an intel, I have a realtek 8139too Quote Link to comment Share on other sites More sharing options...
ac_dispatcher Posted July 5, 2004 Report Share Posted July 5, 2004 This may not be it but Gentoo is changing the script. When was the last time you did a # etc-update Check out my /etc/conf.d/net file .. Notice the "new style" with old. May be your problem. # /etc/conf.d/net: Global config file for net.* rc-scripts # $Header: /var/cvsroot/gentoo-src/rc-scripts/etc/conf.d/net,v 1.10 2004/06/28 19:44:46 agriffis Exp $ ############################################################################## # # READ THIS COMMENT FIRST # # PLEASE PICK ONE of the configuration methods listed below. If you # don't know which to pick, use the top one, NEW-STYLE IFCONFIG. # The other two possible options are OLD-STYLE IFACE and # IPROUTE2-STYLE. # # If you have multiple sections (for example IFCONFIG and IPROUTE2) # the network scripts will attempt to make reasonable assumptions # about what to use, but there is no guarantee on the results, so # PLEASE just use one set of configuration variables. # # At the bottom there is an ADVANCED CONFIGURATION section with some # additional configuration possibilities # ############################################################################## ############################################################################## # NEW-STYLE IFCONFIG examples # --------------------------- # This uses /sbin/ifconfig and /sbin/route to set the network up. # It is suitable for most home users. ############################################################################## # To use DHCP on eth0, simply uncomment the following line: ifconfig_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. Note that this might be too short for some servers, # so the default is encouraged unless you know what you're doing. dhcpcd_eth0="-t 15" # For a static configuration, use something like this. This sets the primary # eth0 address to 192.168.0.2 and adds two aliases, eth0:1 and eth0:2 #ifconfig_eth0=( # "192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0" # "192.168.0.3 broadcast 192.168.0.255 netmask 255.255.255.0" # "192.168.0.4 broadcast 192.168.0.255 netmask 255.255.255.0" #) # This is just like setting the gateway config option in the old-style iface # config, but allows one to add custom routes. This should not be needed if you # are obtaining an address via DHCP since the default route should be set # automatically. #routes_eth0=( # "default gw 192.168.0.1" #) # VLAN support - emerge net-misc/vconfig # Please ensure your VLAN IDs are NOT zero-padded #vlans_eth0="1 2" #ifconfig_eth0_1=( "dhcp" ) #ifconfig_eth0_2=( "172.16.2.1 broadcast 172.16.3.255 netmask 255.255.254.0" ) ############################################################################## # OLD-STYLE IFACE examples (deprecated) # ------------------------------------- # This uses /sbin/ifconfig and /sbin/route to set the network up, # but is not as flexible as the IFCONFIG method above or the # IPROUTE2 method below. ############################################################################## # To use DHCP on eth0, simply uncomment the following line: #iface_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. Note that this might be too short for some servers, # so the default is encouraged unless you know what you're doing. #dhcpcd_eth0="-t 10" # To set a static IP address use a line similar to this #iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0" # For setting the default gateway. You should not need to do this if you use # DHCP since the default gateway should be set automatically. #gateway="eth0/192.168.0.1" # For adding aliases to a interface, specify them space-separated in the # following string #alias_eth0="192.168.0.3 192.168.0.4" # To add a custom netmask/broadcast address to created aliases, specify them in # the same order as the alias_eth0 string. If you find yourself doing this, you # might consider switching to the new-style #broadcast_eth0="192.168.0.255 192.168.0.255" #netmask_eth0="255.255.255.0 255.255.255.0" # VLAN support - emerge net-misc/vconfig # Please ensure your VLAN IDs are NOT zero-padded #vlans_eth0="1 2" #iface_eth0_1="dhcp" #iface_eth0_2="172.16.2.1 broadcast 172.16.3.255 netmask 255.255.254.0" ############################################################################## # IPROUTE2-STYLE CONFIGURATION # ---------------------------- # This makes use of the /sbin/ip command to set routes and ip # addresses. This style is very useful if you are building an # advanced linux router or using VRRP For more information on how to # use the iproute2 command have a look at the ip(8) man page. # # NOTE: You must emerge sys-apps/iproute2 to use this configuration ############################################################################## # To use DHCP on eth0, simply uncomment the following line: #ipaddr_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. Note that this might be too short for some servers, # so the default is encouraged unless you know what you're doing. #dhcpcd_eth0="-t 10" # For a static configuration, use something like this. This sets the primary # eth0 address to 192.168.0.2 and adds two aliases, eth0:1 and eth0:2. # You may also pass advanced ip addr commands via this option. #ipaddr_eth0=( # "192.168.0.2/24 brd 192.168.0.255" # "192.168.0.3/24 brd 192.168.0.255" # "192.168.0.4/24 brd 192.168.0.255" #) # The following will set up the default gateway. You can also pass advanced # route configs via this option. #iproute_eth0=( # "default via 192.168.0.1" #) # VLAN support - emerge net-misc/vconfig # Please ensure your VLAN IDs are NOT zero-padded #vlans_eth0="1 2" #ipaddr_eth0_1=( "dhcp" ) #ipaddr_eth0_2=( "172.16.2.1/23 brd 172.16.3.255" ) ############################################################################## # ADVANCED CONFIGURATION # ---------------------- # The items in this section can be combined with one of the sections # above to create a complete network configuration. None of the # items in this section are necessary to configure for most users. ############################################################################## # 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. # #preup() { # # 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 $1 | grep -q 'Link detected: no'; then # ewarn "No link on $1, aborting configuration" # return 1 # fi # # # Remember to return 0 on success # return 0 #} # #predown() { # # Test to make sure the root filesystem is not mounted via NFS. # # Interface ($1) is ignored but could also be tested if you know # # what interface is providing NFS root. # if grep -q ' / nfs' /proc/mounts; then # ewarn "Root is NFS mounted, aborting deconfiguration of $1" # 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. #} # #postdown() { # # This function is mostly here for completeness... I haven't # # thought of anything nifty to do with it yet ;-) #} # 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" # uncomment this function for support for changing MAC addresses # also uncomment it's invocation in preup() above preup_macchanger() { eval mac_IFACE=\"\$\{mac_${IFACE}\}\" if [ -n "${mac_IFACE}" ]; then if [[ -x /sbin/macchanger ]]; then local macchanger_opts="" case "${mac_IFACE}" in # specific mac-addr, i wish there were a shorter way to specify this [0-9a-zA-Z][0-9a-zA-Z]:[0-9a-zA-Z][0-9a-zA-Z]:[0-9a-zA-Z][0-9a-zA-Z]:[0-9a-zA-Z][0-9a-zA-Z]:[0-9a-zA-Z][0-9a-zA-Z]:[0-9a-zA-Z][0-9a-zA-Z]) macchanger_opts="${macchanger_opts} --mac=${mac_IFACE}" ;; # increment MAC address, default macchanger behavior increment) macchanger_opts="${macchanger_opts}" ;; # randomize just the ending bytes random-ending) macchanger_opts="${macchanger_opts} -e" ;; # keep the same kind of physical layer (eg fibre, copper) random-samekind) macchanger_opts="${macchanger_opts} -a" ;; # randomize to any known vendor of any physical layer type random-anykind) macchanger_opts="${macchanger_opts} -A" ;; # fully random bytes random-full) macchanger_opts="${macchanger_opts} -r" ;; # default case is just to pass on all the options *) macchanger_opts="${macchanger_opts} ${mac_IFACE}" ;; esac #echo "/sbin/macchanger ${macchanger_opts} ${IFACE}" /sbin/macchanger ${macchanger_opts} ${IFACE} >/dev/null retval=$? if [ $retval -gt 0 ]; then eerror "Failed to set MAC address" return 1 fi else eerror "For changing MAC addresses, emerge net-analyzer/macchanger" return 1 fi fi return 0 #important } # For link bonding/trunking - emerge net-misc/ifenslave # if you are using any of the slave interfaces, it is important that you remove # configurations for them and take them down first! slaves_bond0="eth2" ipaddr_bond0=( "172.16.2.1/23 brd 172.16.3.255" ) postup_bonding() { # return silently if this is not a bonding interface if [ -n "${IFACE/bond*/}" ]; then return 0 fi eval slaves_IFACE=\"\$\{slaves_${IFACE}\}\" if [[ -n "${slaves_IFACE}" ]]; then if [[ -x /sbin/ifenslave ]]; then # must force the slaves to a particular state before adding them for slaveiface in ${slaves_IFACE}; do ifconfig ${slaveiface} 0.0.0.0 up done # now force the master to up ifconfig ${IFACE} up # finally add in slaves /sbin/ifenslave ${IFACE} ${slaves_IFACE} else eerror "For link aggregation (bonding), emerge net-misc/ifenslave" return 1 fi fi return 0 #important } predown_bonding() { # return silently if this is not a bonding interface if [ -n "${IFACE/bond*/}" ]; then return 0 fi # don't trust the config, get the active list instead slaves_IFACE=$(awk '/^Slave Interface:/ { printf $3" " }' /proc/net/bonding/${IFACE}) if [[ -n "${slaves_IFACE}" ]]; then # remove all slaves echo /sbin/ifenslave -d ${IFACE} ${slaves_IFACE} /sbin/ifenslave -d ${IFACE} ${slaves_IFACE} # reset all slaves for slaveiface in ${slaves_IFACE}; do ifconfig ${slaveiface} 0.0.0.0 down done fi return 0 } preup_linkdetect() { # 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 $1 | grep -q 'Link detected: no'; then ewarn "No link on $1, aborting configuration" return 1 fi } Quote Link to comment Share on other sites More sharing options...
iphitus Posted July 6, 2004 Report Share Posted July 6, 2004 Ok, turns out my method isnt working. It has released the IP by the time i log in to X Quote Link to comment Share on other sites More sharing options...
Qchem Posted July 6, 2004 Author Report Share Posted July 6, 2004 Do you know what package contians the new version of the script? I have no config files to update. Perhaps I'll just try an emerge system later today. Quote Link to comment Share on other sites More sharing options...
Qchem Posted July 6, 2004 Author Report Share Posted July 6, 2004 Actually, theres nothing network related to be updated in system. Quote Link to comment Share on other sites More sharing options...
ac_dispatcher Posted July 6, 2004 Report Share Posted July 6, 2004 Forgot to ask Do you run stable or unstable (~x86)? I run ~x86. The new script showed up on a emerge -u world Quote Link to comment Share on other sites More sharing options...
Qchem Posted July 21, 2004 Author Report Share Posted July 21, 2004 Via a process of elimination it seems that the problem is caused by hotplug (which I installed at the same time as udev). Short of removing hotplug I don't think theres much I can do except try to debug dhcpcd and home something good comes out of it. Quote Link to comment Share on other sites More sharing options...
jlc Posted July 21, 2004 Report Share Posted July 21, 2004 rc-update add net.eth0 default Did you do that? Sounds trivial, but might have missed it. Quote Link to comment Share on other sites More sharing options...
Qchem Posted July 22, 2004 Author Report Share Posted July 22, 2004 rc-update add net.eth0 default Yeah, I have done that - thanks for the suggestion though. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.