bluetooth dongle - Trust Myna Bluetooth 5.3 Adapter

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:
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
In /var/log/messages, I can see
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
usbconfig reports
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)
the device descriptor looks like this
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
and the config is this
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
I have no idea why FreeBSD wants to identify it as "Realtek Bmuuuooth" on this machine.
hccontrol just returns with no information
Code:
root@kg-starone:~ # hccontrol -n ubt0hci inquiry
Inquiry complete. Status: No error [00]
I'm guessing I need to load firmware, since this is a Realtek chipset. I have installed
Code:
root@kg-starone:~ # pkg info rtlbt\*
rtlbt-firmware-20240909
but FreeBSD 14.2-release-p2 doesn't have the rtlbtfw program
Code:
root@kg-starone:~ # which rtlbtfw
So, not working today, but might work in the near future.
Trust_Myna_Bluetooth_5.3_IMG_20250315_190014807.jpg
 
FWIW, on a different machine
Code:
root@kg-core2:~ # freebsd-version -ku
13.4-RELEASE-p3
13.4-RELEASE-p4
it is recognized properly
Code:
Mar 15 16:00:11 kg-core2 kernel: ugen1.5: <Realtek Bluetooth 5.3 Radio> at usbus1
Mar 15 16:00:11 kg-core2 kernel: ubt0 on uhub3
Mar 15 16:00:11 kg-core2 kernel: ubt0: <Bluetooth Radio> on usbus1
usbconfig
Code:
root@kg-core2:~ # usbconfig -d ugen1.5
ugen1.5: <Realtek Bluetooth 5.3 Radio> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)
 
Back
Top