This has been driving me absolutely nuts for a couple of months now.
I have Airport Extreme in my iBook G4, a wireless router in the office and a wireless router at home. Generally speaking, the iBook makes an almost instantaneous connection to the network when it's opened in either location. But sometimes, it doesn't.
I should probably clarify this: a connection is in fact made to the wireless router, but the interface ends up with a self-assigned IP address. So no connections anywhere, in other words. This situation seems to gradually degrade, and I end up having to restart the iBook before it will work in either location.
So. It seems that some piece of software (I don't know which) has been quietly adding rules to the firewall, and it seems that this is causing problems obtaining an IP address, DNS server, etc via DHCP. Note that I don't have the firewall turned on in System Preferences.
I frankly don't have a clue what's doing this. Eventually I will. But in the meantime, I've been able to get around this as follows (with the big caveat that you shouldn't do this if you are actually relying on your firewall because it will remove all of the firewall rules):
- Open Terminal
- Run the command: sudo ipfw l
- This lists the current firewall rules. If there are any rules other than the default "65535 allow ip from any to any", run the command: sudo ipfw -f flush
- This will delete any firewall rules other than the default
This always gets me back to the state where I can connect to either network by simply opening my iBook.