Host OS Support for Bluetooth Devices


Recommended Posts

On 9/9/2020 at 4:31 AM, David Puziol Prata said:

 

I have the same problem. Have you found a solution? I was reading about fake CSR and that it was necessary to recompile the Linux source code module. I can't give an UP on hci0 and it just stays on DOWN with the error Can't init device hci0: Operation not supported (95)

Didn't found any solution, gave up :)

Link to comment
  • 1 month later...

Hi

 

Same problem here :( With CSR dongle Bluetooth, Impossible to turn up the hci

root@OCTOPUS:/# hciconfig        
hci0:   Type: Primary  Bus: USB
        BD Address: XX:XX:XX:XX:XX:XX  ACL MTU: 679:9  SCO MTU: 48:16
        DOWN 
        RX bytes:87248 acl:0 sco:0 events:4560 errors:0
        TX bytes:55566 acl:0 sco:0 commands:4560 errors:37
root@OCTOPUS:/# hciconfig hci0 up
Can't init device hci0: Operation not supported (95)

I was happy to use unraid with docker containers to my domotics....

Impossible without the bluetooth integration.

 

Any solution on this topic?

 

Edited by softdrinker
Link to comment

Can we have this firmware also? Asus USB-BT400 Mini Bluetooth Dongle 4.0 LE. Seems to be most common nowdays that supports LE.

 

Nov 17 08:43:24 HPMicroServer10 kernel: usb 2-4: new full-speed USB device number 6 using xhci_hcd
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: Core ver 2.22
Nov 17 08:43:24 HPMicroServer10 kernel: NET: Registered protocol family 31
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: HCI device and connection manager initialized
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: HCI socket layer initialized
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: L2CAP socket layer initialized
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: SCO socket layer initialized
Nov 17 08:43:24 HPMicroServer10 kernel: usbcore: registered new interface driver btusb
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: hci0: BCM: chip id 63
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: hci0: BCM: features 0x07
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: hci0: BCM20702A
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
Nov 17 08:43:24 HPMicroServer10 kernel: bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0b05-17cb.hcd failed with error -2
Nov 17 08:43:24 HPMicroServer10 kernel: Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0b05-17cb.hcd not found

Link to comment
  • 1 month later...
On 5/29/2020 at 5:24 AM, dedi said:

I have a CSR Bluetooth dongle (Cambridge Silicon Radio Bluetooth Dongle) that I want to pass trough to a Home Assistant VM, I can select it in the VM config but hassos does not find the device there,
Is that because firmware for CSR BT dongles are missing?

 

On 9/9/2020 at 4:31 AM, David Puziol Prata said:

 

I have the same problem. Have you found a solution? I was reading about fake CSR and that it was necessary to recompile the Linux source code module. I can't give an UP on hci0 and it just stays on DOWN with the error Can't init device hci0: Operation not supported (95)

The problem is hassio, it doesn't support bluetooh usb stick, the only bluetooth that supports is the on in raspberry pi.

Link to comment
  • 3 weeks later...
On 1/2/2021 at 11:45 AM, L0rdRaiden said:

@limetech

 

Hello, could you please add the firmware of this Bluetooth chip

https://linuxreviews.org/Realtek_RTL8761B

https://aur.archlinux.org/packages/rtl8761b-fw/

It is probably the most (if not the only one) bluetooth chip used in usb dongles that supports bluetooth 5.0

@limetech

 

Could you please include this binary? Is the most common chip for usb dongles with bluetooth 5

 

Jan 22 13:28:51 Unraid kernel: usbcore: registered new interface driver btusb
Jan 22 13:28:51 Unraid kernel: Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
Jan 22 13:28:51 Unraid kernel: Bluetooth: hci0: RTL: rom_version status=0 version=1
Jan 22 13:28:51 Unraid kernel: Bluetooth: hci0: RTL: loading rtl_bt/rtl8761b_fw.bin
Jan 22 13:28:51 Unraid kernel: bluetooth hci0: Direct firmware load for rtl_bt/rtl8761b_fw.bin failed with error -2

Jan 22 13:28:51 Unraid kernel: Bluetooth: hci0: RTL: firmware file rtl_bt/rtl8761b_fw.bin not found

 

Edited by L0rdRaiden
Link to comment
4 hours ago, L0rdRaiden said:

@limetech

 

Could you please include this binary? Is the most common chip for usb dongles with bluetooth 5

 

Jan 22 13:28:51 Unraid kernel: usbcore: registered new interface driver btusb
Jan 22 13:28:51 Unraid kernel: Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
Jan 22 13:28:51 Unraid kernel: Bluetooth: hci0: RTL: rom_version status=0 version=1
Jan 22 13:28:51 Unraid kernel: Bluetooth: hci0: RTL: loading rtl_bt/rtl8761b_fw.bin
Jan 22 13:28:51 Unraid kernel: bluetooth hci0: Direct firmware load for rtl_bt/rtl8761b_fw.bin failed with error -2

Jan 22 13:28:51 Unraid kernel: Bluetooth: hci0: RTL: firmware file rtl_bt/rtl8761b_fw.bin not found

 

What products (dongle manufacturers) use this chip?

Link to comment
  • 4 months later...

Any chance to get it running?

 

LOG:

Jun 5 04:35:06  kernel: Bluetooth: hci0: Reading Intel version information failed (-22)

Jun 5 04:35:06  kernel: Bluetooth: hci0: Intel Read version failed (-22)

Jun 5 04:35:06  kernel: Bluetooth: hci0: Intel reset sent to retry FW download

 

I use a new Intel Z590 mainboard with an Intel -5 11400 CPU.

 

 

Link to comment
  • 1 month later...

root@THEPUGET:~# hciconfig -a
hci0:    Type: Primary  Bus: USB
    BD Address: 0C:54:15:69:86:64  ACL MTU: 1021:4  SCO MTU: 96:6
    DOWN 
    RX bytes:14992 acl:0 sco:0 events:2420 errors:0
    TX bytes:595696 acl:0 sco:0 commands:2418 errors:0
    Features: 0xff 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
    Link policy: RSWITCH HOLD SNIFF 
    Link mode: SLAVE ACCEPT 
 

 

Under Tools --> System Devices --> I can't seem to find this bluetooth for my guest VM device passthrough.  I've inspected every IOMMU group but nothing comes close to the above. Is my motherboard bluetooth not supported in unraid 6.9.2?

 

https://www.gigabyte.com/Motherboard/X299-DESIGNARE-EX-rev-10/sp#sp

Link to comment
  • 5 weeks later...
  • 3 weeks later...
  • 3 months later...
On 9/16/2021 at 9:51 PM, Kuijibo said:

Did anyone make progress on this? I bought a long-range Bluetooth dongle and can't get it to work. I have the same issue as @L0rdRaiden.

 

I haven't solve it yet, it would be nice to have some official support for bluetooth devices

 

@limetech

 

I guess the solution is here, but even if it works, the driver will disappear after a reboot

https://linuxreviews.org/Realtek_RTL8761B

 

There is already a folder for realtek devices, just need to add the new files

imagen.png.bdd25a72971b6ef85167c5f507f5cd57.png

https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_config

https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_fw

Download and rename to *.bin

Edited by L0rdRaiden
Link to comment
  • 2 weeks later...

That worked, I adde the below to my /boot/config/go:

 

sudo curl -L https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_config -o /tmp/rtl8761bu_config.bin
sudo mv /tmp/rtl8761bu_config.bin /lib/firmware/rtl_bt/rtl8761bu_config.bin
sudo curl -L https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_fw -o /tmp/rtl8761bu_fw.bin
sudo mv /tmp/rtl8761bu_fw.bin /lib/firmware/rtl_bt/rtl8761bu_fw.bin

 

However, I have to manually unplug and plug-in the usb dongle so the module reloads. Any way to do this programmatically?

 

Also, where does the device appear? Trying to pass this through to a Home Assistant container, but can't find it!

Edited by ensnare
  • Thanks 4
Link to comment
45 minutes ago, ensnare said:

That worked, I adde the below to my /boot/config/go:

 

sudo curl -L https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_config -o /tmp/rtl8761bu_config.bin
sudo mv /tmp/rtl8761bu_config.bin /lib/firmware/rtl_bt/rtl8761bu_config.bin
sudo curl -L https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_fw -o /tmp/rtl8761bu_fw.bin
sudo mv /tmp/rtl8761bu_fw.bin /lib/firmware/rtl_bt/rtl8761bu_fw.bin

 

However, I have to manually unplug and plug-in the usb dongle so the module reloads. Any way to do this programmatically?

 

Also, where does the device appear? Trying to pass this through to a Home Assistant container, but can't find it!

 

You can run this to see the status of the device "dmesg | grep -i blue"

You can run this to see the tty and do the passthrough in the container "ls -ltr /dev/tty*|tail -n 1"

Both in the unraid command line console

 

Then you create the passthrough in HA container like this.

imagen.thumb.png.7c152824a2481d046c774b919b103a3d.png

 

 

I tried to make it work but I couldn't for some reason the integrations in Home Assistant that uses the bluetooth gave me errors.

If you manage to make it work, please, please, post the solution here. Thanks :)

 

Edited by L0rdRaiden
Link to comment
55 minutes ago, ensnare said:

That worked, I adde the below to my /boot/config/go:

 

sudo curl -L https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_config -o /tmp/rtl8761bu_config.bin
sudo mv /tmp/rtl8761bu_config.bin /lib/firmware/rtl_bt/rtl8761bu_config.bin
sudo curl -L https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_fw -o /tmp/rtl8761bu_fw.bin
sudo mv /tmp/rtl8761bu_fw.bin /lib/firmware/rtl_bt/rtl8761bu_fw.bin

 

However, I have to manually unplug and plug-in the usb dongle so the module reloads. Any way to do this programmatically?

 

Also, where does the device appear? Trying to pass this through to a Home Assistant container, but can't find it!

I think your script is wrong, why do you rename from rtl8761b_config  to rtl8761bu_config.bin  ?

Link to comment
  • 3 weeks later...
  • 4 months later...
On 1/7/2022 at 2:33 PM, ensnare said:

That worked, I adde the below to my /boot/config/go:

 

sudo curl -L https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_config -o /tmp/rtl8761bu_config.bin
sudo mv /tmp/rtl8761bu_config.bin /lib/firmware/rtl_bt/rtl8761bu_config.bin
sudo curl -L https://raw.githubusercontent.com/Realtek-OpenSource/android_hardware_realtek/rtk1395/bt/rtkbt/Firmware/BT/rtl8761b_fw -o /tmp/rtl8761bu_fw.bin
sudo mv /tmp/rtl8761bu_fw.bin /lib/firmware/rtl_bt/rtl8761bu_fw.bin

 

However, I have to manually unplug and plug-in the usb dongle so the module reloads. Any way to do this programmatically?

 

Also, where does the device appear? Trying to pass this through to a Home Assistant container, but can't find it!

 

This one was the solution for me. I upgraded from 6.9.x to 6.10.2 and my ruuvi collector stopped working.

adding those drivers did the thing I needed. Have to look in to my flash-backup if I used this workaround before and just forgot about it or if it was something that changed with 6.10.x

 

Later (if I'm not to busy) I'll make an example of a ruuvicollector container that works.

 

Edit:

so here is my solution to use a usb-bluetooth dongle in docker to read ruuvi tags:

https://github.com/abuhamsa/RuuviCollector

It is just https://github.com/Scrin/RuuviCollector with an extra start.sh script

 

I also have an unraid-docker template you have to copy it to

/boot/config/plugins/dockerMan/templates-user

 

The trick is run it with privileged rights and in host networkmode

Edited by abuhamsa
Link to comment
  • 2 months later...

Im trying to get my bluetooth 5 dongle to passthrough to docker in unraid 6.11.0-rc2, it looks like the drivers are trying to download automatically, but are failing to download

[   57.803956] Bluetooth: Core ver 2.22
[   57.804111] NET: Registered PF_BLUETOOTH protocol family
[   57.804258] Bluetooth: HCI device and connection manager initialized
[   57.804406] Bluetooth: HCI socket layer initialized
[   57.804553] Bluetooth: L2CAP socket layer initialized
[   57.804698] Bluetooth: SCO socket layer initialized
[   58.867186] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[   58.879191] Bluetooth: hci0: RTL: rom_version status=0 version=1
[   58.879351] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
[   58.879532] bluetooth hci0: Direct firmware load for rtl_bt/rtl8761bu_fw.bin failed with error -2
[   58.879689] Bluetooth: hci0: RTL: firmware file rtl_bt/rtl8761bu_fw.bin not found

 

Link to comment

@L0rdRaidenI've updated the firmware files, and the boot config - so the firmware and config files load.
Added the Nerd-pack to get BlueZ and i'm able to run 

`hciconfig` on the host AND the docker.
I'm passing the DBus & the device through /dev/bus/usb/XXX/XXX

 

the error I get now is:

Failed to start Bluetooth: [org.freedesktop.DBus.Error.ServiceUnknown] The name org.bluez was not provided by any .service files

 

Edited by Jaburges
  • Thanks 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.