Adding to that, there is a (somewhat) reliable way to get bluetooth back. It involves goign to the following process _twice_: stopping the bluetooth service, unloading all relevant modules, suspending the laptop, resuming, reloading all modules, starting the bluetooth service.
Rather cumbersome, but it might help other experiencing this issue.
I use the following script for "convenience" (en remeber to run it twice to get bt back):
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
exec /usr/bin/sudo $0
fi
modules=(btusb btintel btbcm bnep rfcomm bluetooth)
/bin/systemctl stop bluetooth
for (( i=0; i<${#modules[@]}; i++ ))
do
/sbin/modprobe -r "${modules[i]}"
done
/bin/systemctl suspend
for (( i=${#modules[@]}-1; i>=0; i-- ))
do
/sbin/modprobe "${modules[i]}"
done
/bin/systemctl start bluetooth
exit 0
Adding to that, there is a (somewhat) reliable way to get bluetooth back. It involves goign to the following process _twice_: stopping the bluetooth service, unloading all relevant modules, suspending the laptop, resuming, reloading all modules, starting the bluetooth service.
Rather cumbersome, but it might help other experiencing this issue.
I use the following script for "convenience" (en remeber to run it twice to get bt back):
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
exec /usr/bin/sudo $0
fi
modules=(btusb btintel btbcm bnep rfcomm bluetooth)
/bin/systemctl stop bluetooth
for (( i=0; i<${#modules[@]}; i++ ))
do
/sbin/modprobe -r "${modules[i]}"
done
/bin/systemctl suspend
for (( i=${#modules[@]}-1; i>=0; i-- ))
do
/sbin/modprobe "${modules[i]}"
done
/bin/systemctl start bluetooth
exit 0