Broken network initialization (Was: Re: Wanted...)

Monty J. Harder mjharder at gmail.com
Sun Aug 31 10:25:23 CDT 2008


On Sat, Aug 30, 2008 at 11:01 PM, Sean Crago <cragos at gmail.com> wrote:

> There are multiple forum entries on the subject as well, but they
> mostly end with lazy half-fixes like the one I put in place (ifdown
> wlan0;ifup wlan0 in the /etc/rc.local file). One way or another
> though, it still doesn't make a lick of sense that the ifup script can
> succesfully work with iwconfig when the system's fully loaded, but
> can't halfway through. It should have no significant dependencies.
>

I don't know why you consider that a "half-fix".  The computer always boots
to full functionality.  If you want to call it a "hack" or "kluge", I can
agree with that.

Here's my theory on why it's happening:  It's not a "dependency" per se, but
a timing issue.  As the layers of drivers initialize, they return a
"successful" status, even though the hardware really isn't quite ready for
prime time, because there is nothing left for the CPU to communicate to the
card to complete the hardware initialization. The situation is not unlike an
application making a system call to write data to disk, which returns with a
good status even though the data have not physically been committed to the
drive's platters, as it may be buffered in RAM by the kernel, or shipped
down the wire to the drive and sitting in another buffer there. The ifup
being executed earlier in the init scripts is catching the card in this
state, but when rc.local runs a few seconds later, the hardware really is
ready to come out and play, so the ifup works.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://kclug.org/pipermail/kclug/attachments/20080831/8d92efea/attachment.htm>


More information about the Kclug mailing list