Device is picking up the wrong IP Address from DHCP
First let's clear up some nomenclature inaccuracies...
Your iPhone didn't "pick up" a link-local address from the DHCP server. It assigned itself a private IP based on Automatic Private IP Addressing (APIPA). There's a huge distinction here and is relevant to the problem you are having:
- DHCP hands out IP addresses based on a configured pool of addresses.
- APIPA self assigns an address when, for whatever reason, it doesn't get one from DHCP
So, armed with this knowledge, we know one of two things happened:
- Your DHCP server didn't respond or ignored/denied the request for an address
- Your iPhone didn't request or it rejected/ignored the DHCP offer.
DHCP server
It's entirely possible that the issue is with the DHCP server on your router. It may have been configured for a small amount of leases and at some point you hit the limit (your previous lease was given to another client). You may have also "blocked" your client (iPhone from the DHCP pool). Given that your iPhone is the only device not connecting, it would be beneficial to look at the router's DHCP config to see if you have any limitations or restrictions in place. Restarting it wouldn't hurt, either.
Your iPhone
It's also entirely possible that an update or a configuration change has "hosed up" your networking configuration. Usually, forgetting the wireless network and re-connecting will solve the issue.
However, one of the best ways to narrow down the possibilities is to connect it to another network. Take it to your favorite coffee shop, a friends house, or anywhere that has a WiFi network that you can attach to easily. If you can connect there, then you know the problem is with your home setup. If it fails on other networks, you most likely have a hardware issue which means it's time to take it in for service.
Perhaps something changed a few days ago that's affecting your iPhone's network settings (e.g. a carrier update, software update, etc).
One thing you can try is resetting your iPhone's Network settings. You do this by:
- Navigate to Settings
- Tap on General
- Swipe up and tap on Reset at the bottom of the screen
- Tap on Reset network settings
Keep in mind once you've reset your Network settings you will need to reenter any WiFi passwords again you normally connect to.
Let me know how you go.