Wednesday, April 22, 2015

Solving A Common Problem With Chromebook Smart Lock

I have a Toshiba Chromebook 2, and when I saw the new Smart Lock feature I really wanted to try it out.  Basically Smart Lock allows the Chromebook to be automatically unlocked when it is within Bluetooth range of an Android phone.  Android phones themselves have a similar feature that can be activated by proximity to a Bluetooth device, within a particular geographic location, etc.  I was therefore a little bummed to find that I couldn't use Smart Lock because my phone, a Samsung Galxy Note 3 on Verizon, was still on Android version 4.x - Chromebook's Smart Lock only works with phones running Android 5.x (code named Lollipop).

A couple of weeks ago Verizon finally pushed out the Lollipop update for the Note 3, so naturally I immediately tried setting up Smart Lock...and it didn't work.  The procedure goes like this:

You need an Android phone running Lollipop (duh).  The phone and the Chromebook both have to be registered to the same Google account.  They have to be within Bluetooth range of one another.  And they both have to be connected to the Internet.

When you activate the feature (by going into the Chromebook's settings - advanced section and clicking the setup button for Smart Lock) the first thing that happens is the Chromebook locks itself, requiring you to supply your password.  Then a dialog box comes up with some notes about what you're doing and a button to "Find your phone."  And this is where the problem showed up - each time I clicked it, the setup tool reported that it could not find my phone.

Browsing around online I found people suggesting that you need to pair your Chromebook and phone prior to setting up Smart Lock (the Google instructions do not say this).  It didn't work.  Some folks suggested you have to turn on Smart Lock on the phone itself (also not according to Google).  That didn't help either.

I opened a support ticket with Google, and the first thing they suggested was that because I was running on the Chromebook beta channel, they couldn't help, and that I would have to switch to stable (necessitating a powerwash).  When that didn't help, they suggested a "hard reset" on the Chromebook (pressing the refresh and power keys at the same time) and a reboot of the phone - still no joy.  After that the support person didn't have anything new to offer.

As I continued searching for a solution I found a number of people who claimed to have had the problem and to have solved it by wiping their phones - doing a factory reset.  This seemed a little extreme but it began to suggest a solution.  Finally I found some information that it might have something to do with how the phone is registered with Google, specifically with "Google Play."

Basically, when you first set up an Android phone with Google, it reports itself to Google, and the information is used with Google Play services to show you only those apps which will work with your device.  But somehow the process of getting a phone upgraded to Android 5.x doesn't update the information they have stored about it.

The reason this matters is that when you click "Find your phone" during the Chromebook Smart Lock procedure, it isn't looking for your phone via Bluetooth - it is checking with Google Play to see if you have a phone registered running Lollipop.  Those folks wiping and reloading their phones were basically forcing the phones to re-register themselves with Google Play services.

It turns out there is an easier way to do this.  What you need to do is to force Google Play Services on your phone to update itself.  The way to do this is to essentially uninstall Google Play Services on the phone, and reinstall it.  On most phones, the way to do this is to go into the settings for the phone, then the Applications area where you can see all applications running on the phone.  Tapping on Google Play Services will bring you to a screen where you can uninstall it.  Note that on most phones you are not completely uninstalling Google Play Services, but rather uninstalling all the updates it has received.  You can also do a "force stop" on it.  After doing this, Google Play Services should update itself on the phone.  And when it does, it will register with Google Play the fact that you are running Lollipop.

Once this is done the Chromebook should be able to find the phone.  It worked for me, it has worked for others, and I hope it will work for you.

UPDATE: I forgot to mention that when I went to "uninstall" Google Play Services, at first I couldn't because the buttons were greyed out.  This was because I had tried to set up Smart Lock on the phone itself, and the phone was now using the services.  To turn it off, I had to go into Settings - Security - Trust Agents and disable Smart Lock on the phone there.  Once I did that I was able to proceed with uninstalling.