Mon May 16th 2016 15:24:00: Solved! Blackberry Passport - Proximity and Light Sensors 'unavailable'
I've had my Blackberry Passport for over a year now and when it was a few months old I became aware of it was intermittently being a bit odd - it would take ages to wake up when I pressed the power button, it would turn the screen brightness up to maximum (even in the dark), it would not turn on the keyboard backlight in the dark and I would keep pressing buttons with my ear during phone calls. Eventually (with the help of the BBVE handset testing app) I discovered this was because the proximity and light sensors were not working.
I hoped it was a software issue, however the 10.3 software update did not fix it. Therefore I returned the phone under warranty. A few weeks later it came back all fixed.
However last month I had a little incident with a concrete floor and smashed the screen. Therefore I purchased a new screen from Hong Kong and fitted it myself (thus voiding the warranty). After that everything still worked perfectly and I'd learnt a lot about taking the phone apart.
On Saturday I took the phone mountain biking for the first time in a long time. I was a very rough ride with some fast rocky descents and when I got back I discovered that the sensor issue was back! Therefore I am now convinced the sensor issue is caused by vibration.
I took the phone apart again last night and found the sensors in question are connected to the main circuit board with some spring loaded connections. Initially I thought it might be because the screws holding the PCB down were not tight, however that did not solve the problem.
Therefore a few days later I took it apart again (remove the back cover) and noticed that the main PCB was "wonky" as it is not constrained perfectly and can move by a fraction of a mm. Therefore I slightly loosened off all the screws that hold it down and moved it until the screw hole in the middle at the top was lined up with the thread below. I tightened up the screws and reassembled and so far this seems have solved the problem.
Please let me know in the comments below if that fixes the problem for you!