4 ms·
this is something that has always puzzled me about bluetooth, which this article has reminded me of: why are there no bluetooth controllers that operate over p
by foxhill 4y ago
this is something that has always puzzled me about bluetooth, which this article has reminded me of:
why are there no bluetooth controllers that operate over pcie? well, with the now notable exception of these macs, apparently.
i’d looked for them in the past, but could never find one. i always thought i’d just never looked in the right places, or there were a few obscure vendors for them. but the fact that bluetooth over pcie is not supported in linux yet indicates there might not be any out in the wild at all! very strange.
- kitsunesoba 4y agoRunning Bluetooth over USB has always struck me as a bit of an odd choice. With USB having to run through the CPU, doesn’t that make things like Bluetooth audio more susceptible to load-induced dropouts? Would make more sense from my layman perspective to have it handled by a CPU-independent controller over PCI-E?
- AshamedCaptain 4y agoNo CPU has any problem running audio through basically any interface anymore ever since the Windows 9x days; compressing audio will actually use significantly more CPU than transferring it. If your platform is so constrained the CPU can't send audio inline over USB, then it most definitely won't be able to compress it anyway. For such a scenario, there are Bluetooth controllers that send audio data out-of-band (e.g. through a I2S link), and may even perform the compression in hardware. But this is hardware that is significantly limited, not a PC.
- pmorici 4y agoProbably because Bluetooth has always been relatively slow while also being meant for battery operated devices. PCIe’s bandwidth is way overkill and the nature of pcie makes it more complex to implement while also taking more power than simpler low power alternatives.
- AshamedCaptain 4y agoWhat would be the benefit of that? Even the few PCI express add-on bluetooth cards that are "PCI only" have a small USB controller builtin. So the host OS sees a USB addon card with a Bluetooth device hanging from it. There's zero drivers needed since both the USB controller and the Bluetooth USB device is standarized. If you now decide to remove the USB controller, all you're doing is suddenly making an incompatible interface that now requires drivers for questionable benefits. I will vote to keep the standard any other day. That said, most PCI addon cards just ditch the onboard USB controller and force you to connect the USB bluetooth device to the USB controller on the motherboard, though. And THEN they require drivers anyway because volatile firmware or whatever.
- foxhill 4y ago> What would be the benefit of that? well, aside from principle simplicity, you wouldn't need to have a USB stack to have bluetooth connectivity - a protocol plagued with "mysterious" connectivity issues - any reduction in that complexity is a benefit. it might even result in a modest increase in energy efficiency. > There's zero drivers needed since both the USB controller and the Bluetooth USB device is standarized. the bluetooth stack is standardized, true, but as far as i understand, this has as much to do with USB as a mouse or a keyboard (indeed, as mentioned in the post, the only required stitch-up work was to between the bluetooth HCI interface and a pcie transport) > If you now decide to remove the USB controller, all you're doing is suddenly making an incompatible interface that now requires drivers for questionable benefits. i don't think that'd be the case.
- AshamedCaptain 4y ago> you wouldn't need to have a USB stack to have bluetooth connectivity - a protocol plagued with "mysterious" connectivity issues - any reduction in that complexity is a benefit. it might even result in a modest increase in energy efficiency. There's very little to this -- USB is a well known standard and power saving in USB is also well understood and exercised. PCIe power saving was not even a thing until relatively recently, and anything you'd developed for this new "HCI-over-raw-PCIe" thing would have to be done almost from scratch. It's ironic, but USB-over-PCIe may actually be the simpler "logical" protocol than raw PCIe, and may even provide further physical power saving considering how dead simple USB is as an interface. Or used to be. Cough.