On Wed, Aug 26, 2020, 3:31 AM 安超 <anc...@xiaomi.com.invalid> wrote:

>
> Hi Greg, Matias,
>
> The current implementation of Xiaomi’s Bluetooth stack is different with
> the current architecture.
> HCI transport layer communication will be based on /dev/ttyS* devices
> instead of sockets,
>
>
>
> The stack module prefers like bluedroid instead of bluez, host/l2cap will
> run on userspace,
>

While I appreciate the need to have a more complete Bluetooth stack
working, I am very opposed to this being brought into mainline. It fully
bypasses the OS. This would be as if we implemented the full network stack
in user space.

Doing this also ties us to a critical bit of software that we do not
maintain which is also not something I could support.

The Bluedroid comparison is a good one, it exists to explicitly work around
the Linux stack and further sperate Android from the kernel. This split
also let Qualcomm ship there entirely own stack also out of the Kernel.


What I will say is that once I implement the HCI socket interface, using
the user channel you could easily have zblue run on top of that with no
changes to NuttX. Drivers do not have to implement a special tty interface
since it can just use the socket interface.  This is the whole point of the
user channel and how several years ago I added mesh support outside of the
Linux kernel.

--Brennan

Reply via email to