Bug 81974 - dhclient only works the second time around
Summary: dhclient only works the second time around
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: dhcp
Version: 8.0
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Daniel Walsh
QA Contact:
: 81973 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 2003-01-15 22:18 UTC by Gabriel Schulhof
Modified: 2008-05-01 15:38 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2003-01-16 20:32:53 UTC

Attachments (Terms of Use)

Description Gabriel Schulhof 2003-01-15 22:18:35 UTC
Description of problem:
First of all, why don't you have dhclient in the list of components ?

The system:
Dell Latitude CPx with PIII700, 128MB RAM, ATI Mach 64, Pegasus-based USB 

The kernel:
Vanilla 2.4.20 compiled so RedHat likes it (modular USB, sound, etc.)

The software:
RedHat 8.0

The story:
For the longest time, and across 2.4.18, 2.4.19, and 2.4.20, I would leave my
laptop on, and suspend it instead of powering it down.  Then I would resume at
another location, hotplug would fire up, set up eth0 (pegasus), DHCP an IP, and
be fine.  Then I got Internet service via a cable modem, service that includes 2
free IPs.  So I bought a small hub, hooked up all the cables to get the
connectivity right, and resumed my laptop.  Sure enough, it DHCP-ed an IP via
the hub, via the cable modem, from my ISP, and was fine (I could ping all the
sites I wanted).  But then, I did the unthinkable:  I rebooted my laptop. When
it came up, it hung on "Bringing up interface eth0".  Of course, it couldn't
grab an IP.  After frelling around with the cable modem, hub, et. al., I tried
dhclient eth0
Much to my surprise, it worked.  So, I thought all was well again, and rebooted.
 Of course, it hung on eth0 again.  So I thought there was still something wrong
with my cable modem/hub setup and I went onto another network (at the
University) where the laptop used to grab IPs just fine.  Well, it didn't work
there either (at boot time).  I tried going into runlevel 1 and doing
ifconfig eth0 up
dhclient eth0

That hung, so I hit C-c.  I did dhclient eth0 again, and this time it worked.

Conclusion: For some unknown reason, ever since my reboot at the time when I
started using the hub with the cable modem, even on other networks, I have to
run dhclient, C-c it, then run it again, if I want to grab an IP.  I scripted
this workaround into /etc/sysconfig/network-scripts/ifup like so:

--- ifup        2003-01-15 14:57:36.000000000 -0500
+++ new.ifup    2003-01-15 14:57:15.000000000 -0500
@@ -183,6 +183,13 @@
+    [ -x /sbin/dhclient ] &&
+        {
+        /sbin/dhclient ${DEVICE} &
+        sleep 2
+        /bin/kill -9 $!
+        }
     if [ -x /sbin/dhclient ] && /sbin/dhclient ${DHCLIENTARGS} ${DEVICE} ; then
        echo $" done."
     elif [ -z "`pidof -x dhclient`" ] && [ -x /sbin/dhcpcd ] && /sbin/dhcpcd

Well, that's not exactly C-c, I know, but you can always replace kill -9 with
kill -INT.  I realize this is a dirty, ugly, rotten workaround, but it's the
only one that seems to work.

Version-Release number of selected component (if applicable):

How reproducible:
Every time

Steps to Reproduce:
1. Boot up
2. Watch it hang at "Bringing up interface eth0", even though it had worked a
million times before, on a myriad of different networks where DHCP was the means
of grabbing an IP.
3. Reboot
Actual results:
rc hangs on 'network start' for a time exceeding 3 minutes (that's the longest
I've waited for it to move on), namely on bringing up eth0 (pegasus based USB
eth NIC)

Expected results:
Bringing up interface eth0:                   [   OK   ]
within about 5-7 seconds

Additional info:

Comment 1 Elliot Lee 2003-01-15 23:09:36 UTC
Bugs are assigned by source package, not by binary subpackage. Reassigning to dhcp...

Comment 2 Daniel Walsh 2003-01-16 20:28:04 UTC
*** Bug 81973 has been marked as a duplicate of this bug. ***

Comment 3 Daniel Walsh 2003-01-16 20:32:53 UTC
I do not believe there is a bug here, but a setup problem.  Please contact Red
Hat support for help on diagnosing this problem.  If you don't have a Red Hat
support contract you might want to look at ethereal to see what is going on
between the client and the server. to help diagnose the problem.


Note You need to log in before you can comment on or make changes to this bug.