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

52

Parece que tengo problemas persistentes con la conectividad Bluetooth, especialmente después de despertar mi Macbook Pro después de un largo descanso.

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 de manera normal, se volverá a conectar automáticamente.

Sin embargo, el problema parece ser que los periféricos de mi Bluetooth no se vuelven a conectar si mi Macbook acaba de despertarse de un largo período de inactividad.

Después de buscar, encontré esta secuencia de comandos para relanzar las extensiones del kernel Bluetooth , pero no parecía Trabajar en Yosemite.

Esto es lo que sudo tail -f /var/log/system.log me dio después de hacer kextload y kextunload (nombre de host y nombre de usuario eliminados):

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 -a output (nombre de host eliminado):

$ 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.

    
pregunta Ivan Gozali 17.11.2014 - 17:02

14 respuestas

52

He tenido problemas para volver a conectar mi teclado bluetooth & trackpad desde la actualización a Yosimite.

Primero prueba esto: Abrir Terminal & ejecutar 2 comandos:

sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

Solo tuve que correr arriba una vez. Si Bluetooth posterior vuelve a romper las 2 opciones, simplemente ejecútelo de nuevo o puede crear una solución de 1 clic con una aplicación simple utilizando Automator:

  1. Busca (búsqueda de Spotlight) y ejecuta Automator
  2. Haz 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. Reemplazar (* Su script va aquí *) con:

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

Ejecute la aplicación automator cuando los dispositivos Bluetooth no se conecten

    
respondido por el webaholik 25.11.2014 - 20:32
10

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

  1. Apaga tu WiFi
  2. Intente volver a conectarse a sus dispositivos Bluetooth ( debería funcionar )
  3. Vuelve a encender el WiFi

Esto me ha solucionado el problema.

    
respondido por el kingliam 09.03.2015 - 22:43
6

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, he descubierto que si Yosemite duerme con VMWare ejecutándose y el bluetooth no funciona cuando se activa el sistema operativo, al cerrar VMWare se soluciona el problema.

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

    
respondido por el TheDarkKnight 25.06.2015 - 09:59
6

- ACTUALIZACIÓN: este problema NO se solucionó en OSX 10.11 El Capitán -

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

Primero, en Terminal, cree un script que vuelva a cargar el subsistema de 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, haga de la raíz su propietario y muévalo 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.

    
respondido por el Ziggy Crueltyfree Zeitgeister 06.08.2015 - 14:35
3

Tuve el mismo problema y creo que descubrí una posible causa del problema. Mi mouse se llamaba "My Name's mouse" con el apóstrofe, tal vez eso estaba causando los errores.

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

    
respondido por el Leenyx 26.11.2014 - 12:16
3

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 de plist no se configuraron correctamente de forma inmediata. Así que jugué un buen rato y encontré este script que hizo que las cosas funcionaran de forma 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
    
respondido por el Kyle Tolle 29.07.2017 - 20:57
2

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

El script se puede encontrar aquí: enlace

Ejecutar esto ha resuelto todos los problemas para mí.

    
respondido por el Tim Groeneveld 09.06.2015 - 02:38
2

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

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

Elijo mantener esta lista a la mano y usar "todo lo anterior".

Creo que lo único que es seguro, aquí, es que hay una gran dosis de "aleatorios" involucrados en alguna parte, tal vez una carrera entre todos estos controladores para redes, pseudo redes, 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 famosa reputación de Apple de "simplemente funciona" se basó en gran medida en prohibir exactamente este tipo de diversidad en colisión.

    
respondido por el jackr 20.10.2015 - 19:27
2

Consciente de que esta es una publicación bastante antigua ahora, pero la demora que recibía después de despertarme antes de poder utilizar el Trackpad Mágico estaba siendo loca ... podría ser un buen 30 segundos. Probé la mayoría / todas las sugerencias y consejos que pude encontrar con muy poco efecto.

Sin embargo, acabo de intentar mover el ícono de Bluetooth en la barra de menús (CMD ALT Arrastrar) desde su posición normal (aproximadamente la séptima entrada) a la segunda (según se cuenta desde la derecha), es decir, al lado del menú Spotlight.

¿Hasta ahora? ... ¡el problema se fue!

No estoy 100% seguro de por qué sería esto, pero sospecha que podría tener algo que ver con el orden en el que las tareas de esos elementos en la Barra de menús de RHS se abordan después de la activación, es decir, ¿las que están más cerca de RHS tienen mayor prioridad? / p>

Solo le tomará un par de segundos, así que si también tiene este problema, ¿vale la pena intentarlo?

(iMac 27 "i7 / OS X 10.10.5)

JH

    
respondido por el John H 12.03.2017 - 14:01
2

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

  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 a una gran variedad de problemas).
  4. Encontró mi ratón.
respondido por el GDB 18.07.2017 - 23:42
2

Parece que los comandos kextunload ya no funcionan en High Sierra. Sin embargo, hay una herramienta de línea de comandos de terceros para hacer lo mismo y funciona: enlace : usted puede modificar los scripts mencionados aquí para usar blueutil en su lugar, o incluso hay una solución completa (muy similar a la que ya hemos visto en esta página): enlace

    
respondido por el miemo 27.12.2017 - 17:45
2

Este artículo de Michael Kummer informa sobre una lista bastante exhaustiva de intentos fallidos para solucionar problemas de bluetooth en mac, y finalmente sugiere una solución comprometida al desactivar el traspaso que parece funcionar: enlace

También se ve en enlace

    
respondido por el user716468 26.11.2018 - 07:58
1

Reinstalar MacOS.

Esta no es realmente una solución, pero solo quiero compartir mi experiencia para darles una esperanza a aquellos que enfrentan el mismo problema que el mío: que esto podría no ser un problema de hardware o interferencia wifi, lo que puede Ser más costoso o problemático resolverlo reinstalando MacOS.

Lo que experimenté: después de que mi Macbook Pro 2015 se despertó, no se pudo conectar a dispositivos Bluetooth. El problema empeoró las horas extraordinarias, desde un principio solo un pequeño inconveniente (por ejemplo, deshabilitar y volver a habilitar el módulo bluetooth o wifi podría solucionarlo) y luego un gran dolor (por ejemplo, requiere un reinicio con el reinicio de SMC / PRAM).

Un síntoma o efecto secundario que podría estar relacionado es que a veces la computadora tardó demasiado (10 segundos) para despertarse.

Reinstalar (limpiar) MacOS fue mi último recurso, pero parece que simplemente funciona. Después de la reinstalación, no observé ningún problema o problema con el bluetooth, el wifi o el modo de suspensión.

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

Nueva actualización: estuvo libre de problemas durante una semana. Pero entonces el problema del bluetooth parece volver a veces. En la semana no hice muchos retoques con el sistema, aparte de instalar algunos paquetes y software muy comunes, principalmente a través de Homebrew.

    
respondido por el user716468 26.08.2018 - 11:16
-1

Intenta hacer clic con el mouse después de que tu Mac se despierte.

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

    
respondido por el Aanand 05.01.2017 - 03:31

Lea otras preguntas en las etiquetas