Bluetooth Low Energy (BLE) on Raspberry Pi with Asus BT-400

I recently bought a Bluetooth Low Energy (BLE) USB Dongle thats compatible with Raspberry Pi.  It a Asus BT-400 and had problems to make it work. AMAZON ASUS BT-400

So here is my solution.

sudo apt-get install bluetooth bluez-utils blueman

This will install all necessary software. Than type..

lsusb

The result will be something like this:
Bus 001 Device 001: ID 0000:0000 Vendor Desc.
Now you have to find the correct device. When you found it, copy the ID without colon and write it into the /sys/bus/usb/drivers/btusb/new_id. In my case it was like:

echo “0b05 17cb” >> /sys/bus/usb/drivers/btusb/new_id

or (by the way don’t copy it, write it by yourself)

echo “0b05 17cb” > /sys/bus/usb/drivers/btusb/new_id

Now we will use a tool called modprobe which allows us to load modules on our running system.

modprobe -v btusb

Almost done! Just edit the config with nano  (save= crtl+o ; quit= crtl+c)…

nano /etc/default/bluetooth

… and copy the few lines below

HID2HCI_ENABLED=0
HID2HCI_UNDO=0
HIDD_ENABLED=1

Restart bluetooth and you are ready to go!

sudo invoke-rc.d bluetooth restart

Posted on February 26, 2014, in Uncategorized. Bookmark the permalink. 22 Comments.

  1. Hey, I’m currently struggling to get this working (using it for a PS3 BD Remote control to use in Ubuntu 12.04 running XBMC). You’re solution has worked great so far, but it appears as though I have to repeat this process everytime I reboot. I’m wondering if by chance you would know how to make it automatically run at boot? I tried adding it to /etc/rc.local without any luck…

  2. Hey – I’m hoping you can help – I bought one of these dongles after reading they were compatible with the pi, but appears they need a bit of work. I found your guide and “lusb” works. I get
    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 0b05:17cb ASUSTek Computer, Inc.

    but when i type echo “0b05 17cb” >> /sys/bus/usb/drivers/btusb/new_id

    I get a -bash: /sys/bus/usb/drivers/btusb/new_id: No such file or directory

    Looks like there is no /btusb directory. I can’t seem to create one… any suggestions? Many thanks,

  3. Hello.When i type in :
    echo “0b05 17cb” >> /sys/bus/usb/drivers/btusb/new_id
    i get:
    -bash: /sys/bus/usb/drivers/btusb/new_id: Permission denied
    Any ideea why?

  4. Actually the command i used is:
    sudo echo “0b05 17cb” >> /sys/bus/usb/drivers/btusb/new_id

    • Try sudo -i and than the echo command seperatly. It will give u super user power 😉 till the terminal is closed.

      • I tried your suggestion and I am not getting an Invalid argument when I try to copy the ID over

        root@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 046d:c52b Logitech, Inc. Unifying Receiver
        Bus 001 Device 005: ID 0b05:17cb ASUSTek Computer, Inc.
        root@raspberrypi:~# echo “0b05 17cb” >> /sys/bus/usb/drivers/btusb/new_id
        -bash: echo: write error: Invalid argument

      • milnosaurus, I see the problem… so the quotation marks look wrong i guess thats because of the italic font i used in the blogpost. “0b05 17cb” -> “0b05 17cb”

        Next: There is a double arrow >> thats also wrong it should be just one >.

        like this:
        echo “0b05 17cb” > /sys/bus/usb/drivers/btusb/new_id

    • Did you ever resolve this? I have the exact same problem and nothing seems to work

  5. log with root and use the command with >> (append), unless you want to destoy the content of the file (create new). echo ‘0b05 17cb’ >> /sys/bus/usb/drivers/btusb/new_id

  6. i did the exact steps above and when i put in the echo “0b0517cb” > /sys/bus/usb/drivers/btusb/new_id i got permission denied. same as when i tried sudo in front

  7. IwasStuck_NowImNot

    hey man just wanted to say thank you for posting this. It is thanks to your kindness that guys like me who were stuck are now able to get bluetooth finally working on the raspberry pi.

    ps: cool website – keep up the good work

  8. this is bullshit – for the layman – I am dumb – but you could spell it out a bit more – so i can actually do it – and make it somewhat helpful – thanks 😉

  9. Hi I hope you can Help I have tried every thing you have listed above and in the comments.
    when I get to sudo invoke-rc.d bluetooth restart
    I get bluetooth rfcomm compatibility daemons not started, see bluez-compat package
    I have rebooted and when i /etc/init.d/bluetooth status it says bluetooth is not running failed
    I have tried several restarts I even when as far as sudo apt-get autoremove –purge bluetooth bluez-utils and reinstalled
    I also tested the asus bt400 on a windows machine and it appears to work there.

  10. Hi,
    in Raspbian jessie I had to install “firmware-linux-nonfree” package because I got errors in /var/log/messages:
    ——-
    usbcore: registered new interface driver btusb
    Bluetooth: hci0: BCM: chip id 63
    Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
    bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0b05-17cb.hcd failed with error -2
    Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0b05-17cb.hcd not found
    ——-

Leave a reply to elliesblog2014 Cancel reply