Bug 81974 - dhclient only works the second time around
dhclient only works the second time around
Status: CLOSED NOTABUG
Product: Red Hat Linux
Classification: Retired
Component: dhcp (Show other bugs)
8.0
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Daniel Walsh
:
: 81973 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-01-15 17:18 EST by Gabriel Schulhof
Modified: 2008-05-01 11:38 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-01-16 15:32:53 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Gabriel Schulhof 2003-01-15 17:18:35 EST
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 
ethernet

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
running 
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 @@
        FWHACK=1
     fi
 
+    [ -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
${DHCPCDARGS} ${DEVICE} ; then

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):
dhclient-3.0pl1-9

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:
None
Comment 1 Elliot Lee 2003-01-15 18:09:36 EST
Bugs are assigned by source package, not by binary subpackage. Reassigning to dhcp...
Comment 2 Daniel Walsh 2003-01-16 15:28:04 EST
*** Bug 81973 has been marked as a duplicate of this bug. ***
Comment 3 Daniel Walsh 2003-01-16 15:32:53 EST
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.

Dan

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