Hi everyone,
I've been following this discussion for months, as I have the same issue with my 2020 MBP 13" 4-port. Not sure if Big Sur will fix this or not, but regardless, I developed a reliable work-around: I wrote an Automator Quick-Action called "Bounce Wi-Fi" and put that on my touchbar. It turns off Wi-Fi, sleeps 1 second, then turns Wi-Fi back on. That causes the system to give up on whatever it's doing to hold up the keyboard/touchpad and it all starts working again.
I placed the "Quick Actions" button on the touchbar where Siri normally sits. Whenever my keyboard hangs upon wake, I tap the Quick Actions, then tap "Bounce Wi-Fi" and I'm back in business.
This takes a small bit of coding, but it's not too bad and definitely remedies the issue.
First, write a bash script and call it "bounce-wifi.sh". I put mine in a "bin" folder under my home directory. Here's the script you can copy/paste into your text editor (TextEdit should work):
#!/bin/bash
port=`/usr/sbin/networksetup -listallhardwareports | grep -A 1 Wi-Fi | tail -n 1 | awk -F': ' '{print $2}'`
/usr/sbin/networksetup -setairportpower $port off
sleep 1
/usr/sbin/networksetup -setairportpower $port on
Next, make the script executable by bringing up Terminal, cd-ing to the directory where you saved the script, and type:
chmod 700 bounce-wifi.sh
You should test the script from Terminal by running it from its directory:
./bounce-wifi.sh
Watch your Wi-Fi icon and you'll see it deactivate and reactivate within a couple of seconds.
Once that script works, next make an Automator button for it. Run Automator, click File->New, and choose Quick Action. Here's a screenshot followed by instructions:
- Set "Workflow receives" to "no input".
- For fun, I chose a "Refresh" arrow for the Image.
- From the left side under Library, scroll down and drag "Run Shell Script" over to the right of your quick action pane.
- In the shell script window, type the full path to your "bounce-wifi.sh" script. For me, it was /Users/david/bin/bounce-wifi.sh.
- Save the quick action as "Bounce Wi-Fi" and quit Automator.
Lastly, open System Preferences, go to Keyboard, choose "Customize Control Strip..." and drag the "Quick Actions" button to your touchbar. Here are screenshots, showing my Quick Actions where Siri normally is, and showing "Bounce Wi-Fi" when I tap Quick Actions:
Whenever my keyboard/touchpad hang from sleep, I tap Quick Actions then Bounce Wi-Fi and I'm good to go. I hope this helps.