Musings

drk’s Electronic Music Blog

Beware of iOS ad-hoc Wi-Fi startup delay!


Ad-hoc Wi-Fi networks are a staple of some music production studios, and are essential in a performance environment should you dare to use wireless on stage. One of the most common uses is to form a kind of mini-dedicated wireless link between an iPad or iPhone and computer so that you can use some type of control surface app. Ad-hoc connects usually provide lower latency and a more robust connection. So what's not to like? They can be slow to get going, and iOS does not provide a clear indication when it has truly connected.

What? Doesn't iOS show a check mark next to the network name when you select it? Doesn't that mean it's connected and good to go?

Unfortunately, no. And in there lies an opportunity for confusion, getting stuck in a loop trying to get a connection started but stopping and starting over, and cursing some innocent app of not working properly.

Before iOS 6 this was not a problem. The iDevice's Wi-Fi status in the upper left corner showed you when you were connected, and when you were not. This worked for "normal" Wi-Fi networks and ad-hoc ones. So it was easy to know when you had a connection. You watched the Wi-Fi status.

iOS 6 changed that. Apple decided that the Wi-Fi icon should only be displayed for "real" Wi-Fi networks, you know the kind you can get to the Internet. For ad-hoc networks you had to either guess, or hang around in the iOS Settings app watching for the right signs. But even that is not without its challenges.

So why is this important? Establishing a full, ready-to-use ad-hoc Wi-Fi connection takes time. Delays of 30 seconds are common, and can be even longer under some circumstances. Certainly long enough that by the time you leave Settings, start your app, and try to use it with the connection, the connection might not yet be valid. And without any visual indication, you may decide that something is wrong with the app, restart it, or worse, toggle Wi-Fi off then back on to start over.

So to save your sanity it's probably a good idea to monitor the connection to make sure it is ready to use.

The only sure-fire way to know is to monitor the IP address assigned by iOS to the ad-hoc connection. When you are in the Wi-Fi section of the Settings app, you can tap on the "info icon" at the right of the selected ad-hoc network to view the techie details of the connection. When you first start the connection process, the IP Address entry is blank. When that shows a value (it starts with 169.254.) then you know the connection is good. Until then it's not ready for use.

But there is a catch: the value does not update while you watch. Yep, somehow the developer missed that detail. So you can't sit there watching. You have to go back to the main Wi-Fi page and then tap the "info icon" again to refresh the screen.

Unless you enjoy giving your finger tapping exercise I advise that you just check once every five seconds or so. Or if you are the patient type just wait about 30 seconds then check.