Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - dhcp.client startup trouble: (17 Items)
   
dhcp.client startup trouble  
I'm running 6.4.0 on a Gigabyte G31M-ES2L motherboard (which uses the RTL 8111C LAN chip) and a dual core CPU.

I have the network mode in net.cfg set to dhcp but on a reboot dhcp.client is not started.  I added it to rc.local but 
it doesn't work correctly.  dhcp.client is started and running when I log in but ifconfig doesn't show an IP address 
(not even 0.0.0.0).  If at that point I reconfigure the network via phlip, the initial instance of dhcp.client is killed
, a new one is started, and I get a valid IP address.  It will also start working if I manually restart dhcp.client.

However, if I invoke dhcp.client in .profile for the root account I get different behavior.  If I log in as soon as I 
can after a reboot I get the same behavior as above.  If I wait ten seconds before logging in ifconfig reports an IP of 
0.0.0.0 for around 15 seconds and then gets a valid IP.  If I let the machine sit on the login screen for around 30 
seconds before I log in everything is fine.


Also on a side note, I left the machine on last night and when I came in today io-pkt-v4-hc was alternating between the 
cores about once a second taking 100% CPU time.  I was unable to slay io-pkt-v4-hc and reset the machine with a shutdown
 command.

Anyone have any ideas?
RE: dhcp.client startup trouble  
This is really weird.  Another customer just reported
a very similar problem with the rtl8169 driver and
dhcp - as best as we can figure out, with some switches
the rtl8169 was taking a long time to successfully
auto-negotiate the link, and dhcp.client was impatiently
timing out before the link came up, and backing off 
excessively with it's exponential timeout.

There are two ways to go at the problem: try to diagnose
the driver - to see if there are any obvious errors which
can be address -  to speed up the link-up, or to relax the 
dhcp.client timeout.

--
aboyd
RE: dhcp.client startup trouble  
It looks like two issues there. The first one, that is, the failure of
dhcp.client, sounds like a timing issue. There is a possibility that
when the driver is not ready yet, applications (e.g. ifconfig,
dhcp.client etc) can see the interface. So if the application attempts
to configure the interface during the time slice, it will fail. Although
the time window is very small, the chance is there. What the sloginfo
says? (If it is the case, it will leave a trace in the slogger). The
second one is that the io-pkt is consuming all cpus. Can you still ping
your box at the time? What pidin irq says? Are there any other
applications sharing the line with io-pkt? If yes and one of them is
related to graphics, you may create an empty file
"/etc/system/config/nophoton" so next time when you logon, you will be
in text mode instead of photon. 

Thanks
Weijie

-----Original Message-----
From: James Puckett [mailto:community-noreply@qnx.com] 
Sent: January 29, 2009 6:31 PM
To: general-networking
Subject: dhcp.client startup trouble

I'm running 6.4.0 on a Gigabyte G31M-ES2L motherboard (which uses the
RTL 8111C LAN chip) and a dual core CPU.

I have the network mode in net.cfg set to dhcp but on a reboot
dhcp.client is not started.  I added it to rc.local but it doesn't work
correctly.  dhcp.client is started and running when I log in but
ifconfig doesn't show an IP address (not even 0.0.0.0).  If at that
point I reconfigure the network via phlip, the initial instance of
dhcp.client is killed, a new one is started, and I get a valid IP
address.  It will also start working if I manually restart dhcp.client.

However, if I invoke dhcp.client in .profile for the root account I get
different behavior.  If I log in as soon as I can after a reboot I get
the same behavior as above.  If I wait ten seconds before logging in
ifconfig reports an IP of 0.0.0.0 for around 15 seconds and then gets a
valid IP.  If I let the machine sit on the login screen for around 30
seconds before I log in everything is fine.


Also on a side note, I left the machine on last night and when I came in
today io-pkt-v4-hc was alternating between the cores about once a second
taking 100% CPU time.  I was unable to slay io-pkt-v4-hc and reset the
machine with a shutdown command.

Anyone have any ideas?

_______________________________________________
General
http://community.qnx.com/sf/go/post21030
RE: dhcp.client startup trouble  
I think that what's happening is that your network card is taking too
long to auto-negotiate the link.  This results in dhcp.client (which is
started with the -T10 option by netmanager) to time out and exit with an
error.  Unfortunately, this timeout value is hard-coded in netmanager.c
(look at the do_dhcp function).  I'm not sure about increasing this
value in the product.  While netmanager is waiting for dhcp.client to
complete, the booting process stops, so if your network card doesn't
work, this results in an extra 10 seconds for the boot process to
complete.  (Of course, you can always come back with "but without a
network connection, I can't do anything anyway, but that's another issue
:>).

Here's a custom x86 build of netmanager that has that timeout increased
to 20 seconds to try out.  (Backup and then replace /bin/netmanager).
Let me know if that works out for you.

	Robert. 

-----Original Message-----
From: James Puckett [mailto:community-noreply@qnx.com] 
Sent: Thursday, January 29, 2009 6:31 PM
To: general-networking
Subject: dhcp.client startup trouble

I'm running 6.4.0 on a Gigabyte G31M-ES2L motherboard (which uses the
RTL 8111C LAN chip) and a dual core CPU.

I have the network mode in net.cfg set to dhcp but on a reboot
dhcp.client is not started.  I added it to rc.local but it doesn't work
correctly.  dhcp.client is started and running when I log in but
ifconfig doesn't show an IP address (not even 0.0.0.0).  If at that
point I reconfigure the network via phlip, the initial instance of
dhcp.client is killed, a new one is started, and I get a valid IP
address.  It will also start working if I manually restart dhcp.client.

However, if I invoke dhcp.client in .profile for the root account I get
different behavior.  If I log in as soon as I can after a reboot I get
the same behavior as above.  If I wait ten seconds before logging in
ifconfig reports an IP of 0.0.0.0 for around 15 seconds and then gets a
valid IP.  If I let the machine sit on the login screen for around 30
seconds before I log in everything is fine.


Also on a side note, I left the machine on last night and when I came in
today io-pkt-v4-hc was alternating between the cores about once a second
taking 100% CPU time.  I was unable to slay io-pkt-v4-hc and reset the
machine with a shutdown command.

Anyone have any ideas?

_______________________________________________
General
http://community.qnx.com/sf/go/post21030

Attachment: Text netmanager 53.46 KB
RE: dhcp.client startup trouble  
The cisco switches we're using take 30 seconds to auto-negotiate the link...

> -----Original Message-----
> From: Robert Craig [mailto:community-noreply@qnx.com]
> Sent: January-30-09 10:51 AM
> To: general-networking
> Subject: RE: dhcp.client startup trouble
> 
> I think that what's happening is that your network card is taking too
> long to auto-negotiate the link.  This results in dhcp.client (which is
> started with the -T10 option by netmanager) to time out and exit with
> an error.  Unfortunately, this timeout value is hard-coded in
> netmanager.c (look at the do_dhcp function).  I'm not sure about
> increasing this value in the product.  While netmanager is waiting for
> dhcp.client to complete, the booting process stops, so if your network
> card doesn't work, this results in an extra 10 seconds for the boot
> process to complete.  (Of course, you can always come back with "but
> without a network connection, I can't do anything anyway, but that's
> another issue :>).
> 
> Here's a custom x86 build of netmanager that has that timeout increased
> to 20 seconds to try out.  (Backup and then replace /bin/netmanager).
> Let me know if that works out for you.
> 
> 	Robert.
> 
> -----Original Message-----
> From: James Puckett [mailto:community-noreply@qnx.com]
> Sent: Thursday, January 29, 2009 6:31 PM
> To: general-networking
> Subject: dhcp.client startup trouble
> 
> I'm running 6.4.0 on a Gigabyte G31M-ES2L motherboard (which uses the
> RTL 8111C LAN chip) and a dual core CPU.
> 
> I have the network mode in net.cfg set to dhcp but on a reboot
> dhcp.client is not started.  I added it to rc.local but it doesn't work
> correctly.  dhcp.client is started and running when I log in but
> ifconfig doesn't show an IP address (not even 0.0.0.0).  If at that
> point I reconfigure the network via phlip, the initial instance of
> dhcp.client is killed, a new one is started, and I get a valid IP
> address.  It will also start working if I manually restart dhcp.client.
> 
> However, if I invoke dhcp.client in .profile for the root account I get
> different behavior.  If I log in as soon as I can after a reboot I get
> the same behavior as above.  If I wait ten seconds before logging in
> ifconfig reports an IP of 0.0.0.0 for around 15 seconds and then gets a
> valid IP.  If I let the machine sit on the login screen for around 30
> seconds before I log in everything is fine.
> 
> 
> Also on a side note, I left the machine on last night and when I came
> in today io-pkt-v4-hc was alternating between the cores about once a
> second taking 100% CPU time.  I was unable to slay io-pkt-v4-hc and
> reset the machine with a shutdown command.
> 
> Anyone have any ideas?
> 
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post21030
> 
> 
> 
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post21072
RE: dhcp.client startup trouble  
Let's just say that netmanager is not my favourite utility.  In this
particular case, I'd say that if you want to use netmanager (and not
modify the enumerators to launch dhcp.client yourself... Which is
something that is definitely worth considering since it gives you more
control), the best thing to do is to change netmanager to match your
system.

The source is here (look for the do_dhcp function).
http://community.qnx.com/integration/viewcvs/viewcvs.cgi/trunk/utils/n/n
etmanager/netmanager.c?root=core_networking&rev=409&system=exsy1001&view
=markup

As I can tell from this thread, it's unlikely that one setting will work
for everyone :>

	Robert.


-----Original Message-----
From: Mario Charest [mailto:community-noreply@qnx.com] 
Sent: Friday, January 30, 2009 11:01 AM
To: general-networking
Subject: RE: dhcp.client startup trouble

The cisco switches we're using take 30 seconds to auto-negotiate the
link...

> -----Original Message-----
> From: Robert Craig [mailto:community-noreply@qnx.com]
> Sent: January-30-09 10:51 AM
> To: general-networking
> Subject: RE: dhcp.client startup trouble
> 
> I think that what's happening is that your network card is taking too 
> long to auto-negotiate the link.  This results in dhcp.client (which 
> is started with the -T10 option by netmanager) to time out and exit 
> with an error.  Unfortunately, this timeout value is hard-coded in 
> netmanager.c (look at the do_dhcp function).  I'm not sure about 
> increasing this value in the product.  While netmanager is waiting for

> dhcp.client to complete, the booting process stops, so if your network

> card doesn't work, this results in an extra 10 seconds for the boot 
> process to complete.  (Of course, you can always come back with "but 
> without a network connection, I can't do anything anyway, but that's 
> another issue :>).
> 
> Here's a custom x86 build of netmanager that has that timeout 
> increased to 20 seconds to try out.  (Backup and then replace
/bin/netmanager).
> Let me know if that works out for you.
> 
> 	Robert.
> 
> -----Original Message-----
> From: James Puckett [mailto:community-noreply@qnx.com]
> Sent: Thursday, January 29, 2009 6:31 PM
> To: general-networking
> Subject: dhcp.client startup trouble
> 
> I'm running 6.4.0 on a Gigabyte G31M-ES2L motherboard (which uses the 
> RTL 8111C LAN chip) and a dual core CPU.
> 
> I have the network mode in net.cfg set to dhcp but on a reboot 
> dhcp.client is not started.  I added it to rc.local but it doesn't 
> work correctly.  dhcp.client is started and running when I log in but 
> ifconfig doesn't show an IP address (not even 0.0.0.0).  If at that 
> point I reconfigure the network via phlip, the initial instance of 
> dhcp.client is killed, a new one is started, and I get a valid IP 
> address.  It will also start working if I manually restart
dhcp.client.
> 
> However, if I invoke dhcp.client in .profile for the root account I 
> get different behavior.  If I log in as soon as I can after a reboot I

> get the same behavior as above.  If I wait ten seconds before logging 
> in ifconfig reports an IP of 0.0.0.0 for around 15 seconds and then 
> gets a valid IP.  If I let the machine sit on the login screen for 
> around 30 seconds before I log in everything is fine.
> 
> 
> Also on a side note, I left the machine on last night and when I came 
> in today io-pkt-v4-hc was alternating between the cores about once a 
> second taking 100% CPU time.  I was unable to slay io-pkt-v4-hc and 
> reset the machine with a shutdown command.
> 
> Anyone have any ideas?
> 
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post21030
> 
> 
> 
>...
Re: RE: dhcp.client startup trouble  
I tried the new netmanager, thanks for providing it.

It's still doing the same thing however.  When I log in ifconfig reports an IP of 0.0.0.0 for 5-10 seconds then it stops
 reporting an IP at all.  During the period that ifconfig reports the 0.0.0.0 IP, nicinfo shows that the link is up.  
After ifconfig stops reporting any IP I run dhcp.client manually and everything works.

While testing the new netmanager I came across some other strange behavior.  About every five reboots I can't get dhcp.
client to work at all.  ifconfig shows an ethernet adapter and nicinfo shows that the link is down but the nic does not 
show up in the output of pci -vvv.  If I kill io-pkt-v4-hc and restart it it won't recognize the nic.  I discussed this 
with a co-worker and he said that he saw the same behavior on a separate, identically configured machine.

I've attached the output of sloginfo and pci -vvv for both cases.
Attachment: Compressed file pci_sloginfo.zip 8.49 KB
RE: RE: dhcp.client startup trouble  
ifconfig will stop reporting an IP if dhcp.client stops running, so
that's still consistent with dhcp.client timing out.  Maybe I need to
bump up the timeout even more.  Here's another version with a 60 second
timeout.  The problem here is that dhcp.client goes into exponential
back off, so if the interface doesn't come up early on, it could take a
much longer time to get assigned an address.

In terms of your other issues, I'd seriously wonder about the hardware.
The fact that the NIC doesn't show up in pci -vvvv is a bad thing.  If
the NIC doesn't show up in the PCI server, the stack isn't going to be
able to do much with it.  By "reboot" do you mean software reboot or a
power cycle?

    R. 

-----Original Message-----
From: James Puckett [mailto:community-noreply@qnx.com] 
Sent: Friday, January 30, 2009 3:09 PM
To: general-networking
Subject: Re: RE: dhcp.client startup trouble

I tried the new netmanager, thanks for providing it.

It's still doing the same thing however.  When I log in ifconfig reports
an IP of 0.0.0.0 for 5-10 seconds then it stops reporting an IP at all.
During the period that ifconfig reports the 0.0.0.0 IP, nicinfo shows
that the link is up.  After ifconfig stops reporting any IP I run
dhcp.client manually and everything works.

While testing the new netmanager I came across some other strange
behavior.  About every five reboots I can't get dhcp.client to work at
all.  ifconfig shows an ethernet adapter and nicinfo shows that the link
is down but the nic does not show up in the output of pci -vvv.  If I
kill io-pkt-v4-hc and restart it it won't recognize the nic.  I
discussed this with a co-worker and he said that he saw the same
behavior on a separate, identically configured machine.

I've attached the output of sloginfo and pci -vvv for both cases.

_______________________________________________
General
http://community.qnx.com/sf/go/post21135
Attachment: Text netmanager 53.46 KB
Re: RE: RE: dhcp.client startup trouble  
By reboot I mean executing "shutdown -f"
RE: RE: RE: dhcp.client startup trouble  
Hmmm...  So a soft reboot. There have been occasions when the hardware
seems to be left in some sort of "bad state" by a soft reboot whereas a
full power cycle (or reset) doesn't.  I'm not sure what else to say
about that one, but if the PCI server isn't reporting the device, there
may be something that isn't being fully re-configured in the PCI
hardware after a soft reboot. 

	R.

-----Original Message-----
From: James Puckett [mailto:community-noreply@qnx.com] 
Sent: Friday, January 30, 2009 3:24 PM
To: general-networking
Subject: Re: RE: RE: dhcp.client startup trouble

By reboot I mean executing "shutdown -f"

_______________________________________________
General
http://community.qnx.com/sf/go/post21140
Re: RE: RE: RE: dhcp.client startup trouble  
The strange thing about this situation is that it appears that io-pkt-v4-hc has successfully started the driver for the 
nic.  Both ifconfig and nicinfo report valid info for en0 and it is mounted in /dev/io-net.
RE: RE: RE: RE: dhcp.client startup trouble  
And yet, when you query the PCI server a bit later, the NIC no longer
appears?  Now that IS bizarre.



-----Original Message-----
From: James Puckett [mailto:community-noreply@qnx.com] 
Sent: Friday, January 30, 2009 3:39 PM
To: general-networking
Subject: Re: RE: RE: RE: dhcp.client startup trouble

The strange thing about this situation is that it appears that
io-pkt-v4-hc has successfully started the driver for the nic.  Both
ifconfig and nicinfo report valid info for en0 and it is mounted in
/dev/io-net.

_______________________________________________
General
http://community.qnx.com/sf/go/post21143
RE: RE: RE: RE: dhcp.client startup trouble  
Maybe there is more then X number of buses in the machine.  What if you try  pci -n100?

> -----Original Message-----
> From: Robert Craig [mailto:community-noreply@qnx.com]
> Sent: January-30-09 3:41 PM
> To: general-networking
> Subject: RE: RE: RE: RE: dhcp.client startup trouble
> 
> And yet, when you query the PCI server a bit later, the NIC no longer
> appears?  Now that IS bizarre.
> 
> 
> 
> -----Original Message-----
> From: James Puckett [mailto:community-noreply@qnx.com]
> Sent: Friday, January 30, 2009 3:39 PM
> To: general-networking
> Subject: Re: RE: RE: RE: dhcp.client startup trouble
> 
> The strange thing about this situation is that it appears that
> io-pkt-v4-hc has successfully started the driver for the nic.  Both
> ifconfig and nicinfo report valid info for en0 and it is mounted in
> /dev/io-net.
> 
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post21143
> 
> 
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post21144
> 
Re: RE: RE: RE: RE: dhcp.client startup trouble  
pci -n100 -vvv produces the same output as pci -vvv
RE: RE: RE: RE: dhcp.client startup trouble  
> it appears that io-pkt-v4-hc has successfully started 
> the driver for the nic. 

I think it's fooling you.  That's what the other customer
saw - the link was reported up, but no traffic flowed for
a few seconds.  

In your sloginfo, qnet started to work 10 seconds after 
dhcp.client failed.

This problems seems to be unique to the rtl8169.

--
aboyd
Re: RE: RE: RE: RE: dhcp.client startup trouble  
Yes, that could be the case when the NIC shows up in pci -vvv.

In the case when it does not show up in the pci output, if I kill io-pkt-v4-hc and try to restart it, I can't get it to 
recognize the NIC at all (even though ifconfig and nicinfo were both showing a NIC before I killed it).  It won't work 
even when I specify the driver, the vendor id, and the device id:

io-pkt-v4-hc -d rtl8169 did=0x8168 vid=0x10ec
RE: RE: RE: RE: RE: dhcp.client startup trouble  
Yup.  If the NIC doesn't show up using the pci command, then io-pkt will
not be able to recognize it since io-pkt uses the same mechanisms to
find NICs.  I'm not sure what's happening to the pci server in between
the "it was there" and the "it is no longer there" stages, but this is a
problem with the PCI server rather than io-pkt...



-----Original Message-----
From: James Puckett [mailto:community-noreply@qnx.com] 
Sent: Friday, January 30, 2009 4:14 PM
To: general-networking
Subject: Re: RE: RE: RE: RE: dhcp.client startup trouble

Yes, that could be the case when the NIC shows up in pci -vvv.

In the case when it does not show up in the pci output, if I kill
io-pkt-v4-hc and try to restart it, I can't get it to recognize the NIC
at all (even though ifconfig and nicinfo were both showing a NIC before
I killed it).  It won't work even when I specify the driver, the vendor
id, and the device id:

io-pkt-v4-hc -d rtl8169 did=0x8168 vid=0x10ec

_______________________________________________
General
http://community.qnx.com/sf/go/post21153