<> ## Please remove old information and update for supported versions of Ubuntu. ||<>|| = Introduction = [[http://en.wikipedia.org/wiki/Bluetooth|Bluetooth]] is a widely supported local area communications technology for communications with cellphones, headsets, keyboards, mice, PDAs, and storage devices. See also BluetoothRemoteControl and BluetoothAudio on Ubuntu. = Requirements = For a desktop or laptop without Bluetooth support use a Bluetooth dongle that connects through USB. While adapters can be found all over the web some do not work well with free software systems. The free software foundation recommends users purchase hardware with free drivers. Most cards are not clearly marked. [[http://www.thinkpenguin.com/ |ThinkPenguin.com]] is an exception and explicitly provide support for Ubuntu and other distributions. Alternatively users can investigate free software compatible bluetooth chipsets and try to locate a card based on this information. For Dell laptops install the latest drivers from Dell's website in '''Windows''' in order for the bluetooth module to work in Linux. (Required for D430 with Gutsy / Hardy and D830 and D630) (http://ubuntuforums.org/showthread.php?t=572335 https://wiki.ubuntu.com/LaptopTestingTeam/DellLatitudeD430#bluetooth) For Dell laptops with a Dell Wireless 355 Bluetooth card where the card is turned off, reenable the card before installation. Go to [[http://support.euro.dell.com/support/topics/global.aspx/support/dsn/en/document?docid=2D785CBB1BBFF5F1E040A68F5B282502|a utility]] in Windows to turn it on before you can reinstall the driver. If you turn the card off in Windows reenable the card so Ubuntu can recognize it. = Installation and Configuration = == Ubuntu 10.04 Install via the command line == {{{ sudo apt-get install bluez python-gobject python-dbus }}} python-gobject and python-dbus are needed for the python scripts in /usr/share/doc/bluez/examples/ to work. {{{ cd /usr/share/doc/bluez/examples/ }}} Here are the scripts located. Discover the hciX location of the dongle with: {{{ hcitool dev }}} {{{ Devices: hci0 00:11:95:00:1A:CF }}} {i} ''Your Bluetooth device will have a different id.'' {{{ sudo ./simple-agent hci0 XX:XX:XX:XX:XX:XX }}} XX:XX:XX:XX:XX:XX is the MAC or BT ADD or BlueTooth Address of the bt device. Press the reset or pair button on your keyboard, simple-agent will ask to specify a pin like 1111, then type that pin on the bt keyboard and your bt keyboard is paired. {{{ sudo ./test-device trusted XX:XX:XX:XX:XX:XX yes }}} To set the device as trusted {{{ #sudo /etc/init.d/bluetooth restart }}} To restart the bluetooth daemon. Check if the device is added: {{{ dmesg|tail }}} The last lines will list your device. == Ubuntu 11.04 Install via the command line == {{{ sudo apt-get install bluez python-gobject python-dbus }}} python-gobject and python-dbus are needed for the python scripts bluez-simple-agent and bluez-test-device to work. Discover the hciX location of the dongle with: {{{ hcitool dev }}} {{{ Devices: hci0 00:11:95:00:1A:CF }}} {i} ''Your Bluetooth device will have a different id.'' {{{ sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX }}} XX:XX:XX:XX:XX:XX is the MAC or BT ADD or BlueTooth Address of the bt device. Press the reset or pair button on your keyboard, simple-agent will ask to specify a pin like 1111, then type that pin on the bt keyboard and your bt keyboard is paired. {{{ sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX yes }}} To set the device as trusted {{{ sudo /etc/init.d/bluetooth restart }}} To restart the bluetooth daemon. Check if the device is added: {{{ dmesg|tail }}} The last lines will list your device. Found the method for 10.04 and 11.04 here: http://www.spinics.net/lists/linux-bluetooth/msg13445.html Additionally, according to this thread (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=27&t=6838), it may be necessary, after authenticating your keyboard, to run {{{ sudo bluez-test-input connect XX:XX:XX:XX:XX:XX }}} to actually get the Bluetooth device to connect to the computer (I had to do this when using a Logitech Dinovo Edge with a generic Bluetooth adapter). After this, set the device to be trusted as above, and the connection ''should'' persist upon reboot. == Older documentation: == '''Before you begin''' open up the terminal and type the following: {{{ sudo apt-get install bluez && sudo apt-get install bluez-utils }}} Restart the bluetooth server to ensure your pc can communicate with a bluetooth device {{{ sudo /etc/init.d/bluetooth restart }}} By default the BlueTooth notification icon appears, although the service may not. If the service is not running try the service command, otherwise you can now connect. '''For jaunty (9:04) and above '''verify you have a supported adapter connected. When the icon appears, right click and configure your preferences. Devices should auto connect to your PC where you configure your security options. To configure mail for your phone, install the {{{gnome-bluetooth}}} package so the system finds it in the accessories menu. Send a file by right clicking the file and selecting Send-to. To automate, select System --> Preferences --> Sessions. Add a Startup program. For example you can name it, "Bluetooth File Transfer" and in the Command box, enter "gnome-obex-server". Click OK. == Manual Discovery == Open a terminal window and install the required packages with their dependencies: {{{ sudo apt-get install bluez-utils }}} Connect your Bluetooth device and restart the Bluetooth services: {{{ sudo /etc/init.d/bluez-utils restart }}} Verify your Bluetooth device is detected along with the appropriate modules. View the lsusb (in case of usb device) output: lsusb output: {{{ Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) }}} Review the output of '''hcitool dev''' for all your system's Bluetooth devices. {{attachment:IconsPage/example.png}} '''hcitool dev''' output: {{{ Devices: hci0 00:11:95:00:1A:CF }}} {i} ''Your Bluetooth device will have a different id.'' If the id is all zeros, restart the bluez-utils service and retry. = Setup Devices = == Find Device Addresses == Locate the device address, make the device discoverable (a "Connect" button for keyboards and mice or check the manual) and search for the device by the following: {{{ sudo hidd --search (If that command doesn't work, try the following:) hcitool scan }}} Each device's address has the aa:bb:cc:dd:ee:ff format. Hint: If no devices are shown for Edgy Eft (6.10), try the following: {{{ sudo hciconfig hci0 inqmode 0 }}} See bug [[https://launchpad.net/ubuntu/+source/gnome-bluetooth/+bug/70718|#70718]]. If this helps, you may add the hciconfig command (without "sudo") to your /etc/rc.local file for a permanent workaround. == Connect Devices for Current Session Only == For a temporary connection, use the address of the device 'aa:bb:cc:dd:ee:ff' {{{ sudo hidd --connect aa:bb:cc:dd:ee:ff }}} You can now connect. For a {{{"Can't create HID control channel: Connection refused"}}} error, the discovery period timed out. Try again but enter the command more quickly. == Connect Devices at Startup == To connect automatically, edit the configuration file: {{{ sudo cp /etc/default/bluetooth /etc/default/bluetooth_backup sudo nano /etc/default/bluetooth }}} Locate line: {{{ HIDD_ENABLED=0 }}} Change it to: {{{ HIDD_ENABLED=1 }}} Look in the same file for a line close to: {{{ HIDD_OPTIONS="--master --server" }}} {i} Leave the "--master" command or remove it, it depends on the device. If you have problems with "--master", remove it or vice versa. Add additional "--connect" arguments for the device you want to connect to at startup: {{{ HIDD_OPTIONS="--connect aa:bb:cc:dd:ee:ff --connect aa:bb:cc:dd:ee:ff --connect aa:bb:cc:dd:ee:ff --server" }}} Save and add HIDP to /etc/modules: {{{ echo hidp | sudo tee -a /etc/modules }}} Your Bluetooth devices should now connect at startup. == Using Devices as Modems == Refer to page BluetoothDialup == Using audio devices == * Refer to page BluetoothAudio * For Bluetooth Headsets specifically refer to [[BluetoothHeadset]] = Troubleshooting = == "obex://[xx:xx:xx:xx:xx:xx]" is not a valid location. == If you receive this error in Gutsy enter the following: {{{ sudo apt-get install gnome-vfs-obexftp }}} Although this gives "Couldn't display "obex://[xx:xx:xx:xx:xx:xx]"." for some. In this case try: {{{ sudo hciconfig hci0 auth }}} See [[http://ubuntuforums.org/showthread.php?t=580347|this forum thread]] for information. == hcitool scan/dev/inq '''Connection timed out''' Error == Reset the adapter: {{{ sudo hciconfig hci0 reset }}} The hcitool options can now connect and if often required despite an automatic connection setup. = Comments = bluez-gnome Reboot after you install bluez packages even if your dongle is recognized after installation. 2/8/2009 bluez-gnome bug: https://bugs.launchpad.net/ubuntu/+source/bluez-gnome/+bug/285007 Forum page: http://ubuntuforums.org/showthread.php?p=6438656#post6438656 ---- CategoryBluetooth CategoryNetworking