Problemas de Bluetooth después de la suspensión en OS X Yosemite (10.10)

Parece que tengo problemas persistentes con la conectividad Bluetooth, especialmente después de despertar mi Macbook Pro de un sueño prolongado.

Tengo un altavoz que se apaga automáticamente después de un cierto período de inactividad, y mi caso de uso generalmente es abrir la computadora portátil, encender el altavoz y, cuando el controlador de Bluetooth funciona con normalidad, se vuelve a conectar automáticamente.

Sin embargo, el problema parece ser que mis periféricos Bluetooth no se vuelven a conectar si mi Macbook acaba de despertarse de un sueño prolongado.

Después de buscar, encontré este script para relanzar las extensiones del kernel de bluetooth , pero no parecía funcionar en Yosemite.

Esto es lo que sudo tail -f /var/log/system.logme dio después de hacer un kextloady kextunload(nombre de host y nombre de usuario redactado):

Nov 17 07:50:11 {redacted} sudo[8118]: username: TTY=ttys000 ; PWD=/Users/username; USER=root ; COMMAND=/sbin/kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
Nov 17 07:50:11 {redacted} kernel[0]: IOBluetoothUSBDFU::probe
Nov 17 07:50:11 {redacted} kernel[0]: IOBluetoothUSBDFU::probe ProductID - 0x821D FirmwareVersion - 0x0147
Nov 17 07:50:11 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][start] -- completed -- result = TRUE -- 0x0800 ****
Nov 17 07:50:11 {redacted} kernel[0]: **** [BroadcomBluetoothHostControllerUSBTransport][start] -- Completed -- 0x0800 ****
Nov 17 07:50:11 {redacted} kernel[0]: [IOBluetoothHCIController][staticBluetoothTransportShowsUp] -- Received Bluetooth Controller register service notification -- 0x0800 
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][initHardwareWL] -- failed -- calling DoDeviceReset (kBluetoothControllerResetHub) -- 0x0800 ****
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][DoDeviceReset] -- thread_call_enter1 (mReEnumerateOrResetThread) -- reEnumerateOrReset (0xffffff8213ac3ae0) = 2 --  returned FALSE -- 0x0800 ****
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHCIController][ProcessBluetoothTransportShowsUpActionWL] -- Error!! -- Something went wrong in the setup process. Could not communicate with Bluetooth Transport successfully -- 0x0800 -- 0x0800 ****
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][ReEnumerateOrResetThreadEntry] -- entering -- param0 = 0xffffff806a870800, param1 = 0x2 -- 0x0800
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][ReEnumerateOrReset] -- entering -- reEnumerateOrResetIn = 2 -- this = 0x0800 ****
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][ReEnumerateOrReset] -- in our workloop -- 0x0800 ****
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][ReEnumerateOrReset] -- parameter is valid -- 0x0800 ****
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][ReEnumerateOrReset] -- reEnumerateOrReset = 2 -- 0x0800 ****
Nov 17 07:50:12 {redacted} kernel[0]: [IOBluetoothHostControllerUSBTransport][ReEnumerateOrReset] -- calling myHub->ReEnumerateDevice() -- gEnumerateCounter = 1 
Nov 17 07:50:12 {redacted} kernel[0]: [IOBluetoothHostControllerUSBTransport][ReEnumerateOrReset] -- exit; error = 0x0000 (kIOReturnSuccess)
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][ReEnumerateOrResetThreadEntry] -- exiting -- 0x0800
Nov 17 07:50:12 {redacted} kernel[0]: IOBluetoothUSBDFU::probe
Nov 17 07:50:12 {redacted} kernel[0]: IOBluetoothUSBDFU::probe ProductID - 0x821D FirmwareVersion - 0x0147
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHostControllerUSBTransport][start] -- completed -- result = TRUE -- 0x0800 ****
Nov 17 07:50:12 {redacted} kernel[0]: **** [BroadcomBluetoothHostControllerUSBTransport][start] -- Completed -- 0x0800 ****
Nov 17 07:50:12 {redacted} kernel[0]: [IOBluetoothHCIController][staticBluetoothTransportShowsUp] -- Received Bluetooth Controller register service notification -- 0x0800 
Nov 17 07:50:12 {redacted} kernel[0]: [IOBluetoothHCIController::setConfigState] calling registerService
Nov 17 07:50:12 {redacted} kernel[0]: **** [IOBluetoothHCIController][ProcessBluetoothTransportShowsUpActionWL] -- Connected to the transport successfully -- 0xe300 -- 0x0800 -- 0x0800 ****
Nov 17 07:50:12 {redacted} sharingd[367]: 07:50:12.595 : SDStatusMonitor::kStatusBluetoothPowerChanged
Nov 17 07:50:12 {redacted} sharingd[367]: 07:50:12.617 : SDStatusMonitor::kStatusBluetoothPowerChanged
Nov 17 07:50:12 {redacted} sharingd[367]: 07:50:12.637 : SDStatusMonitor::kStatusBluetoothPowerChanged
Nov 17 07:50:12 {redacted} sharingd[367]: 07:50:12.657 : SDStatusMonitor::kStatusBluetoothPowerChanged
Nov 17 07:50:12 {redacted} sharingd[367]: 07:50:12.659 : BTLE scanner Powered Off
Nov 17 07:50:12 --- last message repeated 2 times ---
Nov 17 07:50:12 {redacted} coreaudiod[360]: 2014-11-17 07:50:12.663673 AM [AirPlay] BTLE client stopping to browse for AirPlay Solo Target Presence.
Nov 17 07:50:12 {redacted} blued[62]: hciControllerOnline; HID devices? 0
Nov 17 07:50:12 {redacted} coreaudiod[360]: 2014-11-17 07:50:12.663868 AM [AirPlay] BTLE client starting to browse for AirPlay Solo Target Presence.
Nov 17 07:50:12 {redacted} sharingd[367]: 07:50:12.664 : Starting Handoff scanning
Nov 17 07:50:12 {redacted} coreaudiod[360]: 2014-11-17 07:50:12.664336 AM [AirPlay] BTLE client stopped to browse for AirPlay Solo Target Presence.
Nov 17 07:50:12 {redacted} coreaudiod[360]: 2014-11-17 07:50:12.664753 AM [AirPlay] BTLE client started to browse for AirPlay Solo Target Presence.
Nov 17 07:50:12 {redacted} sharingd[367]: 07:50:12.664 : Stopping Handoff advertising
Nov 17 07:50:12 {redacted} sharingd[367]: 07:50:12.665 : BTLE scanner Powered On
Nov 17 07:50:12 {redacted} blued[62]: hostControllerOnline - Number of Paired devices = 2, List of Paired devices = (
      "00-0c-8a-dd-fd-88",
      "84-38-35-ec-1c-ea"
  )
Nov 17 07:50:13 {redacted} kernel[0]: AppleUSBMultitouchDriver::message - kIOUSBMessagePortHasBeenReset.
Nov 17 07:50:13 {redacted} kernel[0]: AppleUSBMultitouchDriver::checkStatus - received Status Packet, Payload 2: device was reinitialized
Nov 17 07:50:13 {redacted} hidd[74]: MultitouchHID: device bootloaded
Nov 17 07:50:13 {redacted} kernel[0]: AppleUSBMultitouchDriver::_deviceGetReport - DeviceRequest for reportID 0xc8 returned with result 0xe000404f - retrying

uname -asalida (nombre de host redactado):

$ uname -a
Darwin {redacted} 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64

¿Alguno de ustedes ha visto este problema antes? Cualquier ayuda sería apreciada.

Intente mantener presionado el botón del mouse durante 2 segundos después de que su Mac se haya despertado. Mi MagicMouse se conecta después de esto. Puede ser un efecto secundario del diseño intencional para ahorrar batería mientras está inactivo o algo así.
Esto me sucede a veces. El otro síntoma es que no pasa nada si trato de apagar el Bluetooth. La solución @webaholik arregló mi Bluetooth.
Todavía tengo este problema, 5 años después. Ninguna de las respuestas parece ayudar realmente a la causa raíz.

Respuestas (16)

He tenido problemas para volver a conectar mi teclado y trackpad bluetooth desde que actualicé a Yosimite.

Primero intente esto: Abra la Terminal y ejecute 2 comandos:

sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

Solo tuve que correr arriba una vez. Si más tarde, el bluetooth vuelve a fallar 2 opciones, simplemente ejecute arriba nuevamente o puede crear una solución de 1 clic con una aplicación simple usando Automator:

  1. Busque (búsqueda de Spotlight) y ejecute Automator
  2. Haga clic en "Nuevo documento" en la parte inferior
  3. Elija "Aplicación" para el nuevo tipo de archivo
  4. Haga clic en "Utilidades" de la lista
  5. Haga doble clic en "Ejecutar AppleScript"
  6. Reemplace (* Su script va aquí *) con:

    do shell script "kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport; 
    kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport" with administrator privileges
    
  7. Presiona reproducir para probar (te pedirá la contraseña)
  8. Archivo->Guardar en el escritorio o donde sea

Ejecute la aplicación de automatización siempre que los dispositivos bluetooth no se conecten

Hmm, creo que eso fue lo que intenté anteriormente como sugiere el registro, y no ayudó. Tal vez voy a intentar esto de nuevo.
En su registro, no vi: kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport, solo kextload, solo asegúrese de ejecutar la descarga primero. Solo tuve que ejecutar esto una vez (la semana pasada), anteriormente casi todos los días tenía que reiniciar cada vez que intentaba activar mi macbook pro y conectarme a mi teclado y mouse bluetooth.
¡Funciona! ¡Gracias! ¿También tiene curiosidad por saber si le sucede al azar o después de que la computadora portátil duerme y se despierta?
Fue principalmente al despertar, pero a veces sucedió al regresar después de sacar la computadora portátil del alcance.
Creé un script para instalar sleepwatcher y ejecutarlos en los comandos cada vez que la computadora se despierta del modo de suspensión, lo que me eliminó por completo el problema: gist.github.com/Tyilo/c92684d277acb62272b5
En mi El Capitan (y buscar en Google sugiere muchos otros), kextunloadfalla ( Can't unload kext com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport; classes have instances) y deja el Bluetooth no disponible (deslice el icono).
En mi High Sierra no puedo descargar:(kernel) Can't remove kext com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport; services failed to terminate - 0xdc008018. Failed to unload com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport - (libkern/kext) kext is in use or retained (cannot unload).
@webaholik, por favor ayuda. Tengo el mismo problema que Dr_Zaszuś.
@Dr_Zaszuś ¿Ha encontrado alguna solución? Tengo el mismo problema.
@WebBrother: ya no tengo este problema y no puedo replicarlo. Sin embargo, es posible que desee probar esto ya que mi método anterior no funciona para usted: Abra el Monitor de actividad, busque "azul", luego salga de "azul" o "bluetoothd". Su proceso principal, "launchd", debería reiniciar automáticamente el demonio bluetooth.
@WebBrother En realidad, lo que ayudó en mi caso (al menos temporalmente) fue acceder al modo de depuración de bluetooth (busque cómo hacerlo en Google) y luego hacer que mi Mac olvide todos los dispositivos conectados y luego vuelva a conectarlos. Durante algún tiempo no tuve más el problema.

La solución de Mikaey en el foro de soporte de Apple:

  1. Apaga tu Wi-Fi
  2. Intente volver a conectarse a sus dispositivos bluetooth ( debería funcionar )
  3. Vuelva a encender WiFi

Esto ha resuelto el problema para mí.

De hecho, recuerdo que esto también me funcionó en ocasiones. Y más específicamente, el problema fue cuando se conectó a wifi de 5GHz.
Hice esto cuando encontré el problema por primera vez, apagué y volví a encender todo en diferentes secuencias y no resolvió mi problema. El dispositivo bluetooth simplemente no quería conectarse a la mac después de dormir.
Esta solución funcionó para mí. :) Y estaba usando Wifi de 5 GHz, como @haylem.
...pero la próxima vez que tuve este problema tuve que usar la solución de @webaholik.
esta solución me funciona MacBook pro retina 13 pulgadas 10.13.5

Después de intentar ejecutar los scripts sugeridos por otras respuestas, descargar y volver a cargar tanto el kext como el demonio bluetooth, mi bluetooth aún no respondía.

Sin embargo, descubrí que si Yosemite duerme con VMWare en ejecución y bluetooth no funciona cuando se activa el sistema operativo, cerrar VMWare soluciona el problema.

Parece que los controladores de VMWare no siempre manejan correctamente el proceso de reposo/activación.

Me di cuenta de lo mismo. VMWare era el problema. Después de suspender la máquina virtual, bluetooth comenzó a funcionar nuevamente.

-- ACTUALIZACIÓN: Este problema NO está solucionado en OSX 10.11 El Capitan --

La siguiente es una alternativa a la solución Automator publicada por webaholic, para aquellos que, como yo, encuentran inconveniente tener que ingresar su contraseña nuevamente (lo más probable es que la haya ingresado para iniciar sesión después de activar su Mac).

Primero, en la Terminal, cree un script que vuelva a cargar el subsistema bluetooth:

cat > bt_restart <<END
#!/bin/sh
kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport && \
kextload   -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
END
chmod +x bt_restart

En segundo lugar, haz que root sea su propietario y muévelo a /sbin:

sudo chown root:wheel bt_restart
sudo mv bt_restart /usr/local/sbin

Tercero, agregue el comando a la lista de comandos NOPASSWD en sudoers:

echo -e "\n\n# Restart bluetooth without password\n$USER ALL=(ALL) NOPASSWD: /usr/local/sbin/bt_restart" | EDITOR='tee -a' sudo visudo

Finalmente, cree un script en su escritorio que llame a bt_restart:

echo '#!/usr/bin/sudo /usr/local/sbin/bt_restart' > ~/Desktop/"Restart Bluetooth"
chmod +x ~/Desktop/"Restart Bluetooth"

¡Hecho! Simplemente haga doble clic con el trackpad de su computadora portátil (o el mouse USB) en Reiniciar Bluetooth en su escritorio.

chownerror tipográfico al cambiar de propietario, no debería serlo chmod: intenté editarlo yo mismo, pero no tengo crédito aquí y la edición estaba por debajo del límite de longitud :-/
al menos en mi máquina, recibo un error de permiso cuando intento modificar /etc/sudoers, como alternativa, puede editar el archivo directamente consudo visudo

Tuve el mismo problema y creo que detecté una posible causa del problema. Mi mouse se llamaba "Ratón de mi nombre" con el apóstrofe, tal vez eso estaba causando los errores.

Cambié el nombre para evitar el uso de espacios y caracteres especiales, ahora se llama simplemente "mymouse" y parece que ya no tengo el problema.

Esto parece interesante. Básicamente cambie el nombre del dispositivo Bluetooth para que no contenga espacios. Le daré una oportunidad.
@Leenyx ¡Gracias! ¡Me ayudó! PS Macbook Pro (mediados de 2015) Mac OS High Sierra 10.13.6

Para resumir, aquí hay una lista de cosas que se mencionan aquí, en enlaces desde aquí, en hilos similares en otros sitios, o incluso inventadas por mi razonamiento a partir de esos otros. He probado todos estos, solos y en muchas combinaciones. Todos ellos han parecido funcionar al menos una vez; todos han fallado al menos una vez.

  • baterías de ratón nuevas
  • quitar y volver a emparejar el mouse
  • apague WiFi y mouse; conecte el ratón Bluetooth; restaurar Wi-Fi
  • apague WiFi, mouse y VPN; conectar; restaurar
  • eliminar Bluetooth PAN; conectar
  • kextdescargar/cargar USBTransport; conectar
  • transferir kextunload a sleepwatcher; dormir; despierto; conectar
  • desconecte todos los conectores USB (diablos, todos los conectores); conectar
  • cerrar sesión; iniciar sesión; conectar
  • reiniciar; iniciar sesión; conectar
  • restablecer SMC (lo que implica "apagar"); reiniciar; iniciar sesión conectar
  • apague el alojamiento de VM (como VMWare, Parallels o VirtualBox)

Elijo tener esta lista a mano y uso "todo lo anterior".

Creo que lo único que es seguro, aquí, es que hay una gran dosis de "azar" involucrada en alguna parte, tal vez una carrera entre todos estos impulsores de redes, pseudoredes, redes en capas, redes virtuales y redes proxy. En cuyo caso, probablemente no sea solo culpa de Apple, porque esos controladores provienen de una variedad de fuentes.

Por supuesto, la reputación de "simplemente funciona" de Apple, una vez famosa, se basó en gran medida en prohibir exactamente este tipo de diversidad en colisión.

Después de intentar sin éxito un montón de trucos que encontré, solo el reinicio tuvo éxito. Pero "eliminar Bluetooth PAN" funcionó. ¡Muchas gracias!

Todavía tengo este problema en macOS Sierra. El enlace de @Tyilo arriba a su esencia me dio un punto de partida. Pero también quería usar homebrew para instalar sleepwatcher, y los archivos plist no estaban configurados correctamente de fábrica. Así que jugué durante mucho tiempo y se me ocurrió este script que hizo que todo funcionara de manera confiable para mí.

brew install sleepwatcher
sudo touch /etc/rc.sleep
sudo tee -a /etc/rc.wakeup <<EOF
#!/bin/sh
# Sleepwatcher script to get bluetooth working after the mac wakes up
# Got this approach from https://gist.github.com/Tyilo/c92684d277acb62272b5
kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
EOF
sudo chmod +x /etc/rc.wakeup
brew services start sleepwatcher
sudo tee -a /Library/LaunchAgents/de.bernhard-baehr.sleepwatcher-20compatibility-custom.plist <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>de.bernhard-baehr.sleepwatcher</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/sbin/sleepwatcher</string>
        <string>-V</string>
        <string>-s /etc/rc.sleep</string>
        <string>-w /etc/rc.wakeup</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>
EOF
sudo launchctl load /Library/LaunchAgents/de.bernhard-baehr.sleepwatcher-20compatibility-custom.plist

Gracias a Tyilo por los comentarios sobre la respuesta aceptada, modifiqué su secuencia de comandos para instalar Sleepwatcher y anexar a la secuencia de comandos un código que no solo descargará el controlador de Bluetooth ( com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport), sino que también reiniciará bluedel demonio de Bluetooth de Apple.

El script se puede encontrar aquí: https://gist.github.com/timgws/fc63aeca6a248bbb25ff

Ejecutar esto ha resuelto todos los problemas para mí.

Consciente de que esta es una publicación bastante antigua ahora, pero me estaba volviendo loco por la demora que estaba teniendo después de despertarme antes de que se pudiera usar el Magic Trackpad ... podría ser fácilmente unos buenos 30 segundos. Probé la mayoría / todos los consejos y sugerencias que pude encontrar con muy poco efecto.

Sin embargo, intenté mover el ícono de Bluetooth en la barra de menú (CMD ALT Drag) desde su posición normal (alrededor del 7° en ) al 2° en (contado desde la derecha), es decir, al lado del menú Spotlight.

¿Hasta ahora?... ¡problema resuelto!

No estoy 100 % seguro de por qué sería esto, pero sospecha que podría tener algo que ver con el orden en que las tareas de esos elementos en la barra de menú de RHS se abordan después de la activación, es decir, aquellos más cercanos a RHS tienen mayor prioridad.

Solo toma un par de segundos hacerlo, por lo que si también tiene este problema, ¿valdría la pena intentarlo?

(iMac 27" i7 / OS X 10.10.5)

J H

La mayoría de las sugerencias que he leído parecían un poco complejas para algo tan simple como esto. Decidió adoptar un enfoque novato:

  1. Fue a Preferencias del sistema/Ratón/Configurar ratón Bluetooth
  2. La pantalla mostró "No se encontró el mouse" y comenzó a buscar.
  3. Apagué mi mouse y luego lo encendí nuevamente (solución de Windows para una gran cantidad de problemas).
  4. Encontró mi ratón.

Parece que los kextunloadcomandos ya no funcionan en High Sierra. Sin embargo , hay una herramienta de línea de comandos de terceros para hacer lo mismo y funciona: https://github.com/toy/blueutil : puede modificar los scripts mencionados aquí para usarlos en su blueutillugar, o incluso hay una solución completa ( muy similar a lo que ya hemos visto en esta página): https://gist.github.com/ralph-hm/a65840c4f5e439b90170d735a89a863f

¿Eres el autor de esa utilidad?
No, me acabo de enterar cuando estaba buscando de nuevo una solución a este problema...
Todo lo que hace es realizar las mismas acciones de encendido/apagado que puede realizar desde el panel de preferencias de Bluetooth. En mi caso no ayudaron. Por cierto, si desea usar esto, debe descargar el zip y luego ejecutarlo xcodebuild -project blueutil.xcodeprojecten el directorio desempaquetado. Es entonces en build/Release.

Este artículo de Michael Kummer informa una lista bastante exhaustiva de intentos fallidos de solucionar problemas de Bluetooth en Mac, y finalmente sugiere una solución comprometida al deshabilitar el manos libres que parece funcionar: https://michaelkummer.com/technology/mac-bluetooth-issues-affect -teclado-panel táctil/

También visto en https://www.forbes.com/sites/bradmoon/2017/07/13/this-trick-may-solve-your-mac-bluetooth-connectivity-issues/#6fefb3f45196

Gracias. Examinaré en detalle estos artículos más adelante. Mi nuevo Imac (2 semanas de antigüedad) deja caer BlueTooth continuamente y debo haber pasado al menos 8 horas en el teléfono con los llamados "genios" sin éxito...

Vuelva a instalar macOS.

Esta no es realmente una solución, pero solo quiero compartir mi experiencia para dar algo de esperanza a aquellos que enfrentan el mismo problema que el mío, que aún podría no ser un problema de hardware o un problema de interferencia wifi, que puede ser más costoso. o problemático para resolver eso reinstalando MacOS.

Lo que experimenté: después de que mi Macbook Pro 2015 se despertara del modo de suspensión, no podía conectarse a dispositivos bluetooth. El problema había empeorado con el tiempo, desde un pequeño inconveniente inicial (por ejemplo, deshabilitar y volver a habilitar el módulo bluetooth o wifi podría solucionarlo) hasta un gran dolor posterior (por ejemplo, requiere un reinicio con el reinicio de SMC/PRAM).

Un síntoma o efecto secundario que podría estar relacionado era que la computadora a veces tardaba demasiado (decenas de segundos) en activarse.

Reinstalar (limpiar) MacOS fue mi último recurso, pero parece que simplemente funciona. Después de reinstalar, no observé ningún problema o contratiempo con bluetooth, wifi o dormir.

Descargo de responsabilidad: probablemente haya alguna solución adecuada que pueda lograr el mismo efecto, que puede o no haber sido descubierta todavía. Además, la reinstalación del sistema operativo siempre conlleva riesgos de pérdida de datos y productividad que uno debe evaluar.

Nueva actualización: Estuvo sin problemas durante una semana. Pero luego el problema de bluetooth parece volver a veces. No hice muchos retoques con el sistema durante la semana, aparte de instalar algunos programas y paquetes muy comunes, principalmente a través de Homebrew.

Basado en las sugerencias de otras personas, creé un script de shell simple para restablecer el bluetooth. Ver esencia para más detalles.

Versión simplificada (depende de la blueutilpreparación):

blueutil -p 0
networksetup -setairportpower en0 off
sleep 3
networksetup -setairportpower en0 on
sleep 3
blueutil -p 1

Apaga el bluetooth, apaga el wi-fi, vuelve a encender el wi-fi y finalmente vuelve a encender el bluetooth.

ACTUALIZACIÓN 2: la última solución solo funcionó durante aproximadamente una semana. Actualicé a macOS Mojave (10.14.6) y este problema parece estar solucionado. Supervisará e informará si algo cambia.

ACTUALIZACIÓN: he podido resolver esto al 100% después de observar durante meses yendo a System Preferences-> General-> desmarcandoAllow Handoff between this Mac and your iCloud devices

Así que he estado lidiando con esto en mi Macbook Pro (principios de 2015) durante todo el tiempo que lo he tenido. Intenté casi todo, kextunload/ kextload, reinicio de SMC, etc... sin éxito. Para ser específico, mi síntoma es que después de despertarme en algún momento, el ícono de bluetooth tendría un garabato como este: ingrese la descripción de la imagen aquíY se negaría a conectarse a cualquier dispositivo. Este comportamiento estaba presente tanto en Yosemite como en High Sierra (versión en la que estoy actualmente).

La ÚNICA solución que me ha funcionado con > 80% de consistencia (aparte de reiniciar) es esta:

System Preferences-> Bluetooth-> Desmarque Show Bluetooth in menu bar-> Marque Show Bluetooth in menu bary luego espere 10 segundos (en este punto, su bluetooth debería estar disponible y no tener el garabato a través del ícono) -> vuelva a intentar conectar el dispositivo.

Esto funcionó el 80% del tiempo para mí, aunque a veces todavía necesito reiniciar. Espero que esto ayude.

ACTUALIZACIÓN: Esto ha evitado que Bluetooth no esté disponible, pero parece que Bluetooth a veces no se conecta/funciona aunque el icono muestra que está bien... Ya no estoy seguro de qué hacer. Esto parece un problema que Apple debería investigar.

Intente hacer clic con el mouse después de que su Mac se despierte del modo de suspensión.

Esto pareció conectar mi Magic Mouse 2 más rápido con una Mac Mini con macOS Sierra (10.12.2).