[Bug 275386] Bluetooth not working on bhyve guests

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 27 Nov 2023 19:46:41 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275386

            Bug ID: 275386
           Summary: Bluetooth not working on bhyve guests
           Product: Base System
           Version: 14.0-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bhyve
          Assignee: virtualization@FreeBSD.org
          Reporter: zsolty_szasz@yahoo.com

Hi, 

I setup bhyve by bhyve-vm. Host is FreeBSD 14.0-RELEASE. One of my guest is
running FreeBSD 14.0-RELEASE. Here I would like to use a Bluetooth adapter to
connect to my speakers. For this I passthrough the following: 
ppt2 2/0/0 Yes 400 Series Chipset USB 3.1 xHCI Compliant Host Controller to the
guest.

Upon running the Guest the Bluetooth adapter is recognized: 
#dmesg | grep ubt0
ubt0 on uhub1
ubt0: <vendor 0x0a12 CSR8510 A10, class 224/1, rev 2.00/88.91, addr 1> on
usbus0

I continue to setup Bluetooth by following this guide:
https://freebsdfoundation.org/freebsd-project/resourcesold/networking-basics-wifi-and-bluetooth/. 
# service bluetooth start ubt0
/etc/rc.d/bluetooth: ERROR: Unable to setup Bluetooth stack for device ubt0
# service bluetooth start ubt0 - OK!

#hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
        BD_ADDR: EDIFIER_R1700BT <--- this is my speaker
        Page Scan Rep. Mode: 0x1
        Page Scan Period Mode: 0x2
        Page Scan Mode: 00
        Class: 24:04:28
        Clock offset: 0x7536
Inquiry complete. Status: No error [00]

# hccontrol -n ubt0hci create_connection EDIFIER_R1700BT
# hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR    Handle Type Mode Role Encrypt Pending Queue State
EDIFIER_R1700BT       69  ACL    0 MAST    NONE       0     0 OPEN
# virtual_oss -C 2 -c 2 -r 44100 -b 16 -s 1024 -R /dev/null -P
/dev/bluetooth/EDIFIER_R1700BT -d dsp
hw.snd.basename_clone: 0 -> 0
virtual_oss: Could not create CUSE DSP device <--- this is what I get!

# kldstat
Id Refs Address                Size Name
 1   41 0xffffffff80200000  1d34598 kernel
 2    1 0xffffffff81f35000     a2f8 ng_ubt.ko
 3    3 0xffffffff81f40000    13f40 ng_hci.ko
 4    5 0xffffffff81f54000     4318 ng_bluetooth.ko
 5    7 0xffffffff81f59000    16cf0 netgraph.ko
 6    1 0xffffffff81f70000     af50 cuse.ko
 7    1 0xffffffff82618000     3360 uhid.ko
 8    1 0xffffffff8261c000     4364 ums.ko
 9    1 0xffffffff82621000     33c0 usbhid.ko
10    1 0xffffffff82625000     3380 hidbus.ko
11    1 0xffffffff82629000     e268 ng_l2cap.ko
12    1 0xffffffff82638000    1bf68 ng_btsocket.ko
13    1 0xffffffff82654000     38f8 ng_socket.ko
14    1 0xffffffff82658000     3558 fdescfs.ko

I can't setting up Bluetooth! Something is missing.

Facts: 
1. If I pass the controller on my other guest which is running Windows10 then
Bluetooth is working - which means passthrough is working. Only in FreeBSD is
not. 
2. In past I used FreeBSD 14.0-CURRENT only and the adapter worked many many
months - so the adapter is not broken.
3. I also have a wireless adapter - passing to guest is ok, setting up as AP is
ok but no wireless transmission. 

Best regards,

-- 
You are receiving this mail because:
You are the assignee for the bug.