Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jan 2022 05:56:58 +0100
From:      Tomasz CEDRO <tomek@cedro.info>
To:        Kevin Oberman <rkoberman@gmail.com>
Cc:        "freebsd-questions@freebsd.org" <questions@freebsd.org>
Subject:   Re: Bluetooth support on Intel AX200
Message-ID:  <CAM8r67D0-xXXKEfy=GoMsEc491NUNBDAkJkQYzm1u7B_C_BuBQ@mail.gmail.com>
In-Reply-To: <CAN6yY1ssjYTjYcDKgjoj9t5hhwwnB6n1=Oszo7K51ZUrH8qvPw@mail.gmail.com>
References:  <CAN6yY1tV4U7hk=qECp29C4AD90z_%2BOekpUDNxSCP55a-ZvcM7g@mail.gmail.com> <CAM8r67BuvV2=ZZu4Te1F=BEKi6VJxwooFJ8pZ4-3kKeBwjiZRA@mail.gmail.com> <CAN6yY1sKoWjQ=9wjQH3CWms=U%2BsNaZFffd=qe_cCpUVrGPWZGA@mail.gmail.com> <CAN6yY1ssjYTjYcDKgjoj9t5hhwwnB6n1=Oszo7K51ZUrH8qvPw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 18, 2022 at 5:17 AM Kevin Oberman wrote:
> Thanks again for the help. I now have a BT500. (They are hard to find as Amzo and BH Photo are out of stock I see that FreeBSD detects it as a Realtek ASUS BT500. I get the following messages:
> Jan 17 13:32:06 ptavv kernel: ugen0.5: <Realtek ASUS USB-BT500> at usbus0
> Jan 17 13:32:06 ptavv kernel: ubt0 on uhub0
> Jan 17 13:32:06 ptavv kernel: ubt0: <Bluetooth Radio> on usbus0
> Jan 17 13:32:06 ptavv kernel: WARNING: attempt to domain_add(bluetooth) after domainfinalize()
> Jan 17 13:32:06 ptavv kernel: WARNING: attempt to domain_add(netgraph) after domainfinalize()
>
> No idea what those last two lines mean, but it's not good. No indication of fw load, though I don't know that it is required. In any case, no ubt or bluetooth device is created in /dev. both ng_ubt and bluetooth drivers are built into the kernel.
>
> Am I missing anything obvious? Any ideas about those two warnings? I suspect that they indicate my issue.

That was fast :-)

No worries about these two warnings. No firmware is necessary for this dongle.

Copy /etc/defaults/bluetooth.device.conf as /etc/bluetooth/ubt0.conf
and edit to your needs. This is a per-device configuration file used
by bluetooth service.

/etc/bluetooth/ubt0.conf:
local_name="hexagon"
discoverable="NO"
connectable="YES"
authentication_enable="1"
encryption_mode="1"
role_switch="YES"
# hci_debug_level="3"
# l2cap_debug_level="3"

Now you should be able to `service bluetooth onerestart ubt0` with no warnings.

You should be now able to see the ubt0hci node with:
hccontrol read_node_list

You should be now able to scan neighbors with:
hccontrol inquiry

You can enable bt services in /etc/rc.conf:
hcsecd_enable="YES"
bluetooth_enable="YES"

Bluetooth service will setup and bring the node up. Hcsecd is used for
secure connections to the client.

You may also want to:
sdpd_enable="YES"
ubthidhci_enable="YES"
ubthidhci_busnum="1"
ubthidhci_addr="6"

Sdpd allows others to browse your host services. Ubthidhci is used to
connect to BT HID devices.

/etc/bluetooth/hosts:
mybtdevicemac  mydevice1name

/etc/bluetooth/hcsecd.conf:
device {
        bdaddr  mybtdevicemac;
        name    "mydevice1name";
        pin     "0000";
        key     0xddeeaaddbbeeeeff;
}

hccontrol -n ubt0hci Write_Authentication_Enable 1
hccontrol -n ubt0hci write_Encryption_Mode 1
hccontrol -n ubt0hci Create_Connection mydevice1name

At this point you should have a connection (you may need to turn
pairing on on the headset).

hccontrol -n ubt0hci Read_Connection_List

You should see your device connected with assigned handle.

Now use Virtual OSS to connect to headset and create /dev/dsp like device:

virtual_oss -B -C 2 -c 2 -Q 0 -r 48000 -b 16 -s 512 -T dev/sndstat -R
/dev/null -O /dev/bluetooth/mydevice1name -d vdsp.bt.mydevice1name -t
vdsp.bt.mydevice1name.ctl -E 1

Now you should see the /dev/vdsp.bt.mydevice1name and headset should
notify about successful connection :-) You may name that device
whatever you like. I named it with prefix "vdsp.bt." to clearly
distonguish between /dev/dsp0.0 .. /dev/dsp11.0.

Also you should see the device in /dev/sndstat.

Send some random stuff to hear the noise over the headset:
cat /dev/random > /dev/vdsp.bt.mydevice1name

If that works music should work too.

It takes a while to get familiar with all of the configuration, its a
bit tricky and not yet automated, no worries, have fun! :-)

-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAM8r67D0-xXXKEfy=GoMsEc491NUNBDAkJkQYzm1u7B_C_BuBQ>