In part 1 of this three-part series on troubleshooting wireless network connections, we explained how to solve problems that arise in connecting laptops, desktops and smartphones to office wireless networks. In part 2, we examined how to troubleshoot iPhone OS Wi-Fi client connections. In this final article, learn how to troubleshoot Android Wi-Fi client connection problems.
More on troubleshooting Wi-Fi connection problems
Wireless network troubleshooting: Connectivity
How to troubleshoot iPhone Wi-Fi connection problems
How to fix iPad WLAN problems
In our wireless LAN troubleshooting tip, we explained how to debug physical, router and Windows connection problems. But what if you're having trouble with Android Wi-Fi connections, whether it be with a smartphone, tablet or e-reader? Check out these step-by-step debugging tips for Android device Wi-Fi connection problems.
1. Start by rechecking your physical connections. Always start here, following the instructions in our wireless network troubleshooting tip, step 1.
2. Next, verify that your Android Wi-Fi client wireless adapter is installed and working properly. Android devices such as the HTC Hero, Google Nexus One, Motorola Droid, Barnes and Noble Nook, and Enso ZenPad usually have internal 802.11 chipsets. Before going any further, make sure that your Android device's Wi-Fi radio is enabled. Tap Settings / Wireless & Networks / Wi-Fi as shown in Figure 1 on an Android 2.1 smartphone.
If Wi-Fi is off, check the box to turn Wi-Fi on. When Wi-Fi is on, a signal indicator appears at the top center of your home screen. Properly connected Wi-Fi takes precedence over mobile broadband (3G), but it can be helpful to disable your device's mobile network connection while debugging Wi-Fi.
3. Verify that your wireless router's LAN settings are correct. Use our network troubleshooting tip, step 3, to access your router's admin utility and determine the IP address range and subnet being assigned to wireless clients.
4. Verify your Android Wi-Fi client TCP/IP settings. Return your Android device's Settings / Wireless & Networks / Wi-Fi panel and tap Wi-Fi Settings. Find your own network's name (SSID) on the "Wi-Fi Networks" list.
- If your network's name is not on the list, your router may be hiding its SSID. Click "Add Wi-Fi Network" to configure your network manually.
- If your network is on the list but "Connected" does not appear beneath its name, tap your network to try to connect. If prompted for a password or key (see step 7), enter it and tap Connect. If you repeatedly try but fail, go to step 7.
- If "Connected" already appears beneath your network's name, continue.
When you're trying to connect to any network, status is displayed on the Wi-Fi Settings panel, in the row labeled "Wi-Fi." When status is "Connected," tap your network's name to view your client's assigned IP address.
- If a connected client's IP address is not in your router's LAN IP range (identified in step 3), use your menu button to open "Advanced" settings. If "Use static IP" is checked, uncheck it and turn Wi-Fi off and back on again. Your client should now use DHCP to request a valid IP address from your router.
- If a connected client's status is "Obtaining address" for a long time or your client repeatedly connects but then quickly disconnects, go to step 7.
- If a connected client's IP address is in your router's LAN IP range, continue.
5. Once your Android Wi-Fi client has a valid IP address within your router's LAN IP range, use "ping" to verify network connectivity. Most Android devices do not include a user-accessible "ping" app, but you can still verify network connectivity as follows.
- Start by using your device's built-in Browser app to check Internet access. If you can successfully open or reload an Internet website page, congratulations: You are connected!
- If you get the error message "The Web page at X might be temporarily down" you'll need to do more digging. Try browsing to your router's Web admin utility (e.g., http://192.168.1.1). If you can open that page, you are connected to your network but the router has a problem. Refer to our wireless network troubleshooting tip for additional hints.
- If you cannot browse your router's Web admin utility or another device connected to your router, you will need to troubleshoot connectivity another way. Use your device's 3G mobile broadband to visit the Android Market and download a free "ping" (ICMP) app such as PingPong by Thomas King. Use that app to ping your router's LAN IP address as shown below. If pinging your router repeatedly fails, skip to step 6.
- If pinging your router succeeds, ping any other wired or wireless LAN client that you wish to communicate with. If that ping fails, AP isolation may be enabled or the destination may be using a firewall to block incoming messages. Follow the instructions given in our wireless network troubleshooting tip, step 5.
6. If your Android wireless client still cannot connect, get a valid IP address, or ping your router, it's time to look for wireless-specific problems. The router and client must use compatible 802.11 standards. In particular:
- At this time, most Android devices have integrated 802.11bg. They can be connected to an 802.11b, 11g or 11n router, but not to an 11a router.
- Newer Android devices like the Samsung Galaxy may have integrated 802.11n. For backwards compatibility, single-band 11n clients can behave like 11bg clients (above) but can also connect to 11n routers at faster speeds. However, dual-band 11n clients can be connected to any 802.11 router (including 11a).
To determine which 802.11 standards your router supports, look for the following Wi-Fi certified logos on boxes or manuals, or search for Wi-Fi certified products at the Wi-Fi Alliance website. Once you have confirmed that your router and client should be compatible, examine your router's wireless settings as described in our wireless network troubleshooting tip, step 6.
7. If a compatible wireless client and router can "hear" each other but still cannot connect or exchange traffic, look for a security mismatch. The client must support the security mode required by the router: Open, WEP, WPA, or WPA2. Unless a WLAN is open (unsecured), the router and client must be configured with (or dynamically receive) identical keys to encrypt traffic between them. Compare your router's WLAN security settings to your client's wireless connection properties and attempt to match them.
- To reconfigure the security parameters for any previously saved network, go to Wi-Fi Settings, tap the network's name, and then tap "Forget."
- Next, tap a listed network name or "Add Wi-Fi network." When connecting to a listed network, Android automatically sets some parameters to match your router and only prompts for parameters that it cannot guess, like WEP keys, passwords, and 802.1X usernames. When manually adding a network, you will be prompted to enter all required security parameters.
- If your router uses WEP, enter your router's WEP key when prompted or tap the Security pull-down to select WEP and copy the router's WEP key into the client's "WEP hex key" field. If your router is configured with a WEP passphrase (text) instead of a WEP key (hex 0-9 A-F), tap the "Auto" pull-down and change key type to ASCII. Key index can usually be left at default.
- If your router uses WPA-Personal or WPA2-Personal, enter your router's passphrase when prompted or tap the Security pull-down to select WPA/WPA2-PSK and copy the router's passphrase into the client's "Password" field. Hint: Capitalization counts; check Show password to detect any typos.
- If your router uses WPA-Enterprise or WPA2-Enterprise, set the client's Security to 802.1x Enterprise and continue setup as described in step 8.
- Note that this security menu was redesigned in Android 2. If using an Android 1 client, you will see different menu choices (e.g., WPA Personal instead of WPA-PSK, WPA2 Enterprise instead of 802.1x).
- If you choose the wrong security type when adding a network, it may still be saved. You can change the password (or any other security parameter) associated with a saved network by tapping the network's name. However, it is often easier just to "Forget" any misconfigured network and start fresh.
8. Ensure RADIUS is working. WPA-Enterprise and WPA2-Enterprise log the client into the network and deliver encryption keys using an 802.1X-capable RADIUS server. Refer to our network troubleshooting tip, step 8, to check your router's RADIUS settings.
9. If RADIUS is working but the client's access requests are rejected, look for an 802.1X Extensible Authentication Protocol (EAP) problem. Your client must support one of the EAP methods required by your RADIUS server and must supply a valid login – that is, a username/password, token, or client certificate known to your server.
- If your RADIUS server requires EAP-TTLS (PAP), set the client's Security to 802.1x, select EAP method TTLS when prompted, and enter your username and password.
- If your RADIUS server requires PEAP, set the client's Security to 802.1x, select EAP method PEAP when prompted, choose a phase 2 authentication (MSCHAPv2 or GTC), and enter your username and password. MSCHAPv2 is commonly used with passwords; GTC is used only for token authentication.
If your RADIUS server requires EAP-TLS, set the client's Security to 802.1x, select EAP method TLS when prompted, enter your username (identity), and select a client certificate from the pull-down list.
If the only entry in the list is N/A, you must first add a certificate file to your device. To do so, copy a PKCS12 certificate to your Android's SD root folder, making sure that the filename ends in ".p12". (Hint: Email the file to yourself and save it to your SD card.)
Next, go to the Settings / Security panel. Check "Use secure credentials" and set a password to protect credential storage. Tap "Install from SD card." Android displays available .p12 files; if nothing is listed, your SD root folder does not contain any .p12 files. When you select a .p12 file, you may be prompted for a password to unlock it. The certificate is loaded into your credential storage and should now appear as an option when selecting an EAP-TLS client certificate.
- If your RADIUS server requires any other EAP type, you are out of luck at this time. But Android is a work in progress; check the Android website for updates.
10. If your Android Wi-Fi client still cannot seem to connect, seems very slow all the time, or disconnects frequently, you may be experiencing lower-level wireless problems. Refer to our network troubleshooting tip, steps 10 and 11, for further instructions. To facilitate debugging, you may also want to install a few more free apps. For example:
- Ookla SpeedTest – Handy for measuring slow connections
- Android Wi-Fi Analyzer – View channel, signal/noise, interference, and more
- Android Network Discovery – Try to reach other clients on your own network
Finally, new versions of the Android OS will also support ad hoc (peer to peer) connections and using your Android device as a Wi-Fi hotspot (wireless router). Check back here for future tips that will explain how to configure those new features.
About the author:
Lisa A. Phifer is vice president of Core Competence Inc. She has been involved in the design, implementation and evaluation of data communications, internetworking, security and network management products for more than 20 years and has advised companies large and small regarding security needs, product assessment and the use of emerging technologies and best practices.