Yes, another cheap bluetooth dongle. this time it is the Trust Myna Bluetooth 5.3 Adapter, article number 25329.
It test it on a machine running FreeBSD 14.2-release-p2:
In /var/log/messages, I can see
usbconfig reports
the device descriptor looks like this
and the config is this
I have no idea why FreeBSD wants to identify it as "Realtek Bmuuuooth" on this machine.
hccontrol just returns with no information
I'm guessing I need to load firmware, since this is a Realtek chipset. I have installed
but FreeBSD 14.2-release-p2 doesn't have the rtlbtfw program
So, not working today, but might work in the near future.
It test it on a machine running FreeBSD 14.2-release-p2:
Code:
root@kg-starone:~ # freebsd-version -ku
14.2-RELEASE-p1
14.2-RELEASE-p2
root@kg-starone:~ # uname -a
FreeBSD kg-starone 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC amd64
Code:
Mar 23 20:39:37 kg-starone kernel: ugen0.6: <Realtek Bmuuuooth 5.3 Radio> at usbus0
Mar 23 20:39:37 kg-starone kernel: ubt0 on uhub1
Mar 23 20:39:37 kg-starone kernel: ubt0: <Realtek Bmuuuooth 5.3 Radio, class 224/1, rev 1.10/2.00, addr 5> on usbus0
Code:
root@kg-starone:~ # usbconfig -d ugen0.6
ugen0.6: <Realtek Bmuuuooth 5.3 Radio> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)
Code:
root@kg-starone:~ # usbconfig -d ugen0.6 dump_device_desc
ugen0.6: <Realtek Bmuuuooth 5.3 Radio> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0110
bDeviceClass = 0x00e0 <Wireless controller>
bDeviceSubClass = 0x0001
bDeviceProtocol = 0x0001
bMaxPacketSize0 = 0x0040
idVendor = 0x0bda
idProduct = 0xa729
bcdDevice = 0x0200
iManufacturer = 0x0001 <Realtek>
iProduct = 0x0002 <Bmuuuooth 5.3 Radio>
iSerialNumber = 0x0003 <00E04C239987>
bNumConfigurations = 0x0001
Code:
root@kg-starone:~ # usbconfig -d ugen0.6 dump_curr_config_desc
ugen0.6: <Realtek Bmuuuooth 5.3 Radio> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x00b1
bNumInterfaces = 0x0002
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x00e0
bMaxPower = 0x00fa
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0003
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0004 <Bluetooth Radio>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0010
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0002 <OUT>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 2
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0082 <IN>
bmAttributes = 0x0002 <BULK>
wMaxPacketSize = 0x0040
bInterval = 0x0000
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 1
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0000
bNumEndpoints = 0x0002
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0004 <Bluetooth Radio>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0003 <OUT>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0000
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0083 <IN>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0000
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 1 Alt 1
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0001
bNumEndpoints = 0x0002
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0004 <Bluetooth Radio>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0003 <OUT>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0009
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0083 <IN>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0009
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 1 Alt 2
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0002
bNumEndpoints = 0x0002
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0004 <Bluetooth Radio>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0003 <OUT>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0011
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0083 <IN>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0011
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 1 Alt 3
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0003
bNumEndpoints = 0x0002
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0004 <Bluetooth Radio>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0003 <OUT>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0019
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0083 <IN>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0019
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 1 Alt 4
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0004
bNumEndpoints = 0x0002
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0004 <Bluetooth Radio>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0003 <OUT>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0021
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0083 <IN>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0021
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Interface 1 Alt 5
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0001
bAlternateSetting = 0x0005
bNumEndpoints = 0x0002
bInterfaceClass = 0x00e0 <Wireless controller>
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0001
iInterface = 0x0004 <Bluetooth Radio>
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0003 <OUT>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0031
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
Endpoint 1
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0083 <IN>
bmAttributes = 0x0001 <ISOCHRONOUS>
wMaxPacketSize = 0x0031
bInterval = 0x0001
bRefresh = 0x0000
bSynchAddress = 0x0000
hccontrol just returns with no information
Code:
root@kg-starone:~ # hccontrol -n ubt0hci inquiry
Inquiry complete. Status: No error [00]
Code:
root@kg-starone:~ # pkg info rtlbt\*
rtlbt-firmware-20240909
Code:
root@kg-starone:~ # which rtlbtfw