54 votos

Problemas con el Bluetooth tras el reposo en OS X Yosemite (10.10)

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

Tengo un altavoz que se apaga automáticamente después de un cierto período de inactividad, y mi caso de uso suele ser abrir el portátil, encender el altavoz, y cuando el controlador de Bluetooth se comporta de forma normal, se vuelven a conectar automáticamente.

Sin embargo, el problema parece ser que mis periféricos Bluetooth no se reconectan si mi Macbook acaba de ser despertado de un largo sueño.

Después de buscar por ahí, encontré este script para relanzar las extensiones del kernel bluetooth pero parece que no funciona en Yosemite.

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

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 salida (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

¿Alguien ha visto este problema antes? Cualquier ayuda se agradecería.

1 votos

Intenta mantener el botón del ratón durante 2 segundos después de que tu Mac se haya despertado. Mi MagicMouse se conecta después de esto. Puede ser un efecto secundario del diseño intencionado para ahorrar batería mientras está inactivo o algo así.

0 votos

Esto me pasa a veces. El otro síntoma es que no pasa nada si intento desactivar el Bluetooth. La solución de @webaholik arregló mi Bluetooth.

0 votos

Todavía tengo este problema, 5 años después. Ninguna de las respuestas parece ayudar realmente a la causa root.

54voto

webaholik Puntos 763

He tenido problemas para reconectar mi teclado y trackpad bluetooth desde la actualización a Yosimite.

Primero prueba esto: Abre el Terminal y ejecuta 2 comandos:

sudo kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

sudo kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

Sólo tuve que correr por encima una vez. Si más tarde el bluetooth se rompe de nuevo 2 opciones, simplemente ejecute arriba de nuevo o puede crear una solución de 1 clic con una simple aplicación utilizando Automator:

  1. Busque (búsqueda en 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. Sustituye (* Tu script va aquí *) por:

    do shell script "kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport; 
    kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport" with administrator privileges
  7. Pulse el botón de reproducción para probar (se le pedirá la contraseña)

  8. Archivo->Guardar en el escritorio o donde sea

Ejecutar la aplicación del automatizador siempre que los dispositivos bluetooth no se conecten

1 votos

Hmm, creo que eso fue lo que probé arriba como sugiere el registro, y no ayudó. Tal vez voy a probar esto de nuevo.

0 votos

En tu registro, no vi: kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport, sólo kextload, sólo asegúrate de ejecutar primero unload. Sólo he tenido que ejecutar esto una vez (la semana pasada), antes casi a diario tenía que reiniciar cada vez que intentaba despertar mi macbook pro y conectarme a mi teclado y ratón bluetooth.

0 votos

¡Funciona! Gracias. También tengo curiosidad por saber si te pasa al azar o después de que el portátil duerme y se despierta?

11voto

NateReid Puntos 34

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

  1. Apague su WiFi
  2. Intenta volver a conectarte a tus dispositivos bluetooth ( debería funcionar )
  3. Volver a encender el WiFi

Esto me ha solucionado el problema.

1 votos

De hecho, recuerdo que esto también me ha funcionado en ocasiones. Y más concretamente, el problema era cuando se conectaba al wifi de 5GHz.

0 votos

Hice esto cuando me encontré con el problema por primera vez, apagué todo y lo volví a encender en diferentes secuencias y no resolvió mi problema. El dispositivo bluetooth simplemente no quería conectarse al mac después de dormir.

1 votos

Esta solución me ha funcionado :) Y yo estaba usando 5GHz Wifi, como @haylem.

6voto

d0k Puntos 1890

Después de intentar ejecutar los scripts sugeridos por otras respuestas, descargando y recargando tanto el kext como el demonio del bluetooth, mi bluetooth seguía sin responder.

Sin embargo, he descubierto que si Yosemite duerme con VMWare en funcionamiento y el bluetooth no funciona cuando se despierta el SO, cerrar VMWare rectifica el problema.

Parece que los controladores en VMWare no siempre manejan el proceso de dormir / despertar correctamente.

0 votos

Me he dado cuenta de lo mismo. El problema era VMWare. Después de suspender la máquina virtual, el bluetooth empezó a funcionar de nuevo.

6voto

-- ACTUALIZACIÓN: Este problema es NO arreglado en OSX 10.11 El Capitan --

La siguiente es una alternativa a la solución de Automator publicada por webaholic, para aquellos que, como yo, encuentran incómodo tener que volver a introducir su contraseña (lo más probable es que la haya introducido para iniciar la sesión después de despertar su Mac).

Primero, en Terminal, crea un script que recargue 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

En tercer lugar, añade 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, crea un script en tu escritorio que llame a bt_restart:

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

Ya está. Sólo tienes que hacer doble clic con el trackpad de tu portátil (o ratón USB) en el Reiniciar Bluetooth en su escritorio.

1 votos

Error tipográfico al cambiar de propietario, debería ser chown no chmod - intenté editarme a mí mismo, pero no hay crédito aquí y la edición estaba por debajo de un límite de longitud :-/

1 votos

Al menos en mi máquina, me da un error de permiso al intentar modificar /etc/sudoers como alternativa puede editar el archivo directamente con sudo visudo

3voto

Leenyx Puntos 11

He tenido el mismo problema y creo que he detectado una posible causa del problema. Mi ratón se llamaba "ratón de mi nombre" 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.

0 votos

Esto parece interesante. Básicamente, cambiar el nombre del dispositivo Bluetooth para que no contenga espacios. Lo intentaré.

0 votos

@Leenyx ¡Gracias! ¡Me ha servido de ayuda! P.D. Macbook Pro (mediados de 2015) Mac OS High Sierra 10.13.6

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X