It was just a bad day for computer gear.
My Netgear WNDR3700 said it needed an upgrade for ipv6 compatibility so I upgraded the firmware. Luckily I took a backup of the config before starting the upgrade because the dodgy Netgear software borked my router.
Also luckily for me, I always keep a spare of my core router handy with a factory install waiting for just such situations. I plugged it in, restored the config and my household network was back up and running. I cleaned up the borked router and got it back to factory status and this time I downloaded the upgrade and did it from my local machine. Worked a charm.
Except my iPhone 4 was no longer successfully getting a DHCP address all the time. I noticed that if my phone turned off or I went out of range, when I’d turn it on in range, about 80% of the time it wouldn’t get a DHCP address from the router so it would default to one of the 169.x.x.x ones.
I decided to look at my settings on the router and noticed that RIP was set to “default”. I had stored away in my memory somewhere that the iPhone 4 really likes RIP2, so I switched it to RIP2B (subnet information, the RIP2M is for multicast networks). While the router was applying the update my iPhone 4 picked up a proper DHCP address – success!
I’ve turned it off, put it to sleep and everything else I can think of and it immediately comes back on and finds a DHCP address over WIFI instantly.
A good ending to a very average computer hardware day!