[SOLVED] Bluetooth Dongle working...?

Discussion in 'General Discussion' started by HixVAC, Oct 26, 2013.

  1. HixVAC

    HixVAC New Member

    Joined:
    Oct 25, 2013
    Messages:
    13
    Likes Received:
    0
    Anyone get the BT dongle working with Ubuntu? Trying to figure out if I'm failing at life and it's my fault I can't get it workin or if my BT dongle is defective.

    Thanks guys!
     
  2. saidol

    saidol New Member

    Joined:
    Oct 3, 2013
    Messages:
    24
    Likes Received:
    0
    [SOLVED] Re: Bluetooth Dongle working...?

    Hi,
    you can activate BT usb dongle support following next two steps:

    step 1 - install bluez:
        • apt-get update
        • apt-get install bluez

    step 2 - Because of a ubuntu bug in bluez package, it miss startup script.
    So create a new file /etc/init.d/bluetooth and cut&past inside it the following code:

    Code:
    #! /bin/sh
    ### BEGIN INIT INFO
    # Provides: bluetooth
    # Required-Start:    $local_fs $syslog $remote_fs dbus
    # Required-Stop:     $local_fs $syslog $remote_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start bluetooth daemons
    ### END INIT INFO
    #
    # bluez    Bluetooth subsystem starting and stopping
    #
    # originally from bluez's scripts/bluetooth.init
    #
    # Edd Dumbill <ejad@debian.org>
    # LSB 3.0 compilance and enhancements by Filippo Giunchedi <filippo@debian.org>
    #
    # Updated for bluez 4.7 by Mario Limonciello <mario_limonciello@dell.com>
    #
    # Note: older daemons like dund pand hidd are now shipped inside the
    # bluez-compat package
    
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    DESC=bluetooth
    
    DAEMON=/usr/sbin/bluetoothd
    HCIATTACH=/usr/sbin/hciattach
    
    HID2HCI_ENABLED=1
    HID2HCI_UNDO=1
    
    UART_CONF=/etc/bluetooth/uart
    
    RFCOMM_NAME=rfcomm
    RFCOMM=/usr/bin/$RFCOMM_NAME
    RFCOMM_CONF=/etc/bluetooth/$RFCOMM_NAME.conf
    SDPTOOL=/usr/bin/sdptool
    
    SSD_OPTIONS="--oknodo --quiet --exec $DAEMON"
    
    test -f $DAEMON || exit 0
    
    # FIXME: any of the sourced files may fail if/with syntax errors
    test -f /etc/default/bluetooth && . /etc/default/bluetooth
    test -f /etc/default/rcS && . /etc/default/rcS
    
    . /lib/lsb/init-functions
    
    set -e
    
    # FIXME: this function is possibly a no-op
    run_sdptool()
    {
    	# declaring IFS local in this function, removes the need to
    	# save/restore it
    	local IFS o
    
    	test -x $SDPTOOL || return 1
    
    # FIXME: where does SDPTOOL_OPTIONS come from?
    	if ! test -z "$SDPTOOL_OPTIONS" ; then
    		IFS=";"
    		for o in $SDPTOOL_OPTIONS ; do
    			#echo "execing $SDPTOOL $o"
    			IFS=" "
    			if [ "$VERBOSE" != no ]; then
    				$SDPTOOL $o
    			else
    				$SDPTOOL $o >/dev/null 2>&1
    			fi
    		done
    	fi
    }
    
    hci_input()
    {
        log_progress_msg "switching to HID/HCI no longer done in init script, see /usr/share/doc/bluez/NEWS.Debian.gz" || :
    }
    alias enable_hci_input=hci_input
    alias disable_hci_input=hci_input
    
    start_uarts()
    {
    	[ -f $HCIATTACH ] && [ -f $UART_CONF ] || return
    	grep -v '^#' $UART_CONF | while read i; do
                   if [ "$VERBOSE" != no ]; then
                           $HCIATTACH $i
                   else
                           $HCIATTACH $i >/dev/null 2>&1
                   fi
    	done
    }
    
    stop_uarts()
    {
    	killall ${HCIATTACH##*/} >/dev/null 2>&1 || :
    }
    
    start_rfcomm()
    {
    	if [ -x $RFCOMM ] && [ -f $RFCOMM_CONF ] ; then
    		# rfcomm must always succeed for now: users
    		# may not yet have an rfcomm-enabled kernel
                    if [ "$VERBOSE" != no ]; then
    		       log_progress_msg "${RFCOMM##*/}"
    		       $RFCOMM -f $RFCOMM_CONF bind all || :
                    else
    		       $RFCOMM -f $RFCOMM_CONF bind all >/dev/null 2>&1 || :
                    fi
    	fi
    }
    
    stop_rfcomm()
    {
    	if [ -x $RFCOMM ] ; then
                   if [ "$VERBOSE" != no ]; then
    		       log_progress_msg "${RFCOMM##*/}"
    		       $RFCOMM unbind all || :
                   else
    		       $RFCOMM unbind all >/dev/null 2>&1 || :
                   fi
    	fi
    }
    
    restart_rfcomm()
    {
    	if [ -x $RFCOMM ] && [ -f $RFCOMM_CONF ] ; then
                   if [ "$VERBOSE" != no ]; then
    		       log_progress_msg  "${RFCOMM##*/}"
    		       $RFCOMM unbind all || :
    		       $RFCOMM -f $RFCOMM_CONF bind all || :
                   else
    		       $RFCOMM unbind all >/dev/null 2>&1|| :
    		       $RFCOMM -f $RFCOMM_CONF bind all >/dev/null 2>&1 || :
                   fi
    	fi
    }
    
    case $1 in
      start)
    	log_daemon_msg "Starting $DESC"
    
    	if test "$BLUETOOTH_ENABLED" = 0; then
    		log_progress_msg "disabled. see /etc/default/bluetooth"
    		log_end_msg 0
    		exit 0
    	fi
    
    #	start-stop-daemon --start $SSD_OPTIONS 
    	start-stop-daemon --start $SSD_OPTIONS -- -d
    	log_progress_msg "${DAEMON##*/}"
    
    	run_sdptool || :
    
    	start_uarts || :
    
    	if test "$HID2HCI_ENABLED" = 1; then
    		enable_hci_input
    	fi
    	start_rfcomm || :
    
    	if test "$HIDD_ENABLED" = 1 ||
    		test "$PAND_ENABLED" = 1 || test "$DUND_ENABLED" = 1; then
    		log_progress_msg "compatibily daemons not started, see bluez-compat package"
    	fi
    
    	log_end_msg 0
      ;;
      stop)
    	log_daemon_msg "Stopping $DESC"
    	if test "$BLUETOOTH_ENABLED" = 0; then
    		log_progress_msg "disabled."
    		log_end_msg 0
    		exit 0
    	fi
    	stop_rfcomm || :
    	if test "$HID2HCI_UNDO" = 1; then
    		disable_hci_input
    	fi
    	start-stop-daemon --stop $SSD_OPTIONS
    	log_progress_msg "${DAEMON}"
    	stop_uarts || :
    	log_end_msg 0
      ;;
      restart|force-reload)
    	$0 stop
    	sleep 1
    	$0 start
      ;;
      status)
    	status_of_proc "$DAEMON" "$DESC" && exit 0 || exit $?
      ;;
      *)
    	N=/etc/init.d/bluetooth
    	echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
    	exit 1
    	;;
    esac
    
    exit 0
    
    # vim:noet
    Then make it executable:
        • sudo chmod +x /etc/init.d/bluetooth
    and configure it for automatically start at boot:
        • sudo update.rc.d bluetooth defaults
    Reboot and your DT interface will be shown with command:
        • sudo hcitool dev

    N.B I'm quite sure this procedure will solve the problem, so I'm going to change subject in [solved]
     
  3. HixVAC

    HixVAC New Member

    Joined:
    Oct 25, 2013
    Messages:
    13
    Likes Received:
    0
    Ahhh, you are awesome! Thank you, sir!
     
  4. g.cubed

    g.cubed New Member

    Joined:
    Oct 29, 2013
    Messages:
    9
    Likes Received:
    0
    Just wanted to make some minor corrections:

    sudo chmod +x /etc/init.d/bluetooth
    sudo update-rc.d bluetooth defaults
     
  5. saidol

    saidol New Member

    Joined:
    Oct 3, 2013
    Messages:
    24
    Likes Received:
    0
    Thanks g.cubed
     
  6. g.cubed

    g.cubed New Member

    Joined:
    Oct 29, 2013
    Messages:
    9
    Likes Received:
    0
    Thank you saidol!
     
  7. doraess

    doraess New Member

    Joined:
    Nov 1, 2013
    Messages:
    1
    Likes Received:
    0
    I've followed all those steps and noticed that in the latest ubuntu image bluez is correctly installed.
    However, executing
    Code:
    sudo hcitool dev 
    gives me nothing. It seems bluetooth dongle is not enabled or broken.
     
  8. Juwalla

    Juwalla New Member

    Joined:
    Oct 29, 2013
    Messages:
    1
    Likes Received:
    0
    I am a noob to Linux and Ubuntu so I am getting a little frustrated with the permissions for doing things. When I try to save the new file "step 2 above" I am being told that I don't have permission to save it. I cannot find any way to elevate my privilege. Can some one please break it down Barney style for the moron please?
     
  9. juncaofish

    juncaofish New Member

    Joined:
    Aug 8, 2013
    Messages:
    4
    Likes Received:
    0
    After following this instruction, just get nothing for sudo hcitool dev . I can't make bluetooth work for my quad udoo. All settings got disabled in bluetooth configure page for system setting. Any idea?
     
  10. Stéphane Mouton

    Stéphane Mouton UDOOer

    Joined:
    Jul 30, 2016
    Messages:
    2
    Likes Received:
    2
    I've got exactly the same problem. Though bluez is installed and started according to the init script above, hcitool returns nothing.
     
  11. Stéphane Mouton

    Stéphane Mouton UDOOer

    Joined:
    Jul 30, 2016
    Messages:
    2
    Likes Received:
    2
    The following command solved the problem
    sudo hciconfig hci0 reset​
    Hope it may help somebody
     
    Andrea Rovai and waltervl like this.

Share This Page