Trying to send ACL/L2CAP payloads over a raw HCI socket fails with errno 45, I assume because of this check: https://github.com/freebsd/freebsd/blob/c470df57b17914aedf532bebf57b4e6d6ba83b85/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#L1609-L1612 What is the purpose of this check? I'm pretty sure on Linux, you can talk ACL over a raw HCI socket..
My solution: https://reviews.freebsd.org/D25690