Warning: A rant on bluetooth.
Ah, bluetooth. You have been serving us faithfully for now over 20 years. With over 4 billion devices shipping this year alone with bluetooth support, you’re both ubiquitous and omnipresent. You made the promise to us, that it would be easy – that things would Just Work™. It’s a shame that still today, you are so far away from trustworthy or reliable.
Bluetooth for me goes back a long way, to 2003, when I experimented with syncing my Palm PDA wirelessly, promising to replace the need for a wired connection to the computer, and usher in a new era of convenience. The USB dongle I used was primitive, supporting the new bluetooth 1.1 standard, over a USB 1.0 connection to the computer. The process of pairing was slow, the speeds were abysmal, and I felt frankly deceived by your claims of 30m of range. Beyond a few meters or so away from the dongle, the transfer speed would drop to less than my dial-up connection. Plus, unless I turned off the bluetooth radio after use, my battery life suffered terribly. You failed to impress.
But lo! A new hero arrived! Bluetooth 2.0+EDR (just rolls off the tongue…) introduced me to the world of bluetooth audio! Suddenly, bluetooth had a new persona, and leather jacket to match – if you had a bluetooth speaker, you were cool. However, as someone who appreciated audio quality, I was less than impressed with the resulting sound quality, and the limited practical range made the experience feel far from un-tethered.
In 2013 I bought my first bluetooth speaker. While streaming from my iPhone, the range was now good the sound quality decent (compared to the wired connection) and the battery life impact now negligible. Things were finally looking good for bluetooth!
Later that year, I splashed out some cash to buy a bluetooth stereo for my car, a KENWOOD KDC-U7056BT. The BT in that elegant name indicated that it supported bluetooth, and now I had a handsfree. It seemed to work – most of the time. But sometimes, it left me confused. Why was the sound quality during calls so much worse than the music quality? I found that strange issues would come and go, as each iPhone software update either fixed bugs, or introduced new ones.
Eventually one bug arrived that didn’t go away, and it was a show stopper: whenever a call came in, if I tried to answer it my kenwood would immediately disconnect from the phone leaving me to fumble while driving trying to switch it back over to use bluetooth – and in the process defeating the entire purpose of having a handsfree. This was unacceptable. I searched the web for solutions, but found nothing. I asked apple, but they suggested I contact the device manufacturer. So I contacted kenwood, but they said the device (at the ripe old age of 4 years old) was now old and unsupported. I chalked this down to bad luck, and so I began again the quest for a new car stereo.
I settled on the KENWOOD KDC-BT568U, a “fancy” model (with no significant new features or improvements over the old unit…) that I had to import from the USA as it was not available locally. Again, I was back in bluetooth bliss. I had my music and I had my handsfree back again! However, things were far from perfect. Occasionally, things would still seem to get confused, and I would have to reset the car stereo or restart my iPhone. By now however, I was just grateful that it worked most of the time.
Several bluetooth headphones later brings us to the present day. I had bought a new pair of headphones (YAMAHA HPH-W300) a year ago, and ever since taking them out of the box, I had been having difficulties playing music through my iMac. Things would work find for an hour or so, but then at some stage, all the audio would start to stutter and the sound would become choppy, like someone repeatedly pressing the play/pause button multiple times per second. I didn’t have this issue when playing music from my iPhone, so I chalked this up to an exceptionally rare compatibility problem, and shelved those headphones for the time being. This year arrived, and I switched my main computer to a PC. I remembered those bluetooth headphones, and I decided to give them another shot. However, within an hour of use, I experienced the exact same issue as I encountered on the iMac! This for me was confirmation that this issue was a fault with the headphones.
Since then, I have been trying to identify the cause of this issue, and have spend more effort to investigate the compatibility of these devices with other devices of different makes and models.
Both my old iMac and the new PC had one things in common – they both used Broadcom based bluetooth chipsets. The iMac used the BCM20703, while the PC used the BCM20705, and the issue I experienced was identical on both devices. I have been unable to resolve this issue with those headphones to date.
After identifying this, I decided to try some other brands of USB bluetooth dongles. I ordered a CSR chipset USB dongle, and an Intel wifi card that also promised bluetooth support.
What happened next caused me to write this article: with both devices, I ran into new issues – both different to the original, and both unique to the chipset used!
With the CSR bluetooth chipset, I found that the audio would drop out or cut out for about a second, and this happened around once a minute or so, which in turn made enjoying music impossible with that adapter – an issue I have been unable to resolve.
With the intel bluetooth chipset, I found that initially the audio quality itself was terrible, almost like it was coming through an old clock radio. This was resolved by disabling the very obscure and well-hidden option for bluetooth headset support (“handsfree telephony”).
With more careful listening I compared the sound quality coming from each of the bluetooth adapters now, to be sure that I had fixed the issue. However, I noticed a significant difference in audio quality between each of the USB dongles! The Broadcom sounded the best by far, sounding rich and full, very clear, with excellent bass extension – the same as it sounds via my iPhone. However, the Intel and CSR both sound a little muddy, with the intel chipset having a very slight edge.
Unlike Wifi, Bluetooth provides very little in the way of statistics or diagnostics. There is no way to see what connection rate has been negotiated, and no way to see which audio profile or audio codec is actually being used to transmit your music. As a result, I’m left in the dark. I have three different bluetooth dongles, from the top tier manufacturers in the bluetooth industry, and none work without issue. If I had to guess, the CSR and Intel are probably connecting at a lower bitrate (e.g. 128kbps SBC), while the Broadcom is probably using higher bitrate (256kbps+AAC/SBC) to provide better quality audio, and possibly using different bluetooth audio codecs too. The CSR dongle should in theory support APT-X (likewise the headphones too), so I was surprised it was the worst performer in this test. This really is nuts – this is supposed to be digital audio, and I am hearing differences depending on which brand of bluetooth 4.1 adapter I use – crazy! I think, more investigation is needed.
Even though it’s 2019, I am unable to reliably stream high quality music to my bluetooth headphones from my computer. Sad!
RIP headphone jack, you were a blessing, taken from us too soon.