title: No rfcomm connection on raspberry pi, while same setup on desktop works
body: <p>I want to communicate with a python application on my raspberry pi via bluetooth from my android phone (currently using BlueTerm).</p>
  
  <p>I'm trying to get the following 'Hello World' script working on my raspberry pi:</p>
  
  <pre><code>#!/usr/bin/env python
  # -*- coding: utf-8 -*-
  import os
  import pty
  import uuid    
  import bluetooth
  
  def main():
      server_sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
      server_sock.bind(('', bluetooth.PORT_ANY))
      server_sock.listen(1)
  
      port = server_sock.getsockname()[1]
      random_uuid = str(uuid.uuid4())
  
      bluetooth.advertise_service(server_sock,
          'ShellServer',
          service_id=random_uuid,
          service_classes=[random_uuid, bluetooth.SERIAL_PORT_CLASS],
          profiles=[bluetooth.SERIAL_PORT_PROFILE]
      )
  
      print("Waiting for connection on RFCOMM channel {0}".format(port))
  
      while True:
          try:
              client_sock, (client_addr, client_ch) = server_sock.accept()
          except KeyboardInterrupt:
              break
          print("Accepted connection from {0}".format(client_addr))
          client_sock.send("Hello World!")
          client_sock.close()
  
      print('Shutting down the server socket...')
      server_sock.close()
  
  if __name__ == '__main__':
      main()
  </code></pre>
  
  <p>(code based on <a href="https://warroom.securestate.com/index.php/spawning-shells-over-bluetooth/" rel="nofollow">https://warroom.securestate.com/index.php/spawning-shells-over-bluetooth/</a>)</p>
  
  <p>I pair the device following tutorials on the web:</p>
  
  <blockquote>
    <p>pi@raspberrypi ~ $ sudo hciconfig hci0 piscan
        pi@raspberrypi ~ $ sudo bluetooth-agent 1234
        Pincode request for device /org/bluez/2152/hci0/dev_[...]</p>
  </blockquote>
  
  <p>Pairing seems to work (device shows up on 'sudo bluez-test-device list').
  On an other terminal i start the script:</p>
  
  <blockquote>
  <pre><code>pi@raspberrypi /usr/local/bin $ sudo python bluetest.py
  Waiting for connection on RFCOMM channel 1
  </code></pre>
  </blockquote>
  
  <p>and i try to connect using BlueTerm, but this just gives me the message "Unable to connect device". The script itself is silent; server_sock.accept() never returns.</p>
  
  <p>The irritating part is: the exact same setup (same script, same phone, same paring procedure, same bluetooth-adapter) works as expected on my desktop machine (Ubuntu 14.04).</p>
  
  <p>/etc/bluetooth/main.conf and /etc/bluetooth/rfcomm.conf are identical on both machines.</p>
  
  <p>More info on the pi:</p>
  
  <blockquote>
  <pre><code>pi@raspberrypi ~ $ cat /etc/*release
  PRETTY_NAME="Raspbian GNU/Linux 7 (wheezy)"
  NAME="Raspbian GNU/Linux"
  VERSION_ID="7"
  VERSION="7 (wheezy)"
  ID=raspbian
  ID_LIKE=debian
  ANSI_COLOR="1;31"
  HOME_URL="http://www.raspbian.org/"
  SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
  BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
  pi@raspberrypi ~ $ uname -a
  Linux raspberrypi 3.18.11+ #781 PREEMPT Tue Apr 21 18:02:18 BST 2015 armv6l GNU/
  Linux
  pi@raspberrypi ~ $ hcitool --version
  hcitool: unrecognized option '--version'
  hcitool - HCI Tool ver 4.99
  Usage:
   [...]
  
  pi@raspberrypi ~ $ lsusb
  Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
  Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
  Bus 001 Device 004: ID 04d9:1602 Holtek Semiconductor, Inc.
  Bus 001 Device 005: ID 05e3:0606 Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
  Bus 001 Device 006: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
  
  pi@raspberrypi /usr/local/bin $ aptitude versions bluetooth bluez-utils bluez-compat
  Package bluetooth:
  i   4.99-2                                                                                oldstable                                                         500
  
  Package bluez-compat:
  i   4.99-2                                                                                oldstable                                                         500
  
  Package bluez-utils:
  p   4.99-2                                                                                oldstable                                                         500
  
  [...]
  </code></pre>
  </blockquote>
  
  <p>The desktop machine is a pretty standard Ubuntu 14.04.</p>
  
  <p>What could be possible reasons why the script works exactly as expected on the desktop system and not on the pi?</p>
  
  <p>This is the first time i work with bluetooth and rfcomm, and i have run out of ideas how to debug this. I would be very grateful for help.</p>