Re:USB Made Simple (2008)
by sampullman on Tuesday October 17, 2023 @10:31AM
(#37915710)
Where's the overhead? Depending on your system the whole thing could be zero copy down to the DMA buffer. It's just a read/write protocol with a separate channel for commands.
[ Parent
| on HN ]
Re:USB Made Simple (2008)
by MichaelZuo on Tuesday October 17, 2023 @12:04PM
(#37917208)
I'm not an expert on implementing Bluetooth in real life products, but something tells me it will be a bit more complex then that.
Re:USB Made Simple (2008)
by sampullman on Wednesday October 18, 2023 @04:46AM
(#37926247)
At the HCI level the Bluetooth protocol is sane enough, it's straightforward to provide a zero-copy interface to the L2CAP layer if you're writing your own host stack.
A product I worked on in the past used a serial connection over Bluetooth to Android/iOS apps. In order to communicate to an Apple device, the layers roughly looked like:
Radio -> L2CAP -> RFCOMM -> iAP2
The RFCOMM/iAP2 part were redundant. It's understandable that Apple wanted to certify devices, but implementing that as a thin layer over L2CAP and making the profiles on top optional would have made the system much simpler. There may have been historical reliability concerns on the Bluetooth side that justifies what they ended up with, I'm not sure.