*bump*

I'm hoping Hugo sees this. :-)

The problem happened again this morning (scroll to the top to see problem description), and I noticed another characteristic that might be a factor. The problem still happens as I described it above, but here's a couple more data points.

- It always happens specifically when I'm leaving my house, i.e., It's dropping off of my home Wifi network and switching over to 3G.

- Just in case this is a factor: The Wifi base station (Actiontec GT701WG if I recall correctly) has had troubles with the iPhone in the past because the iPhone sometimes doesn't get proper DHCP/DNS resolutions from it. So I've long since set the iPhone to a fixed IP address and a fixed DNS address on my home network (I'm using the OpenDNS addresses), to work around that problem. So, when I run into the situation described above, it's when I moved from a Fixed-IP, Fixed-DNS Wifi network, to the 3G network.

- On mornings that it doesn't happen, I notice when I get into my car and pull out of the driveway it always says "3G" as I'm pulling out.

- On mornings that it does happen, I notice that when I get into my car and pull out of the driveway, it shows that I'm on my home Wifi network still, even as I pull out of the driveway and drive all the way down the street, well out of range of my home Wifi connection. Only after rounding the corner does it finally drop to 3G. And that's when I know the 3G will be non-functional.

- Today I just let it go without rebooting, drove all the way to work to be sure I was on a different cell tower, and tried using the internet again. Same problem: 3G data just does. not. work. until I reboot the phone, then it works fine. So I know it's not specific to the cell tower.

I think there's some kind of a bug in the code that pops up only on a Wifi->3G handoff, and I wonder if the fixed IP and fixed DNS has anything to do with it. Such as (wild guess example): if the Wifi drops in the middle of a DNS request, and it doesn't go through the DHCP code because Wifi is on a fixed address, then the DNS client "sticks" on the Wifi connection and can't switch back over to 3G. Or something really silly and esoteric like that.

What I find interesting is that Airplane mode on and off does not fix the problem, yet rebooting the phone fixes the problem. I don't know about the internal architecture of the network stack, so I'm hoping Hugo can see this and might know: What bits of the network stack don't restart when Airplane mode is toggled? What bits of the network stack can only be restarted by a full reboot?

_________________________
Tony Fabris