Wydaje mi się, że mam stałe problemy z łącznością Bluetooth, szczególnie po przebudzeniu mojego Macbooka Pro z długiego snu.
Mam głośnik, który wyłącza się automatycznie po pewnym okresie bezczynności, a moim przypadkiem użycia jest zazwyczaj otwarcie laptopa, włączenie głośnika, a gdy sterownik Bluetooth działa normalnie, automatycznie się ponownie połączą.
Jednak wydaje się, że problem polega na tym, że moje urządzenia peryferyjne Bluetooth nie łączą się ponownie, jeśli mój Macbook został właśnie obudzony z długiego snu.
Po przeszukaniu znalazłem ten skrypt, aby ponownie uruchomić rozszerzenia jądra Bluetooth , ale nie działało to na Yosemite.
Oto, co sudo tail -f /var/log/system.log
dał mi po zrobieniu kextload
a kextunload
(nazwa hosta i nazwa użytkownika zostały zredagowane):
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
wyjście (zredagowana nazwa hosta):
$ 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
Czy ktokolwiek z was widział wcześniej ten problem? Każda pomoc będzie mile widziana.
źródło
Odpowiedzi:
Mam problemy z ponownym podłączeniem klawiatury i gładzika Bluetooth od czasu aktualizacji do Yosimite.
Najpierw spróbuj tego: otwórz terminal i uruchom 2 polecenia:
Tylko raz musiałem biec wyżej. Jeśli później Bluetooth ponownie zepsuje 2 opcje, po prostu uruchom ponownie powyżej lub możesz utworzyć rozwiązanie jednym kliknięciem za pomocą prostej aplikacji za pomocą Automatora:
Zamień (* Twój skrypt idzie tutaj *) na:
Uruchom aplikację Automator, ilekroć urządzenia Bluetooth się nie połączą
źródło
kextunload
zawodzi (Can't unload kext com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport; classes have instances
) i pozostawia Bluetooth niedostępny (przekręca ikonę).(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).
Rozwiązanie Mikaey na forum wsparcia Apple:
To rozwiązało problem dla mnie.
źródło
Po próbie uruchomienia skryptów sugerowanych przez inne odpowiedzi, rozładowaniu i ponownym załadowaniu zarówno kext, jak i demona bluetooth, mój bluetooth nadal nie odpowiadał.
Odkryłem jednak, że jeśli Yosemite śpi z uruchomionym VMWare, a bluetooth nie działa po przebudzeniu systemu operacyjnego, zamknięcie VMWare rozwiązuje problem.
Wygląda na to, że sterowniki w VMWare nie zawsze poprawnie obsługują proces uśpienia / budzenia.
źródło
- AKTUALIZACJA: Ten problem NIE został rozwiązany w systemie OSX 10.11 El Capitan -
Poniżej znajduje się alternatywa dla rozwiązania Automator opublikowanego przez webaholic dla tych, którzy, podobnie jak ja, odczuwają trudności w ponownym wpisywaniu hasła (najprawdopodobniej właśnie wprowadziłeś je, aby się zalogować po przebudzeniu komputera Mac).
Najpierw w Terminalu utwórz skrypt, który ponownie ładuje podsystem Bluetooth:
Po drugie, zrób roota jego właścicielem i przenieś go do / sbin:
Po trzecie, dodaj polecenie do listy poleceń NOPASSWD w sudoers:
Na koniec utwórz skrypt na pulpicie, który wywołuje bt_restart:
Gotowy! Wystarczy dwukrotnie kliknąć gładzik notebooka (lub mysz USB) na Restart Bluetooth na pulpicie.
źródło
chown
niechmod
- próbował zmieniać siebie, ale nie cred tutaj i edycja była poniżej limitu długości: - //etc/sudoers
, jako alternatywę możesz edytować plik bezpośrednio za pomocąsudo visudo
Miałem ten sam problem i chyba zauważyłem możliwą przyczynę problemu. Moja mysz nazywała się „My Name's mouse” z apostrofem, może to powodowało błędy.
Zmieniłem nazwę, aby uniknąć używania spacji i znaków specjalnych, teraz nazywa się to po prostu „myszką” i nie mam już problemu.
źródło
Nadal mam ten problem w systemie macOS Sierra. Link @ Tyilo powyżej do jego istoty dał mi punkt wyjścia. Ale chciałem również użyć homebrew do zainstalowania Sleepwatchera, a pliki plist nie zostały poprawnie skonfigurowane po wyjęciu z pudełka. Bawiłem się przez długi czas i wymyśliłem ten skrypt, który sprawił, że wszystko działało niezawodnie.
źródło
Dzięki Tyilo z komentarzy do zaakceptowanej odpowiedzi zmodyfikowałem jego skrypt, aby zainstalować sleepwatchera i dołączyłem do skryptu kod, który nie tylko rozładuje sterownik Bluetooth (
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
), ale także zrestartujeblued
demona Bluetooth Apple.Skrypt można znaleźć tutaj: https://gist.github.com/timgws/fc63aeca6a248bbb25ff
Uruchomienie tego rozwiązało dla mnie wszystkie problemy.
źródło
Podsumowując, oto lista rzeczy wymienionych tutaj, w linkach stąd, w podobnych wątkach na innych stronach, a nawet wymyślone przeze mnie z tych innych. Próbowałem tych wszystkich, pojedynczo i w wielu kombinacjach. Wszystkie wydają się działać przynajmniej raz; wszystkie zawiodły przynajmniej raz.
Wybieram trzymanie tej listy pod ręką i używam „wszystkich powyższych”.
Myślę, że jedyną pewną rzeczą jest tutaj duża dawka „losowości”, być może wyścig wśród tych wszystkich sterowników dla sieci, pseudo sieci, sieci warstwowych, sieci wirtualnych i sieci proxy. W takim przypadku prawdopodobnie nie jest to tylko wina Apple, ponieważ sterowniki te pochodzą z różnych źródeł.
Oczywiście, niegdyś słynna reputacja firmy Apple „po prostu działa” została w dużej mierze zbudowana na zakazaniu tego rodzaju kolidującej różnorodności.
źródło
Świadomy, że jest to już dość stary post, ale zwariowałem z powodu opóźnienia, które budziło mnie po przebudzeniu, zanim Magic Trackpad był użyteczny ... może to być dobre 30 sekund. Wypróbowałem większość / wszystkie wskazówki i porady, które znalazłem z niewielkim skutkiem.
Jednak właśnie próbowałem przenieść ikonę Bluetooth na pasku menu (CMD ALT Drag) z jej normalnej pozycji (około 7 w) do 2 w (według liczenia z prawej), tj. Obok menu Spotlight.
Jak dotąd? ... problem zniknął!
Nie jestem w 100% pewien, dlaczego tak jest, ale podejrzewam, że może to mieć coś wspólnego z kolejnością, w jakiej zadania z tych pozycji na pasku menu RHS są podejmowane po przebudzeniu, tj. Te bliższe RHS mają wyższy priorytet?
Zajmuje to tylko kilka sekund, więc jeśli masz ten problem - warto spróbować?
(iMac 27 "i7 / OS X 10.10.5)
JH
źródło
Większość sugestii, które przeczytałem, wydawała się nieco skomplikowana w przypadku czegoś tak prostego jak to. Zdecydowałem się na podejście noob:
źródło
Wygląda na to, że
kextunload
polecenia nie działają już w High Sierra. Istnieje jednak narzędzie wiersza polecenia innej firmy do robienia tego samego i działa: https://github.com/toy/blueutil - możesz podmienić skrypty, o których tu mowa, aby ich używaćblueutil
, lub istnieje nawet pełne rozwiązanie ( bardzo podobny do tego, co widzieliśmy już na tej stronie): https://gist.github.com/ralph-hm/a65840c4f5e439b90170d735a89a863fźródło
xcodebuild -project blueutil.xcodeproject
w rozpakowanym katalogu. To jest wtedybuild/Release
.Ten artykuł Michaela Kummera podaje dość wyczerpującą listę nieudanych prób naprawienia problemów z Bluetooth na Macu, a na koniec sugeruje skompromitowane rozwiązanie poprzez wyłączenie trybu głośnomówiącego, który wydaje się działać: https://michaelkummer.com/technology/mac-bluetooth-issues-affect -keyboard-trackpad /
Widoczny również w https://www.forbes.com/sites/bradmoon/2017/07/13/this-trick-may-solve-your-mac-bluetooth-connectivity-issues/#6fefb3f45196
źródło
Ponownie zainstaluj MacOS.
To nie jest tak naprawdę rozwiązanie, ale chcę podzielić się swoim doświadczeniem, aby dać nadzieję tym, którzy mają ten sam problem co mój - że może to nadal nie być problem sprzętowy lub problem z interferencją Wi-Fi, co może być bardziej kosztowne lub kłopotliwe, aby rozwiązać tę ponowną instalację MacOS.
To, czego doświadczyłem: po tym, jak mój MacBook Pro 2015 obudził się ze snu, nie mógł połączyć się z urządzeniami Bluetooth. Problem pogłębiał się w miarę upływu czasu, od początkowo niewielkich niedogodności (np. Wyłączenie i ponowne włączenie modułu Bluetooth lub Wi-Fi może to naprawić) do późniejszego ogromnego bólu (np. Wymaga ponownego uruchomienia z resetem SMC / PRAM).
Objawem lub efektem ubocznym, który może być związany, było to, że komputer czasami budził się zbyt długo (10 sekund).
Ponowna instalacja (czystego) MacOS była moją ostatnią deską ratunku, ale wydaje się, że po prostu działa. Po ponownej instalacji nie zaobserwowałem żadnego problemu ani czkawki z bluetooth, Wi-Fi lub spaniem.
Oświadczenie: Prawdopodobnie istnieje pewna poprawka, która może osiągnąć ten sam efekt, który może, ale nie został jeszcze odkryty. Ponadto ponowna instalacja systemu operacyjnego zawsze wiąże się z ryzykiem utraty danych i wydajności, które należy ocenić.
Nowa aktualizacja: bezproblemowo przez tydzień. Ale wtedy problem z Bluetooth wydaje się czasem wracać. W tym tygodniu nie majstrowałem przy systemie zbyt wiele, poza instalowaniem bardzo popularnego oprogramowania i pakietów głównie przez Homebrew.
źródło
Na podstawie sugestii innych osób stworzyłem prosty skrypt powłoki, aby zresetować bluetooth. Zobacz sens szczegóły.
Wersja uproszczona (zależy od
blueutil
naparu):Wyłącza Bluetooth, wyłącza Wi-Fi, ponownie włącza Wi-Fi, a na końcu włącza ponownie Bluetooth.
źródło
Spróbuj kliknąć myszką po wybudzeniu komputera Mac ze stanu uśpienia.
To zdawało się łączyć moją Magic Mouse 2 szybciej z Mac Mini z systemem macOS Sierra (10.12.2).
źródło