OIT Network Systems

Workarounds for "iOS 4.1 - 6.1 Allows DHCP Lease to Expire, Keeps Using IP Address" Bug

Apple iOS® versions 4.1 - 6.1 exhibit a bug which can cause the iOS device to disrupt service for other devices on the same network from time to time.

A detailed description of the issue is at iOS 4.1 - 6.1 Allows DHCP Lease to Expire, Keeps Using IP Address .

The following workarounds may be used to prevent an affected device from exhibiting this bug.


Contents

  1. Workaround for iOS 4.1 - 4.3.x
    1. Procedure
    2. Caveats
    3. Why is this Workaround Effective?
  2. Workaround for iOS 5.0 - 6.1
    1. Procedure
    2. Caveats
    3. Why is this Workaround Effective?
  3. Revision History

Workaround for iOS 4.1 - 4.3.x

Follow this procedure for iOS 4.1 - iOS 4.3.x. (Devices running iOS 5.0 and later will be unable to use this procedure; scroll down for a different procedure appropriate for iOS 5.0 and later.)

Procedure

  1. Turn off "Push" (i.e. Microsoft Exchange ActiveSync) support for all mail, contacts, and calendar accounts. Do so using: Settings -> Mail, Contacts, Calendar -> Fetch New Data -> Push -> Off.

    Using this setting to turn off "Push" support for mail, contacts, and calendar accounts will override any per-account settings at: Settings -> Mail, Contacts, Calendar -> Fetch New Data ->Advanced.

    You may still choose to set a schedule for periodically fetching such data, using the lower portion of the Settings -> Mail, Contacts, Calendar -> Fetch New Data screen.

  2. Turn off Apple FaceTime® if the device supports it. Do so using: Settings -> Phone -> FaceTime.

    Typically, iOS devices with a built-in camera support FaceTime.

  3. If you have installed any applications which use the operating system's multitasking API to listen for incoming VoIP (Voice over IP) phone calls, remove those applications.

  4. Turn off "Notifications" (Apple Push Notification Service). Doing so can be a little tricky, because the setting appears and disappears depending on the applications installed. Begin by checking the Settings application for a Notifications category.

    The Settings -> Notifications category appears if your device presently has any applications installed which support Apple Push Notification Service.

  5. If the "Settings" application is still running, quit the "Settings" application by single-tapping the "Home" button.

  6. If Apple's "Find iPhone" app (a.k.a. "Find My iPad," "Find My iPhone," "Find My iPod") is installed, disable it. Do so using: Settings -> Mail, Contacts, Calendars -> Accounts: MobileMe -> Find My iPad -> Off. (The name of this item may vary depending on whether your device is an iPad, iPhone, or iPod Touch.)

  7. Reboot the device. This is because turning off Settings -> Notifications, turning off Settings -> Phone -> FaceTime, and turning off Settings -> Mail, Contacts, Calendars -> Accounts: MobileMe -> Find My iPad -> Off are not fully effective right away. Reboot the device as follows:

    1. Turn off the device by pressing and holding the On/Off/Sleep/Wake button for a few seconds until the red "slide to power off" slider appears on the screen. Release the On/Off/Sleep/Wake button. Drag the slider to power off the device.

    2. Turn on the device by pressing and holding the On/Off/Sleep/Wake button until the Apple logo appears on the screen. Release the On/Off/Sleep/Wake button.

  8. Be aware that when you launch any application that support "Notifications", your device may sometimes display an alert suggesting that you turn on Notifications.

    For example, it may display an alert that says: Turn on Push Notifications to Allow "ApplicationName" to Receive Sounds, Alerts and Badges along with a button to Cancel and a Settings button that launches the Settings application and enters the Settings -> Notifications screen.

    Despite frequent alerts of this nature, you will need to remember to not turn on Notifications.

  9. Be aware that if you were to delete all installed applications which support Apple Push Notication Service, the Settings -> Notifications category will disappear, and the device will forget that you turned off Apple Push Notifications. If later you were to install any application which supports Apple Push Notification Service, the Notifications category would re-appear in Settings, but would be reset to On. At that time you would need to change this setting to Off, and then reboot.

    To avoid encountering that issue, ensure you always keep installed at least one application that supports Apple Push Notification Service.

  10. Be aware that if in the future you toggle the value for Settings -> Notifications, the value for Settings -> Phone -> FaceTime, or the value for Settings -> Mail, Contacts, Calendars -> Accounts: MobileMe -> Find My iPad after turning off either setting you should reboot the device, so that the changed setting takes full effect.

Caveats

We recognize that this workaround represents some inconvenience to the customer. Short of a fix from Apple, it's the best approach we know of to allow these customers the opportunity to use their devices on the campus network.

This workaround involves disabling various services on the device. Naturally, any services or applications which rely on any of those features will be affected.

Why is this Workaround Effective?

The DHCP client software in iOS 4.1 - 4.3.5 can exhibit the issue when the following conditions are met simultaneously: the device is not attached to a power source, the device is attached to a Wi-Fi network, the device is asleep, and the device is not running any application which uses the operating system's multitasking API to stream audio from the network while the application is in the background, and there is no active cellular interface carrying cellular data.

This workaround is effective because it results in the device choosing to disconnect from the Wi-Fi network (typically about 10-15 seconds after the device goes to sleep) when the circumstances above are met.


Workaround for iOS 5.0 - 6.1

This procedure works around the bug for iOS 5.0 - 6.1. (We do not recommend this procedure for devices running iOS 4.1 - 4.3.x; scroll up for a different procedure we recommend for those versions.)

Note that although the bug was not fixed in iOS 5.0, other changes starting with iOS 5.0 cause the bug to appear less often, effectively hiding the bug for DHCP lease times of an hour or more. And changes in iOS 5.1 effectively hide the bug for DHCP lease times of thirty minutes or more. As DHCP leases at Princeton are presently an hour or more, no devices at Princeton running iOS 5.0 or later should need to use this workaround.

Procedure

  1. Configure the device so it never auto-locks. Do so using: Settings -> General -> Auto-Lock -> Never.

  2. Every time that you finish working with the device, do one of the following:

    You need not select the same choice every time you finish working with the device. For example, you might normally select choice A or choice B, only relying on choice C when you forget to take any action.

Caveats

When the device is not attached to a power source, you must not simply put the device to sleep (e.g., by pressing and releasing the Sleep/Wake button, or by closing the cover on an iPad2) without first turning off the Wi-Fi interface. Putting the device to sleep while leaving the Wi-Fi interface on can lead to the device exhibiting the DHCP client bug.

This workaround relies you carrying this procedure assiduously every time you finish using the device. If you sometimes neglect to do, the device may exhibit the bug during those times.

We recognize that this workaround is inconvenient. Short of a fix from Apple, it's the only workaround we are aware of (for these versions of iOS).

Why is this Workaround Effective?

The DHCP client software can malfunction when a number of conditions are met simultaneously. Some (not all) of the conditions include: the device is not attached to a power source, the device is attached to a Wi-Fi network, the device is asleep.

This workaround is effective because it doesn't permit the device to remain attached to Wi-Fi when the device is asleep without a power source.


Revision History

We published this document on November 30 2010.

We updated this document on December 6 2010 to reflect the interaction between Apple's "Find iPhone" app (a.k.a. "Find My iPad," "Find My iPhone," "Find My iPod)") and the device's decision to remain associated to Wi-Fi when sleeping.

We updated this document on March 15 2011 to reflect Apple's release of iOS 4.3, updated it again on April 1 2011 to reflect Apple's release of iOS 4.3.1, updated it again on April 24 2011 to reflect Apple's release of iOS 4.3.2, updated it again on May 16 2011 to reflect Apple's release of iOS 4.3.3, updated it again on July 15 2011 to reflect Apple's release of iOS 4.3.4, and updated it again on July 25 2011 to reflect Apple's release of iOS 4.3.5.

We revised this document on October 12 2011 to reflect Apple's release of iOS 5.0. The release did not change the workaround for iOS 4.1 - 4.3.x. However, because iOS 5.0 eliminated the ability to turn off "Notifications" (Apple Push Notification Service), the workaround for iOS 4.1 - 4.3.x was not feasible for iOS 5.0. To address this, we added a different workaround for iOS 5.0. Although the new workaround for iOS 5.0 will also work for iOS 4.1 - 4.3.x, we continue to recommend the older workaround for iOS 4.1 - 4.3.x. This is because the workaround for iOS 5.0 is less convenient and more failure prone; it requires the customer to take additional action every time s/he finishes using the device. We also noted that although the bug was not fixed in iOS 5.0, other changes in iOS 5.0 caused the bug to appear less often, effectively hiding the bug for DHCP lease times of an hour or more. As DHCP leases at Princeton are presently an hour or more, few devices running iOS 5.0 should need to use this workaround.

We updated this document on December 2 2011 to reflect Apple's release of iOS 5.0.1; on March 26 2012 to reflect Apple's release of iOS 5.1; on May 7 2012 to reflect Apple's release of iOS 5.1.1; on September 19 2012 to reflect Apple's release of iOS 6.0; on November 4 2012 to reflect Apple's release of iOS 6.0.1, and on February 4 2013 to reflect Apple's release of iOS 6.1,


A service of OIT Network Systems
The Office of Information Technology,
Princeton University
Last Updated: February 4 2013