54 votes

Problèmes Bluetooth après la mise en veille dans OS X Yosemite (10.10)

Il semble que j'aie des problèmes persistants avec la connectivité Bluetooth, surtout après avoir réveillé mon Macbook Pro après un long sommeil.

J'ai un haut-parleur qui s'éteint automatiquement après une certaine période d'inactivité, et mon cas d'utilisation typique est d'ouvrir l'ordinateur portable, d'allumer le haut-parleur, et quand le pilote Bluetooth se comporte normalement, ils se reconnectent automatiquement.

Cependant, le problème semble être que mes périphériques Bluetooth ne se reconnectent pas si mon Macbook vient d'être réveillé d'une longue période de sommeil.

Après avoir cherché, j'ai trouvé ce script pour relancer les extensions du noyau Bluetooth mais cela ne semble pas fonctionner sur Yosemite.

Voici ce que sudo tail -f /var/log/system.log m'a donné après avoir fait un kextload y kextunload (nom d'hôte et nom d'utilisateur expurgé) :

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 sortie (nom d'hôte expurgé) :

$ 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

L'un d'entre vous a-t-il déjà rencontré ce problème ? Toute aide serait appréciée.

3voto

jackr Points 269

Pour résumer, voici une liste de choses mentionnées ici, dans des liens d'ici, dans des fils similaires sur d'autres sites, ou même inventées par moi en raisonnant à partir de ces autres. J'ai essayé toutes ces choses, séparément et dans de nombreuses combinaisons. Toutes ont semblé fonctionner au moins une fois ; toutes ont échoué au moins une fois.

  • nouvelles batteries de souris
  • retirer et remettre la souris en place
  • éteindre le WiFi et la souris ; connecter la souris Bluetooth ; rétablir le WiFi
  • désactiver le WiFi, la souris et le VPN ; se connecter ; restaurer
  • supprimer le PAN Bluetooth ; se connecter
  • kextunload/load USBTransport ; connecter
  • connecter kextunload à sleepwatcher ; dormir ; se réveiller ; se connecter
  • débranchez tous les connecteurs USB (talon, tous connecteurs) ; connecter
  • se déconnecter ; se connecter ; se connecter
  • redémarrer ; se connecter ; se connecter
  • réinitialiser le SMC (ce qui implique un "arrêt") ; redémarrer ; se connecter
  • arrêter l'hébergement de VM (comme VMWare, Parallels ou VirtualBox)

J'ai choisi de garder cette liste à portée de main, et d'utiliser "tout ce qui précède".

Je pense que la seule chose qui est certaine, ici, c'est qu'il y a une grande dose de "hasard" impliquée quelque part, peut-être une course entre tous ces pilotes pour les réseaux, pseudo-réseaux, réseaux en couches, réseaux virtuels et réseaux proxy. Dans ce cas, ce n'est probablement pas seulement la faute d'Apple, car ces pilotes proviennent de diverses sources.

Bien sûr, la réputation d'Apple, jadis célèbre pour son principe de "fonctionnement sans faille", s'est en grande partie construite sur l'interdiction de ce type de collision des diversités.

3voto

Kyle Tolle Points 131

Je rencontre toujours ce problème sous MacOS Sierra. Le lien de @Tyilo ci-dessus vers son gist m'a donné un point de départ. Mais je voulais également utiliser homebrew pour installer sleepwatcher, et les fichiers plist n'étaient pas configurés correctement hors de la boîte. J'ai donc joué pendant un long moment et j'ai trouvé ce script qui a fait fonctionner les choses de manière fiable pour moi.

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

2voto

Tim Groeneveld Points 121

Grâce à Tyilo à partir des commentaires sur la réponse acceptée, j'ai modifié son script pour installer sleepwatcher et ajouter au script du code qui non seulement déchargera le pilote Bluetooth ( com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport ), mais aussi redémarrer blued le démon Bluetooth d'Apple.

Le script se trouve ici : https://gist.github.com/timgws/fc63aeca6a248bbb25ff

L'exécution de ce programme a résolu tous les problèmes pour moi.

2voto

i.ngen-io-us Points 2398

Je suis conscient que c'est un vieux post maintenant mais j'étais rendu fou par le délai que j'obtenais après le réveil avant que le Magic Trackpad soit utilisable.... pouvait facilement être une bonne 30 secondes. J'ai essayé la plupart des trucs et astuces que j'ai pu trouver, mais sans grand résultat.

Cependant, je viens d'essayer de déplacer l'icône Bluetooth de la barre de menu (CMD ALT Drag) de sa position normale (environ 7e position) à la 2e position (en partant de la droite), c'est-à-dire à côté du menu Spotlight.

Jusqu'à présent ?... problème résolu !

Je ne suis pas sûr à 100% de la raison de ce phénomène, mais je pense que cela pourrait avoir un rapport avec l'ordre dans lequel les tâches des éléments de la barre de menu RHS sont traitées après le réveil, c'est-à-dire que les tâches les plus proches du RHS ont une priorité plus élevée ?

Cela ne prend que quelques secondes à faire, donc si vous avez aussi ce problème, cela peut valoir la peine d'essayer ?

(iMac 27" i7 / OS X 10.10.5)

JH

2voto

GDB Points 121

La plupart des suggestions que j'ai lues semblaient un peu complexes pour quelque chose d'aussi simple que ça. J'ai décidé d'adopter une approche de débutant :

  1. Allez dans Préférences système/Souris/Configuration de la souris Bluetooth.
  2. L'écran a affiché "No Mouse found" et a commencé à chercher.
  3. J'ai éteint ma souris puis je l'ai rallumée (solution Windows à une myriade de problèmes).
  4. Il a trouvé ma souris.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X