Ask HN: Why is Bluetooth still so unreliable?
I've never worked on the BT stack, and I have only very high-level idea of how it works. But no matter the hardware, the operating system and the use case, BT is orders of magnitude less reliable than WiFi and other wireless protocols, and I don't understand why.
Some things that are surprising:
1. Devices from the same manufacturer can't see each other
2. Bluetooth audio turns choppy for no reason
3. I have never seen BT work at all on Windows, even in 2024. I cannot think of a single example where I managed to connect a BT device to a Windows computer.
4. BT audio is sensitive to my body moving, for example bluetooth headphones consistently drop audio when I walk at a specific pace.
Is the main source of problems something about the range of frequencies BT uses? Is it a hardware problem, maybe due to the low power? Why haven't we been able to make it work reliably even after 25 years?
79 comments
[ 5.6 ms ] story [ 169 ms ] threadhttps://www.statista.com/statistics/1220933/global-bluetooth...
A lot of the products out there are cobbled together “works on my machine” quality.
351 points|whitepoplar|7 years ago|261 comments
https://news.ycombinator.com/item?id=14752719
Ask HN: Bluetooth kinda sucks. Why don't we have something better?
135 points|zachallaun|1 year ago|161 comments
https://news.ycombinator.com/item?id=32469976
Ask HN: Why is Bluetooth so unreliable?
89 points|aosaigh|4 years ago|41 comments
https://news.ycombinator.com/item?id=22904442
Ask HN: Anyone else find Bluetooth to be frustrating?
52 points|c7DJTLrn|2 years ago|55 comments
https://news.ycombinator.com/item?id=31441331
I’ve inadvertently had that happen
Apple's stuff largely just works - provided everything you want to use is Apple.
I use non-Apple headphones with my work Windows box, and that just works as well - connecting takes longer on Windows boxes, not sure why.
My primary use case is BT Audio Peripherals, but I've used it for a mouse, and for programming/pairing devices to a network as well, with nary an issue.
From what I understand, there's no standard implementation of the standard. So each implementation is unique in some ways. Therefore a "unified" experience is impossible.
> 1. Devices from the same manufacturer can't see each other
There are different versions of 'bluetooth' if the host cant negotiate with the client it doesn't know how to deal with it.
> 2. Bluetooth turns choppy for no reason.
From my limited experience, I have noticed that there are different audio profiles, one of them is high quality but when you add a microphone into the mix it downgrades significantly. The microphone AND the audio output are both downgraded in quality, I think because the device switches profiles.
> 3. I have never seen BT work at all on Windows, even in 2024. I cannot think of a single example where I managed to connect a BT device to a Windows computer.
Sorry, I run linux, I assume people do bluetooth on windows.
> 4. BT audio is sensitive to my body moving, for example bluetooth headphones consistently drop audio when I walk at a specific pace.
You are walking at 2.4ghz, stop that. (Seriously, i have no idea what that is, that sounds awful and awesome).
As a result, getting anything through relies on lots of error handling and quite a lot of software is not the highest quality, shall we say? It's also not helped by lying user interfaces telling you a device is connected when snooping packets manifestly shows its not (looking at you, Apple).
Bluetooth can be pretty reliable - in RF-quiet environments. Low data rate stuff with error handlng/repeat transmissions often works by getting through during periods when there happen to be few interfering signals. Trying to use BT for relatively high rate date (e.g. audio) with lots of nearby wifi's is always going to be hit and miss.
It's the other way around: Bluetooth transmits whenever it wants to (or rather has to, per the frequency hopping sequence) 802.11/Wi-Fi has to deal with the consequences (i.e. consider the channel occupied or back off its transmissions in case of a collision per CSMA/CA).
All reasonably modern Bluetooth implementations support adaptive frequency hopping though and try to avoid bands known to be busy with other protocols.
You will find that the bluetooth connection is instantly broken by the shielding when the door is closed.
Bluetooth also has to put up with leaky microwave ovens, in addition to other users of the 2.4GHz band.
I'm assuming that other bluetooth devices die immediately.
> And in a busy environment (I often see dozen's of APs in a scan) pretty much every channel is occupied
Most of these channels are overlapping anyway, so we're really only talking about 3 or so channels in the 2.4 GHz band.
And due to CSMA/CA, 802.11 has to back off in case of sensing any sufficiently powerful interference. Bluetooth Class 1 definitely seems like it would qualify, so Bluetooth will actually make 802.11 on all of these channels back off, reducing the duty cycle and creating enough gaps for Bluetooth to statistically get its transmissions through.
Bluetooth audio (A2DP) only needs about 300 kbit/s anyway; that's less than 20% of the total possible Bluetooth throughput, so even if every single transmission needs 5 retries, you'd still not have audio dropouts.
I've never been in an environment where 802.11 was actually able to overwhelm Bluetooth audio connections, neither A2DP (which is heavily buffered), nor HFP (which isn't). Microwaves or older "non-backoff" 2.4 GHz transmitters (old babyphones, analog cordless phones etc.) definitely can, though.
Like somewhere deep in the Swedish forests, just me and my chainsaw and a bluetooth headset which doubles as ear protectors.
...which still randomly starts stuttering or drops the connection.
Nah, Bluetooth is just unreliable. It works when the sun and moon and stars are in the correct alignment and/or a black cockerel of sufficient pedigree has been sacrificed in the correct way, otherwise it plays its tricks on you.
Sometimes BT audio gets bad depending on how many walls it has to go through but thats reasonable.
I too use Bluetooth on windows with headphones[1] and keyboard[2].
While I can't define the experience problem-free, I had occasional issues to solve (mostly with audio, due to bandwidth limitations and such on some controllers/receivers), it's not been as bad as you define it.
In fact, I would say that it isn't very different to the experience I've had with android/iOs where I had too issues with bluetooth.
[1] https://www.turtlebeach.com/collections/stealth-700-gen-2
[2] https://www.logitech.com/en-us/search.html?q=K400+Plus+Wirel...
1. Ive don't use Apple products but iPhone and Apple Air pods seem to integrate and work especially well together, not sure why you say they don't, can you expand?
2. I use Bluetooth daily in my car from my phone (also two different manufacturers) and have never heard "choppy" audio. It does however happen connecting my Sonos home speakers but that's wifi, maybe that's what your thinking of?
3. I don't use windows but my daily driver is a Bluetooth think pad mouse with Ubuntu on a Thinkpad. Also it connects great with my Bluetooth headphones. Are you telling windows can't connect to a Bluetooth mouse? That is odd, I'll give you that if it's true.
4. I run the track at the gym with my head phones and cheap android. I leave my phone in the center and run laps and don't have a single issue, again, for the life of me can't image what problems you are addressing.
This whole post is mind boggling. Does ANYONE have the same issues op does?
These days I have Sony earbuds and they stay connected only to my iPhone.
Bluetooth isn’t perfect in Apple world (multi device handoff doesn’t always work for me) but it’s substantially better than the chaos described above.
I’ve never had a situation where my AirPods started cutting out depending on how I walk (like the OP described) for example. I can walk several rooms away from my device before they start cutting out.
Having done some Bluetooth work before, the quality of everything from the stack to the hardware to firmware varies greatly from device to device. Anything Android was a nightmare a few years ago but it was getting better.
My wife has an iPad, iPhone, Apple watch, and iPods.
I have just iPods.
There are countless times when I'm listening to the iPad with my iPods, and when she comes into range, either my iPods switch connection to her iPhone, or her iPods steal my connection to the iPad.
I've found no setting on any device that fixes this. It drives me insane.
I think this is supposed to cover your use case, though given the general Bluetooth unreliability, I won't be surprised if it didn't work as expected.
Budget Sony headphones I bought last year work great with my iPhone. No complaints at all.
The Bluetooth stack on my iMac has a bug where it will crash hard after around two weeks of uptime. Very annoying, because the (Magic) Keyboard and (Magic) Mouse stop working. Only way to fix it is a restart.
Old devices such as my 2015 Subaru Forrester are still… garbage as far as Bluetooth usability goes. It’s not worth even trying.
Well battery problems but that's a different issue.
The performance of individual devices for Bluetooth can vary widely.
A year ago I built a "gaming PC" which has a relatively big antenna that looks like the "ear" of a giant robot from a 1990 anime and I can walk all over my 2200 square foot house with my V-Moda headphones and never hear a dropout. I have a Dell Latitude laptop which was strong enough to connect to headphones through 10 (flimsy) interior walls at the office; it used to run Windows but it runs Linux now and still does a great job connecting to BT mice and headphones. On the other hand I also had an Alienware (also Dell) laptop which had dropouts if I turned my head sitting in front of the machine.
Other people think I'm crazy but I've never had iDevices of any kind be able to play music on BT speakers while streaming music over WiFi (even friends visiting can't make it work.) My current "on the go" device is an iPad which my major complaint is that I have 3 BT devices I want to use with: keyboard, mouse and headphones, but I can only get 2 of them to work reliably at the same time.
I think it comes down to this: a PC or phone could have very different electromagnetic performance based on the design and some are much better than others. You don't see it advertised or even tested in reviews so you can't just shop for a computer which has good BT performance. Similarly different devices are going to have different performance levels and it all can vary based on details... My V-Moda headphones really work great with my Yoshinon (e.g. the physical home of YOShInOn) but with some lesser headphones you might come to the conclusion that Yoshinon sucks.
Because the standard is so complex, all kinds of implementation details, even in software, could have a big impact. For instance, if you are using an audio codec with a lower bit rate you are making less demand on the radio and might have better reliability, but sound quality would be better with more bits. I love quality sound but if I had the option I might trade quality for reliability in range but... I don't get this option.
As far as frequency, Bluetooth uses the same 2.4GHz band that WiFi started out using. You'd better believe that Bluetooth is degraded if a lot of other devices (even other Bluetooth devices) are using that band. Sometimes I wonder if the whole "convertable" laptop thing was (a) an attempt to confuse flight attendants (do you have to put it away?) and (b) the shadow of the consumer electronics show where there are so many half-baked gadgets at such a density that you'd be insane to try to demo anything that uses BT... With the effect that devices aren't really designed with the BT lifestyle in mind because even if it worked at your home and office they couldn't demo it. (900 MHz has similar problems... The band is practically dead in 99.9% of America but go to Palo Alto and you find every Stanford grad has a bunch of half-baked gadgets that make my scanner scream and would convince any startup that the band is so crowded you can't use it.)
I'd also say the industry just isn't thinking about it in the right way. I wish there was an "infrastructure mode" for BT where my headphones could roam throughout the house and the data goes over the Ethernet and comes out through one of my WiFi hubs. It's the kind of thing I could probably get sorta-kinda working in a month or two with one set of headphones but to make it completely reliable with all the different devices out there and under all circumstances looks hard enough I can see why it hasn't happened.
Sometimes I want to transfer a file from a device to my phone or vice versa and it can take several minutes to transfer a file a few MBs in size. And don't get me wrong, it's far better than it used to be back in the 00s, but I guess it just seems odd to me that close proximity wireless file transfer isn't at least as fast as wifi? Or perhaps it is and my phone / laptop isn't supporting the full speed transfers?
BT is low power and low bandwidth.
If it was as fast as WiFi, we’d just use WiFi for everything.
Protocols like AirDrop use Bluetooth for negotiation and then WiFi for data transfer for this reason.
Yeah, but there's no cross platform way to send files over wifi like AirDrop that I'm aware of? The reason I use Bluetooth is because I have an android phone and if I'm not connected to wifi, or can't send a file over wifi for some reason (I'd typically need to upload somewhere first then download to my device), then I have no other options but BT.
So I suppose a follow up question would be, why isn't there some kind of peer-to-peer file transfer protocol using wifi that all devices implement? Given a lot of people don't have AirDrop because they're not using Apple devices how is the average person suppose to send files between devices quickly without first uploading to the internet or using cables?
Interesting that you complain about windows. I use the headphones almost exclusively with Win10 computers. You may find a well-reviewed (I've had good luck with TP-Link USB adapters) bluetooth adapter connected to your Windows PC and disabling whatever crappy builtin it has might do wonders for you. Worst case you're out $12.
Most of my issues are when pairing, and even that is not frequent, and can almost always be solved by having the computer/phone "forget" the peripheral and then turning the peripheral device off and back on. Absolute worst case I'll reboot both and then it's always fine.
However, I will say that all of my devices I use were manufactured in the last two to three years, so that may help.
Having said that, this list is missing my biggest gripe: so many of the implementation decisions are left up to the devices that you get an entirely different experience from player to player, speaker to speaker. Will it start playing on reconnect? Will it reconnect on its own but not switch source so my audiobook plays in silence for an hour drive?
I have to tediously reconnect my Ford, but if I get within 100 yards of my running Toyota, it will preempt nearly anything else it's doing to become the eavesdropping speaker for my phone call.
I really wish the Bluetooth specifications would require, or at least strongly suggest, that behavior.
My earphones (though sometimes I catch microwave interference), speaker, keyboard and mouse (though my mouse gets choppy if system is under strain - which tells me that there's a fair bit of CPU processing, which is a reason) work reliably. They always connect and perform the desired function.
Both my cars are unreliable. One of them disconnects pretty much every time on the second connection in a short time (eg make a quick stop, phone connects for 20s then drops). The other sometimes has choppy audio, or distortion. Both sometimes don't catch my phone and I have to manually trigger connection. Sometimes they don't connect at all until I reboot the car. Given the general state of car infotainment, I suspect this is a poor implementation by the car manufacturer. (arguably not simple given the interference of alternators and such and being in a Faraday cage).
The last time I had BT audio choppiness was in 2016 , and that was an issue with that specific phone's BT hardware.
If only the file transfer speed was better (100KB/sec only good enough for transferring small files), I'd be able to leave behind proprietary file sync services forever.
"Works on my machine" when it comes to Windows hardware is a pretty narrow-minded take.
Almost all audio sink devices will connect to the last connected source upon starting up. So far, so good – often that's exactly what I want, and it saves me from having to go into the source device's BT or sound menu to select the target device manually. This is great in cars, for example (unless you share a car).
But what many devices don't allow is "kicking out an existing source device" from a new connecting source device. This means that in order to use the sink, I'll need to chase down the currently connected source in my house and manually disconnect it (since sinks usually don't have any UI affordances to disconnect the current source without shutting down the sink).
Some newer Bluetooth sinks, including Apple's AirPods, do support that behavior, and it's been an absolute game changer for me. I really wish Bose would adopt it too; their "connect to two devices simultaneously" hack usually does way more harm than good, especially when some of these devices are shared in a household.
I flipped this on and it works perfectly. The current device never gets booted and switching manually is easy in the rare case I want to use the other device.
I can live with sometimes having audio focus stolen by some other Bluetooth device, since that's usually my desired behavior; I just want there to be a remedy for me that does not require walking through the apartment and hunting down potential source devices hogging my desired sink device.
BT in my car: Spotify on the phone starts to auto-play as soon as it connects. Because car = music, apparently. I still haven't been able to figure out if this is Spotify, Android or Mercedes being dumb.
Similar to your issue, my laptop and I are often exactly far enough apart that my Bose headphones start an infinite connect/disconnect cycle, with a tediously long "Connected to laptop" message every 30 seconds. For that scenario, it would have been enough if it just stopped trying after a few short connections.
My conclusion is that we've had wireless devices for >20 years, but have barely scratched the surface of the implications in terms of UX.
It's your car. Some automatically send the "play/resume" control signal whenever they start up, which causes Android to resume playing on the most recently active audio app. No idea who thought that that was a reasonable default...
> Similar to your issue, my laptop and I are often exactly far enough apart that my Bose headphones start an infinite connect/disconnect cycle, with a tediously long "Connected to laptop" message every 30 seconds. For that scenario, it would have been enough if it just stopped trying after a few short connections.
It's not a real solution in any way, but if you're usually confident what device you're connected to, you can disable voice output via the Bose Connect app.
In my case, my Sony and Shure headphones have always worked perfectly on my 2013 MBP, iPhone 7 and multiple Linux boxen. Don't know what controller was in the MBP and iPhone, but all the PCs have Intel ones.
I now have a mouse which works surprisingly well over BT, although I usually use its own dongle because it seems to have less lag and it can switch between the several computers connected to my KVM at the same time the display and keyboard do.
However, on Windows, things aren't as smooth, even though it's strictly the same hardware. Connections take longer to establish, and the mouse has definitely more lag than under Linux. It also doesn't support the very high bitrate audio modes both my headphones and Linux support, and if I'm watching videos the audio is out of sync.
Since I rarely use Windows, all in all, I'm a very happy Bluetooth user.