MDM: Configuring WLANProfile with a specific Wi-Fi network type returns error 500 on Windows phone 8.1

I recently helped a customer configure a Wi-Fi profile through MDM. The issue that they were running into was that the <WLANProfile>…</WLANProfile> was working fine on some phones and not on others. The working and failing phones had the same version of the operating system so it was quite tricky to understand why the payload was working on certain Phones but failing on others. As an example, the below WLANProfile works just fine on the Nokia 920, but it fails on the Nokia 635 and both have the latest updates for Windows Phone 8.1 operating system.

 

 <WLANProfile xmlns="https://www.microsoft.com/networking/WLAN/profile/v1">
   <name>YourSSID</name>
   <SSIDConfig>
     <SSID>
       <name>YourSSID</name>
     </SSID>
     <nonBroadcast>false</nonBroadcast>
   </SSIDConfig>
   <connectionType>ESS</connectionType>
   <connectionMode>auto</connectionMode>
   <autoSwitch>false</autoSwitch>
   <MSM>
     <connectivity>
     </connectivity>
     <security>
       <authEncryption>
         <authentication>open</authentication>
         <encryption>none</encryption>
         <useOneX>false</useOneX>
       </authEncryption>
     </security>
   </MSM>
 </WLANProfile>

 

It turns out that the root cause of the issue lies in the “actual” Wi-Fi network types that the Phone actually supports. We found out from the technical specifications of the Nokia 635: https://www.microsoft.com/en/mobile/phone/lumia635/specifications/, that the device only supports the following Wi-Fi network types: WLAN IEEE 802.11 b/g/n. Since the payload above was trying to configure the “a” network type using the phyType attribute, the WLANProfile configuration fails. However, the same payload works fine on the Nokia 920, because as per the technical specifications of the Nokia 920: https://www.microsoft.com/en/mobile/phone/lumia920/specifications/, the device supports all the Wi-Fi network types: WLAN IEEE 802.11 a/b/g/n.

If you ever run into this scenario, please ensure that you are trying to configure the Wi-Fi network types that the device actually supports, otherwise you will see an error: 500,  when trying to add the profile to the Phone.

Adding the <phyType>…</phyType> is not a requirement. If you do not add the specific type of the network, the Phone will automatically choose the best network type to communicate over.

Don’t forget to follow the Windows Store Developer Solutions team on Twitter @wsdevsol. Comments are welcome, both below and on twitter.

- Prashant H Phadke