Linux/Bluez devices aren't discoverable
Symptom: You've got your Linux/Bluez bluetooth stack up and running, you can see the outside world, but the outside world can't see you on scans.
Problem: The HCI daemon seems to ignore the "iscan enable" line of the config file. Without iscan enabled, bluetooth devices aren't discoverable. On Debian this seems to have been broken for quite a long time.
Fix: Edit the /etc/init.d/bluetooth script and right at the bottom, just above the "exit 0" command, add the line "hciconfig hci0 piscan", like so:
# Enable iscan since it's broken hciconfig hci0 piscan exit 0 # vim:noet
To test this has worked, restart your bluetooth stack (/etc/init.d/bluetooth restart) and then run "hciconfig -a". You should see both PSCAN and ISCAN in the output.