Linux/Bluez devices can't pair
Symptom: When trying to pair, you are prompted for a PIN on the pairing device, but not on the computer. Pairing subsequently fails.
Problem: You've probably upgraded from an earlier bluez and the hcid.conf file has changed.
Fix: The simplest way to ensure pairing is to edit /etc/bluetooth/hcid.conf and make sure that your security is set to "auto". If you don't have one in the file, make sure you have a "passkey PIN;" line. Like this:
security auto; passkey "1234";
This will ensure that the computer will always send 1234 as the PIN (make sure you enter this on the pairing device).
You can force a pairing by first running:
To get the BDADDR of your phone (the colon separated hex number uniquely identifying your handset - make sure it's discoverable!), and then running:
hcitool cc $BDADDR hcitool auth $BDADDR