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.
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…
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,
weird… try sudo apt-get install firmware-atheros
Same problem for me with raspbian 3.1 , btusb doesn’t exist and firmware-atheros already installed…
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?
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
If this http://pastebin.com/YqE1yEqe does not work… can you see “btusb” after entering ls /sys/bus/usb/drivers/ ?
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
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
Did you ever resolve this? I have the exact same problem and nothing seems to work!
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
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 😉
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.
Mh.. you could try to install bluez by hand. Therefor you have to download bluez here: http://www.bluez.org/download/. First remove the version that was installed by the package manager.
1. download + unzip
2. ./configure –disable-systemd –enable-library
3. make
4. sudo make install
If you use the “jessie” image it might be that that invoke-rc.d command does not work since they change the way how they manage services. I don’t know much details about this but maybe this information helps you.
I did a clean install and followed this tutorial to get my BT400 working http://www.modmypi.com/blog/installing-the-raspberry-pi-nano-bluetooth-dongle
cool ! 🙂
It might be that for some of you this won’t work out without the
sudo echo “0b05 17cb” > /sys/bus/usb/drivers/btusb/new_id
command. Since this makes the BT400 recognisable to the Raspberry Pi.
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
——-
I have this issue, but installing that package didn’t help.
Are you sure it’s that package?