> I think you are missing something here, the interface that needs to be > supported is not L2CAP, it is HCI.
So you suggest to implement L2CAP in userspace? I'm confused when you mention that there's a L2CAP socket already and HCI socket needs to be added. Just to be clear, I have this stack in mind: So to me HCI is the protocol that L2CAP speaks to the LL and L2CAP sits on top. For that reason my understanding was that what was needed is to provide L2CAP to userspace via sockets. > > You would need to write a binding between the link layer and HCI. > Long as your device implements the interfaces here > wireless/bluetooth/bt_hcicore.c we should already be in a great place. I already have a Link Layer defined as an arch-independent upper-half that registers itself as a HCI capable net device (same as UART based devices do). Then I have an arch-dependant lower-half link-layer, which I'm currently working for NRF52. I can create a draft PR soon (after I finish upstreaming intermediate unrelated commits) if you want to take a look. > --Brennan >