For the most part I’ve enjoyed my 13" Macbook Pro TouchBar 2018 model with questionable keys, but shifting to a fully work from home environment due to our unfriendly cold virus in recent times, I’ve begun to rely more heavily on a full time setup. At work in an office I’d be up and down, in and out of meetings, and could write off the occasional glitches as a downside of working in a large downtown office building in the middle of RF pea-soup.
No so much at home.
As an electrical engineer with a background in radio I’m well aware of the issues with wireless connectivity. Particularly low power wireless, even broadband or spread-spectrum technologies can be thwarted by enough radio interference. So when I purchased a brand new Apple Magic Mouse 2 a few weeks ago, I could no longer avoid what had been nagging at me for over a year: there seemed to be something wrong with my Macbook Pros wireless connectivity. (Spoiler: So I thought)
I’ve had a Bluetooth Apple Magic Keyboard and Magic Trackpad 2 for over a year and they would occasionally disconnect from the Macbook Pro, and on the keyboard my keystrokes would occasionally lag behind what was shown on the screen. For the longest time I shrugged it off, it was passing and temporary.
Starting the use the Magic Mouse 2, I was irritated in the first minute I used it with a stuttering cursor across the screen. As a part of working from home I’ve been on Skype for Business, Microsoft Teams, even (Shudder) Zoom audio and video conferences, on some days for 9 hours straight. The obvious thing to reach for are my AirPods. They’re only six months old and the audio in my ears sounded perfectly clear, however I was getting consistent complaints from others on the conference call that my audio was breaking up, yet I was connected by hardwired Ethernet to my router and my Upload/Download connection speeds were first rate.
Being a semi-professional podcaster (some say) I had plenty of audio gear to test my microphone and quickly connecting my MixPre3 and Heil PR-40 to the Macbook Pro, now using the MixPre3 as the Microphone and my AirPods as the receiver, there were no issues with audio any more. I noted that when connected to my iPad or iPhone the AirPods had no microphone drop-outs. At this point it was clear the problem was proximity to the Macbook Pro or the Macbook Pro had some issue with wireless connectivity, specifically these Bluetooth devices. To further confirm the mouse stutter wasn’t the mouse itself I borrowed my sons wired USB Mouse and noted that it did not stutter when connected via the USB hub or via the Thunderbolt dock.
Next I cabled my Magic Keyboard 2 to my USB Hub, hence disconnecting its Bluetooth connection. The Mouse stuttering continued, though it appeared to be marginally better. Turning off the trackpad and AirPods entirely and the stuttering seemed ever so marginally less pronounced though it was still visible and jarring.
Then to attempt to isolate further I disconnected the Macbook Pro from power with no change. I then disconnected the USB Hub, and the most marked improvement in stutter was clear. Then I turned my attention to the only other item connected: the StarTech.com Thunderbolt hub. At this point the Stuttering was gone.
The StarTech.com with my attempts to shield and repair the cable
Not Very Useful
I tried to wrap the StarTech.com cable with an RF Choke, shielding, but whatever noise it was producing would not be silenced. I needed to connect the Macbook Pro to multiple screens and I needed hardwired Ethernet and I only had 4 USB-C ports (mind you that’s better than some of Apple’s laptop machines).
I’d been eyeing one of these off for what seems like years (more like 18 months) so I finally ordered the CalDigit TS3+ Thunderbolt dock. I ordered it via Apple and it arrived only two business days later.
Devices I currently have plugged into the TS3+:
- Audio Output to my desktop speakers
- Hardwired Ethernet to the router
- Thunderbolt cable to my Macbook Pro
- DisplayPort to 4K 28" Monitor #1
- Thunderbolt Downstream to Cable Creation DisplayPort adaptor to 4K 28" Monitor #2
- USB-A to 8TB HDD
- USB-A to a Qi Charging Pad
- USB-C to MixPre3
- AC Power Adaptor (from the wall socket)
I’ve tested the SD Card reader (can pack away my old multi-card USB 2.0 reader now), and all of the other USB-A ports plus the USB-C front port but they’re currently vacant. With this dock I packed away my USB-C 61W charger and Apple’s Macbook Pro USB-C cable as well. My Magic Keyboard 2 is back in Bluetooth mode, so’d the Magic Trackpad, the Magic Mouse and the AirPods and guess what?
No Mouse Stutter
No Audio Dropouts of the Microphone from the AirPods
Okay so was this a case of throwing money at a problem to make it go away? Kinda sorta, but truth be told it was more an expensive process of elimination.
All BlueTooth Devices now Happily Working Simultaneously
The problem lies in one of three places, as it always does with anything wireless. For communication between two places you need A) a transmitter, B) a receiver and C) the transmission medium joining the two. In this case, the transmitter probably wasn’t a factor - everything was within tens of centimetres from each other so single strength wasn’t a problem, though interference could still be a factor for a receiver. A broad spectrum interferer would impact the devices no matter where you were in the house, no matter what you disconnected or didn’t - which eliminated a common interferer.
So it comes back to the transmitter or the receiver and the perspective of each. From the Mouse/AirPods (acting as a transmitter, sending data to the Macbook Pro) it has a relatively small battery to transmit BlueTooth back to the Macbook Pro. The mouse isn’t a receiver (well it is but it’s one we can’t test independently) and the AirPods as a receiver for audio playback (from the Macbook Pro to the AirPods) has a more powerful transmitter in the Macbook Pro to listen to.
If you have a localised interferer it will tend to drown-out the nearest radio receiver. In this case whatever is trying to communicate with the Macbook Pro via BlueTooth is going to struggle to pick out the desired signal over the top of the noisy interferer. How this manifests in this situation is lost data from the weaker transmitter (the battery powered device) to the receiver in the Macbook Pro. In the case of the:
- AirPods: broken up microphone audio
- Magic Keyboard: occasionally delayed or lost keystrokes
- Magic Trackpad: delayed selection/tapbacks, stuttering cursor movements
- Magic Mouse: stuttering cursor movements
Hopefully that all makes sense but what was causing the interference?
First About Bluetooth
BlueTooth operates between 2.400 and 2.485 GHz which is a narrow(-ish) 85 MHz of spectrum. Notwithstanding the guard bands at the top and bottom of that spectrum it operates using 79 channels each of 1 MHz bandwidth using Frequency-Hopping Spread-Spectrum technology. FHSS allows narrow band interference to be avoided by constantly hopping between segments of the spectrum within any given channel. Of course that’s fine if you only have narrow band interference. Broadband interferers that spew noise across vast segments of a band will cause enough data loss to drop packets.
‘Superspeed’ USB (aka USB3) has delivered significantly faster data rates for several years but as clock speeds increase the frequency of interference increases to a point where the EMI (Electro-Magnetic Interference) emitted is centered around the base clock frequency and multiples thereof such that it’s difficult to obtain compliance to EMI standards in some frequency bands. To avoid multiple narrow-band EMI peaks across the frequency band and in an attempt to reduce EMI, the concept of spread-spectrum was applied to data clocking (in a manner of speaking). There’s an excellent article by Microsemi that explains: “Spread spectrum clocking is a technique used in electronics design to intentionally modulate the ideal position of the clock edge such that the resulting signal’s spectrum is ‘spread’, around the ideal frequency of the clock…”. This has the effect of spreading the noise across a very wide frequency range, significantly reducing narrow-band noise, but at the cost of increasing spread-spectrum noise.
Intel released a White Paper in 2012 that looked at the practical implementation of USB 3.0 and how the technology had an impact specifically on low powered wireless devices operating in the 2.4GHz band. Specifically WiFi and BlueTooth. The following table is extracted from that White Paper and shows the noise increase due to an externally connected USB 3.0 Hard Disk Drive.
Intel’s commentary: “…With the (external USB 3.0) HDD connected, the noise floor in the 2.4 GHz band is raised by nearly 20 dB. This could impact wireless device sensitivity significantly…”
The Root Cause
In years past when I had access to an RF Spectrum Analyser I could have connected some probes to stray cables and known for certain, but based on a process of elimination it’s clear that there were two interferers most likely due to USB 3.0 components:
The StarTech.com dock started to cut out intermittently over 9 months ago. The cut-outs caused a HDD to disconnect multiple times leading to a lot of frustration with directory rebuilding, reindexing and backup re-uploading such that I couldn’t leave it connected to my Macbook Pro via the dock anymore. That drove me to seek out an independent USB hub, so I’d switched to a combination of CableCreation USB-C to DisplayPort adaptors and a cheap Unitek USB-3 Hub via a cheap Orico USB-C to USB-A adaptor. This solution worked for a while but it ultimately consumed too many ports and once I had shifted to working at home full time, wouldn’t work.
Through use and abuse in the case of the StarTech.com dock I’ve come to appreciate that the shielding and cabling was damaged, and in the case of the cheaper USB 3 Hub from Unitek, I doubt it was ever particularly well shielded to begin with and I essentially got what I paid for as it was rather cheap.
Miscellaneous Adaptors I Used Along The Way
Well Shielded Cables Please
Poorly shielded cabling relating to high speed external data buses is far more often the culprit that you might think when you’re experiencing BlueTooth or WiFi issues. Whilst it’s true there are many layers to the comms stack, it’s also possible it’s purely a software issue, it could be a faulty BlueTooth device as well. Having said that, swapping out cables and docks may well solve your problems definitively.
I like to think about shielding as the bottle and RF Noise as the genie. Once that shielding is damaged or if it’s poorly designed or constructed, it lets the genie out of the bottle and once it’s out, it’s incredibly difficult to stop it interfering with other devices.
My advice: choose your USB hubs, devices and cables with care and treat them well, lest that EMI genie be let out of its bottle.
Hopefully this helps someone trying to understand why their BlueTooth devices are misbehaving, when said devices are in otherwise perfect condition.