Princeton: iPad/iPhone OS 3.2 Stops Renewing DHCP Lease

0
153

A team at Princeton has determined how to recreate an iPad loosing WiFi connections.

Steps to Reproduce

We have found that we can reproduce the problem by following the procedure below. (We do not know if there are other circumstances that can produce the problem, but these steps seem to reliably reproduce it for us.)

Leave the USB/dock connector disconnected from the iPad throughout the test.
Cause the iPad to be connected to an 802.11 wireless network.
Allow the iPad to obtain a lease via DHCP. If it was already configured to use DHCP, it did this once it connected to the wireless network in step above.
For the remainder of the steps below, don’t do anything that would cause the iPad to disassociate or de-authenticate from the 802.11 wireless network. For example, don’t relocate the iPad in such a way that it loses its 802.11 connection for a time. This is because a wireless reconnection may trigger the iPad to attempt to perform DHCP, putting you back to the previous step (resetting the lease timers).
If the iPad on its own decides to disconnect and reconnect to the the 802.11 wireless network (for example, as the result of some software running on it), this can also prevent you from reproducing the problem, for the same reason.

(We verified that the iPad remained connected to the wireless network throughout the test by monitoring the logs from our wireless access points. If you don’t have the ability to monitor your wireless access points, you may not be able to ensure that the iPad is truly remaining connected continuously. During our testing, we’ve sometimes seen cases where the iPad disconnected and reconnected periodically on its own; that activity will prevent you from reproducing the problem.)

Before the DHCP lease is reaches the time it is due to be renewed (lease time T1) cause the iPad to lock its screen.
Either allowing the iPad to use its auto-lock feature, or manually pressing the sleep/wake button appears to suffice. All that seems to matter is that the screen has locked before lease renewal time.

Leave the iPad continue to sit with its screen locked through the time that the DHCP lease is due to expire.
Lease renewal time will pass without the iPad attempting to renew its lease.
Although the iPad remains attached to the wireless network the entire time, it does not attempt to renew the DHCP lease. The iPad will continue to use the IP address. (This is not yet a problem.)

Lease expiration time will pass without the iPad attempting to renew its lease.
Although the iPad remains attached to the wireless network the entire time, it does not attempt to renew the DHCP lease.

Even after the lease has expired, the iPad continues to use the IP address. For example, it will respond to ARP requests and PING requests.

Once the iPad is in this state, pressing its sleep/wake button and unlocking the screen does not resolve the problem. Once awoken and unlocked, the iPad does not attempt to use DHCP to obtain a new lease. It continues to use the IP address from the lease that has expired.
Locking the screen and unlocking it will not help at this point; the problem continues.

So to summarize, we can reproduce the problem by allowing the iPad to lock its screen before DHCP lease renewal time, and then allowing it remain in that state (powered on with its screen locked) until the DHCP lease has expired, assuming the iPad experiences no 802.11 wireless disconnect/reconnect events during that time.

Once the iPad has gotten into this state, we have found that any one of the following actions will get the device out of this state:

Power off the iPad (this is not the same as locking the screen). When you next power on the iPad, it will ask for a new lease.
Use the iPad’s Settings application to turn off its wireless interface. When you next turn on the iPad’s wireless interface (even if it’s only a few seconds later), it will ask for a new lease.
Causing the iPad to lose its connection to the 802.11 wireless network may also work. (That is, cause the iPad to experience an 802.11 de-authenticate or disassociate event. We’ve tested it by forcing the wireless access point to de-authenticate the iPad. Moving the iPad beyond the coverage area of its current wireless access point might also do the job.) When the iPad next associates to the wireless network, it may ask for a new DHCP lease.

We’ve verified this works in some cases, but have not yet been able to test enough cases.