To solve the problem of Big Sur USB Bluetooth issues (due to USB 1.1 compatibility), it's well documented that USB 1.1 peripherals need to plugged into a USB 2.0 Hub. That's OK for external peripherals. In a cMP one of the USB 1.1 peripheral is Bluetooth controller (either the factory fitted one or the one of a Combo WiFi + BT upgrade cards).
The issue does not manifest if you do not multiboot different macOS versions. But if for example one boots an older OS X followed by Big Sur, bluetooth keyboard does not work and warm restart immediately will restore BT.
So I built added an off-the-shelf tiny 4-port internal USB Hub board cheap from Aliexpress:
The concept is similar to the board @cdf was developing but this one not as sophisticated.
This board is based on FE1.1S USB hub chip that is rated at 5v but works well at 3.3v too.
The under-side shows classic 5v USB voltage (but works at MacPro's 3.3v):
This board needs to be attached to USB header on the Logicboard:
The idea is to attach the BT controller on the Upstream of the Hub so that the Logicboard's USB controller "sees" the USB 1.1 peripheral and attach it so that macOS uses the EHC drivers thus satisfying compatibility requirements.
That is, insert this USB 2.0 Hub in-between the Logicboard and the BT controller (or any other USB 1.1 peripheral).
I bought the required connectors and cables from Pi Hut store.
Essential connectors are:
The USB Hub can be mounted on the screw-piller of the BT controller. Test placement:
Eventually the existing little BT controller (BCM92046MD) will be replaced by the WiFi+BT combo card (BCM943602CDP).
First added the JST PH connectors to the USB Hub board (just one for Logicboard connection and one for the USB 1.1 peripheral and left 3 others spare):
Next I built some test cables to attached the USB Hub board to the logicboard and the exiting BT controller:
Success.
The new USB Hub is recognised as USB 2.0 (from vendor Terminus Technology Inc.) and the BT controller works fine:
Next, removed the long test cables, made much short ones, removed the BCM92046MD & exiting Wi-Fi card and replaced with BCM943602CDP and added a 2-wire (D+ & D-) cable for the BT controller on the BCM943602CDP:
Again, success:
So now the BT works in Mojave, Catalina, Big Sur & Monterey.
BT works fine between multi-booting different macOS's.
The only issue is switching between older High Sierra & Monterey. Booting Monterey after High Sierra looses connection with BT keyboard and mouse for about 30-40 seconds and eventually connects allowing me to login. Maybe some NVRAM compatibility issue as BT info is stored there (?)
In summary, cheap little board for adding internal USB 2.0 Hub for up to 4 peripherals.
Hope this helps others feeling adventurous to tackle a S/W problem with a H/W solution.
The issue does not manifest if you do not multiboot different macOS versions. But if for example one boots an older OS X followed by Big Sur, bluetooth keyboard does not work and warm restart immediately will restore BT.
So I built added an off-the-shelf tiny 4-port internal USB Hub board cheap from Aliexpress:
The concept is similar to the board @cdf was developing but this one not as sophisticated.
This board is based on FE1.1S USB hub chip that is rated at 5v but works well at 3.3v too.
The under-side shows classic 5v USB voltage (but works at MacPro's 3.3v):
This board needs to be attached to USB header on the Logicboard:
The idea is to attach the BT controller on the Upstream of the Hub so that the Logicboard's USB controller "sees" the USB 1.1 peripheral and attach it so that macOS uses the EHC drivers thus satisfying compatibility requirements.
That is, insert this USB 2.0 Hub in-between the Logicboard and the BT controller (or any other USB 1.1 peripheral).
I bought the required connectors and cables from Pi Hut store.
Essential connectors are:
- JST PH (2.0mm pitch) for the USB Hub board
- PicoBlade (1.25mm pitch) for Logicboard header connector
The USB Hub can be mounted on the screw-piller of the BT controller. Test placement:
Eventually the existing little BT controller (BCM92046MD) will be replaced by the WiFi+BT combo card (BCM943602CDP).
First added the JST PH connectors to the USB Hub board (just one for Logicboard connection and one for the USB 1.1 peripheral and left 3 others spare):
Next I built some test cables to attached the USB Hub board to the logicboard and the exiting BT controller:
Success.
The new USB Hub is recognised as USB 2.0 (from vendor Terminus Technology Inc.) and the BT controller works fine:
Next, removed the long test cables, made much short ones, removed the BCM92046MD & exiting Wi-Fi card and replaced with BCM943602CDP and added a 2-wire (D+ & D-) cable for the BT controller on the BCM943602CDP:
Again, success:
So now the BT works in Mojave, Catalina, Big Sur & Monterey.
BT works fine between multi-booting different macOS's.
The only issue is switching between older High Sierra & Monterey. Booting Monterey after High Sierra looses connection with BT keyboard and mouse for about 30-40 seconds and eventually connects allowing me to login. Maybe some NVRAM compatibility issue as BT info is stored there (?)
In summary, cheap little board for adding internal USB 2.0 Hub for up to 4 peripherals.
Hope this helps others feeling adventurous to tackle a S/W problem with a H/W solution.