10 ms·
This isn't the first time I've talked on this. I've had some experience with bluetooth on Linux, and as a radio guy. The answer is there are problems from Layer
by bjt2n3904 9y ago
This isn't the first time I've talked on this. I've had some experience with bluetooth on Linux, and as a radio guy. The answer is there are problems from Layer 1 to Layer 7, needless complexity, and design by committee.
Bluetooth is an EXTREMELY complex radio protocol on Layer 1. It's like a mating dance between scorpions in the middle of a freeway. High chance something gets messed up.
Layer 1 keeps drastically changing too. Bluetooth 1 and 2 use completely different modulations, and are not backwards compatible. Bluetooth 3 simply was an extension to 2. "Let's agree over Bluetooth 2.0 to use WiFi instead." Bluetooth 4, while much simpler, uses an entirely different scheme.
Instead of a "general purpose" wireless network like WiFi, Bluetooth tried to be application specific. Except the only profiles everyone wants are mice, wireless audio, and fitness trackers. If you look at the application layer spec, it reeks of design by committee. Everyone haphazardly jammed their pet projects together, and there are redundant and vestigial parts everywhere.
The Linux side of BlueZ is abysmal. Honestly, I don't even know how anyone does anything with Bluetooth on Linux besides a mouse and keyboard. And barely even that.
As much as I hate on the protocol, the Layer 1 spec is truly ahead of it's time, in some areas. Watching two radios frequency hop, and negotiate to avoid a congested wifi channel was unreal.
- jeroen94704 9y ago> Watching two radios frequency hop, and negotiate to avoid a > congested wifi channel was unreal. Exactly. As I said in another comment, we did a test in a very busy office space and didn't loose a single bit of data @ several 100kbit/s over a week transmitting continously. We could see it hopping on the sniffer.
- bjt2n3904 9y agoTrue, as long as both transceivers are 100% to spec. The problem is, it's a VERY large and complicated spec, and it's easy to make one little slip and have to completely renegotiate the connection.
- inetknght 9y agoBut bluetooth keeps getting rammed down our throats with bluetooth hardware being installed on motherboards (sometimes not even as removable modules) and bluetooth software in the O.S. turned on by default (lolsecurity), sometimes even at the BIOS/EFI layer. Add in all the complexity of different bluetooth versions and you have something that "seemingly everyone" has but few people reliably use.
- cushychicken 9y agoFHSS is an amazing technology, from the standpoints of both efficiency of spectrum usage and being a clever loophole for regulators.
- com2kid 9y ago> This isn't the first time I've talked on this. I've had some experience with bluetooth on Linux, and as a radio guy. The answer is there are problems from Layer 1 to Layer 7, needless complexity, and design by committee. I'll add on to this a bit. The Bluetooth stacks out there are, in general, tested only for a few of the many profiles BT supports. The firmware running on the BT chips is always of questionable quality, it is a black box, that in the case of one major chip vendor, is not coded using source control(!), figured out empirically as we'd get firmware drops that had fixed out latest reported issue, but bugs from previous FW drops would be present again. (Maybe they did use source control, and just had the world's worst regression test suite, e.g. none?) That is device side. On the PC/Phone side, things are exactly the same. EVERY phone has problems with their Bluetooth stack. The Android Bluetooth stack introduces new bugs in between major revisions So does the iPhone BT stack. The iPhone BT stack had a problem for, I believe it was 3 major OS revisions, where it would just drop connections to BTLE devices, and users had to turn BT on and off on the phone to reconnect. It was reported to Apple by multiple vendors, it took multiple years for a fix to come out, and it made BTLE on iPhone a horrible experience. But similarly severe bugs exist everywhere. HID is the one profile that will work. Serial also probably works, more or less, but serial you have to build a lot of other infrastructure on top of it. BT pairing on phones works nowadays, thanks in part to the popularity of wearable devices, but it barely functioned 5 years ago. Other specs, including simple ones like media control (AVRCP, which is an awesome spec by the way, give it a read), will have differences in implementation between OSs (desktop and mobile), typically some basic features are not implemented for who knows what reason. All that said, BTLE is incredibly simple and easy to understand. :)
- floatboth 9y ago> BT pairing on phones works nowadays, thanks in part to the popularity of wearable devices, but it barely functioned 5 years ago Huh? Pairing worked like 10 years ago. And sending files between phones. Everyone in school was sending J2ME games/apps around :D Audio with media control also worked. And modem (using the phone's GPRS/EDGE connection on a PC).
- 80211 9y ago
- FussyZeus 9y agoEveryone says this, yet I use bluetooth products (all Apple hardware) literally every day. Apple has really polished bluetooth to the point where I don't even remember I'm using it, and never have to deal with pair requests, signal loss, etc. In most everything I own, bluetooth is frustrating crap. Apple's somehow gotten it (mostly) right, so why can't anyone else?
- emodendroket 9y agoIt's pretty much transparent to me using Android and my Windows PC too. I didn't realize it was supposed to be "unreliable."
- FussyZeus 9y agoOh I've definitely found it unreliable elsewhere, especially in the cheaper Android handsets I used to get.
- emodendroket 9y agoI guess it's a matter of getting what you pay for. It works quite well with my Nexus 6P.
- spiorf 9y agoYou can't have a bluetooth serial adapter on the iphone, because it only supports a few bluetooth profiles. This cuts a lot of complexity.
- wdb 9y agoI can't even get the Apple Wireless keyboard working on my Mac :( Keeps disconnecting every odd minute
- digi_owl 9y agoClose to a hotspot or a noisy microwave nearby?
- 9y ago
- tzs 9y ago> As much as I hate on the protocol, the Layer 1 spec is truly ahead of it's time, in some areas. Watching two radios frequency hop, and negotiate to avoid a congested wifi channel was unreal. What are you using to watch Bluetooth at a low level? My Magic Mouse at work would get very jerky with my Mac Pro. Resetting it would sometimes clear it up for a while. I swapped it with my Magic Trackpad from home, and the mouse is fine at home, and the trackpad now has the jerkiness although not as much as the mouse did. I tried moving the Mac up on to the top of the desk so the mouse/trackpad is only a few feet away, and has line of site instead of having a metal desk between it an the computer, but that made no difference. I'm speculating that it is some kind of interference from the office downstairs. (It's an office of Azima DLI, which develops all kinds of stuff that might be noisy in RF). I'd like to be able to take a look at what is actually going on in my office (1) with RF in general, and (2) specifically between my Mac and my trackpad or mouse. I thought this might be an excuse to step up from one of those $15 SDR dongles I've played around with to a HackRF, but from what I've read the HackRF cannot fully deal with the Bluetooth frequency hopping. I think I read that using multiple HackRFs one can do it, but that's beyond what I want to spend.
- voxadam 9y agoThe best tool for low-level Bluetooth/BLE sniffing and injection that isn't obscenely expensive is probably the Ubertooth One.[0] [0] https://greatscottgadgets.com/ubertoothone/ https://greatscottgadgets.com/ubertoothone/
- thesmok 9y agoUSB 3.0 devices can interfere with Bluetooth. Do you have any external hard drives in plastic enclosures? Non-shielded cables? USB 2.0 doesn't present this kind of problem.
- agumonkey 9y agoYou're a radio guy, I have two questions: - Are there similar close range wireless protocols that are stupid simple (say like IR communications but on Radio spectrum) - Could someone or some team something stupid that could be handled by todays micro controlers (esp32 is 7€ for a dual core 32bit processor, I suppose it can be used as a dedicated comm. proc) In a way, wifi is perfect for 0-50m~, we just need a similar idea for 0-10 and low bandwidth.
- janoc 9y agoYou want Nordic nRF24L01+ radios. That can be trivially handled by an 8bit micro using SPI, modules with these cost peanuts. However, if you want a PC/phone connectivity you would have to build your own dongle - or reprogram one from a wireless mouse/keyboard. Many use these chips. Another option is ANT+ - that is very low power but also very low bandwidth (8 byte long messages 4x a second ...) protocol used mostly by fitness gear like training bikes, treadmills and such. Many smartphones have radios that are able to use it. Again something that is easy to make work even with an 8bit micro. For more advanced stuff there is Zigbee, but that is quite a bit more complex (but still manageable even by an 8bit MCU) and there are some licensing issues which kept it rather obscure.
- agumonkey 9y agoOh yeah that nordic chip sounds familiar. ANT+ could be enough for a control path or maybe keyboard. I always wanted to try zigbee but it felt too much like a closed world, although people seemed very satisfied with it it seems.
- jokoon 9y agoAnother radio question: what about having long distance radio communication between 2 devices or more? Any project around it? Local radio text chat could also be fun... Think of an IRC channel, only for the people who can grab the signal...
- NateyJay 9y agoAPRS is something like that, popular with hams.
- digi_owl 9y agoFunny thing is that the profiles are what i actually like about Bluetooth. Particularly the ones imported from OBEX. While wifi is perhaps more interesting, at least with OBEX push and FTP i know (and it have yet to have it fail, knock on wood) that i can transfer files, albeit slowly, between two devices. Get two devices on the same wifi network and i still need to figure out a protocol both of them can talk so that they can exchange data (never mind that they had to introduce wifi direct because certain devices refused to connect to ad-hoc wifi hotspots).
- metaphor 9y ago> As much as I hate on the protocol, the Layer 1 spec is truly ahead of it's time, in some areas. Watching two radios frequency hop, and negotiate to avoid a congested wifi channel was unreal. Is it really ahead of its time?[1][2] I recall reading somewhere that Bluetooth traces much of its roots to military radio applications. [1] https://en.m.wikipedia.org/wiki/HAVE_QUICK https://en.m.wikipedia.org/wiki/HAVE_QUICK [2] https://en.m.wikipedia.org/wiki/SINCGARS https://en.m.wikipedia.org/wiki/SINCGARS
- deleted 9y ago[deleted]