I got of the phone with a co-worker yesterday and we discussed an issue he had at a customer site. We do this often to kill traffic jam time, this topic stayed in my mind and I decided to look a bit further.
The case was that he was using Citrix XenMobile to manage company owned Apple iPad’s.
Through a device profile he set the preferred WiFi connection and things are fine.
User however take the device home and connect to their home WiFi, there is no way to prevent that for Apple sees that as a right for users to do (Nothing wrong with that).
The next day users come back to the office and the iPad would not connect to the WiFi connection in the profile but would choose the first one it can get it’s hands on.
That’s odd I thought, why would it not reconnect?
How does iOS determine which WiFi to connect to?
The great thing with mobile device and therefor the iPad also, is that they remember the WiFi networks you connected to in the past. So whenever you return to that place you are connected instantly. It saves you from asking the WiFi password from your friends every time you visit them (on the other hand you could put your phone away and talk 😉 ).
It will connect to the connection it was on before, that is great but what if there are two or more connections available and you connected to them all previously? Which one should the iPad choose?
It’s pretty simple, the connection preferences are based on the alphabetic order of the WiFi network. So my home network called “ByMyGuest” which is open is select before “GetOutOfMyNetwork” which is secured.
Okay so if you know this, it’s no wonder that the iPad even though it has a preferred WiFi profile pushed connects to another network. Can we fix this?
MDM WiFi profiles
If we look at MDM solutions we can push a WiFi network, we can not push that it can only connect to that one. Apple doesn’t allow us to do that, Apple is like Microsoft making most devices for the consumer market. Their devices are not meant for Enterprises and therefor the policies to handle them in an Enterprise are not there.
In an Enterprise solution you would be able to disable selection of different WiFi networks within a geographic location, you would be able to disable deletion of apps you pushed to the device. This is all not possible for reasons mentioned before, it’s consumer based.
What can we do to solve this? I get an answer from Jason Lockman about how he solved this and it was something we looked at also yesterday. We didn’t yet test it but I’ll show you what Jason has created and how to set it up.
I do this from Airwatch for I don’t have access right now to a XenMobile environment.
So after logging in I go to Profiles and select list view. All my profiles are listed there.
I select Add and Add Profile.
First you need to select the platform, so I select iOS. A brief overview of configuration settings are shown.
I open the profile and need to enter a name for the profile. I think WiFi selection is appropriate here. In real life this configuration would be part of a bigger profile so you would add this to a existing profile instead of a new one.
From the left menu options you seleft WiFi and click configure (did that already).
You need to set the SSID and security settings and so on. Pretty basic stuff we’ve all seen before in our professional life.
So the first one I’m configuring is the guest network. I’m leaving out all the security details for they are not important in this case. The important thing here is to make sure you don’t mark “Auto-join” for that would make your iPad auto connect to the network.
Just create this profile so that you ensure the profile is there and the auto-join is not marked.
Next you click on the + button (sure every MDM has a function like this, find you +).
With this you open a new WiFi configuration page to create another profile.
The second page is there and we will create another WiFi profile. This time it is our preferred network. Again I’m leaving all security settings out it’s just the configuration itself that matters.
Now you need to make sure that auto-join is marked.
What do we have at this point?
We have two WiFi connections pushed to the device, the open one and the preferred one. If the user will go home and return the other day the iPad is configured to select the preferred one for that one has the mark set to auto-join. I won’t go searching.
It will not do this at once, you need to switch of WiFi or leave the building to make it happen. It needs to wake up and see the connections before it understands which one to connect to.
Is there a failure option? yeah sure we call the user actions.. if the user goes and select the wrong WiFi it will connect to that one..
That’s another non-Enterprise feature of iPad’s that Apple should allow us to manage. Within geographical boundaries users should not be allowed to change these things.
Anyway, hopefully this will help you when you get the questions from customers or your boss.