Was ich fand
Ich werde mir die Zeit nehmen, um ein paar Dinge zu erklären, die ich herausgefunden habe. Dies sollte den Menschen helfen zu verstehen, warum dies ein so komplizierter Prozess ist und was sie tun können, um ihn zumindest für sie zu verbessern.
Erstens ist das Bluetooth-Radio am MBP ein "USB" -Gerät. Dies ist auf Laptops und sogar einigen Desktops durchaus üblich. Aus diesem Grund behandelt Linux es als USB-Gerät und Sie können es entsprechend konfigurieren.
Zweitens verfügt das Bluetooth-Radio über zwei Modi. Der HID-Modus ist ein sehr einfaches "Profil" nur für Tastaturen und Mäuse. In diesem Modus können Sie die Tastatur verwenden, bevor eine Anwendung das Bluetooth-Gerät verwaltet. Wenn Sie beispielsweise Ihre Bluetooth-Tastatur im GRUB-Menü verwenden, ist dies der HID-Modus. Ihr Laptop und Ihre Tastatur müssen noch gekoppelt werden, sie können jedoch ohne Probleme oder Eingriffe auf diesem sehr niedrigen Niveau betrieben werden (erneut gekoppelt). Der HID-Modus ist jedoch sehr eingeschränkt und bestimmte Dinge funktionieren nicht. Zum Beispiel funktioniert der Akkuladestand der Tastatur nicht. Auch im HID-Modus hatte ich Schwierigkeiten mit Funktionstasten und Medientasten (auf dieser Tastatur handelt es sich um dieselbe Taste, die per Software umgeschaltet werden kann).
Als nächstes müssen Sie die Tastatur dazu bringen, "etwas" an den Laptop zu senden. Sie benötigen auch den Laptop, um "etwas" zu empfangen. Dann müssen Sie alles zusammenbinden, damit der Laptop tatsächlich aufwacht.
Schließlich scheinen Linux, Ubuntu, Bluez oder jemand der Meinung zu sein, dass alle Bluetooth-Controller im HCI-Modus arbeiten sollten. Dies ist wahrscheinlich eine sehr vernünftige Standardeinstellung, da selbst diese Tastatur im HID-Modus sehr eingeschränkt ist und alles, was über eine einfache Maus und Tastatur hinausgeht (z. B. ein Mobiltelefon oder ein Headset), den HCI-Modus erfordern würde. Der HCI-Modus erfordert jedoch einen vollständigen Software-Stack und wird nicht ausgeführt, solange der Laptop angehalten / in den Ruhezustand versetzt / ausgeschaltet ist. Wenn Ihr Laptop im Ruhezustand ist, wird die Tastatur standardmäßig getrennt und das Hören beendet.
Aktuelle Schritte, um es zum Laufen zu bringen
Schritt 0: Eine Problemumgehung
Als ich das tat, war ich sehr frustriert darüber, dass ich nichts tun konnte, um das Problem zu beheben. Sie können nichts tun, wenn der Laptop schläft, und zumindest mit den Mac Book Pros können Sie den Deckel nicht schließen, ohne dass sie schlafen gehen. Sie haben also eine Situation, in der entweder Video nicht funktioniert (weil es an Ihren externen Monitor geht, der nicht angeschlossen ist, wenn es nicht angedockt ist) oder Sie alles sehen können, aber keine Tastatur haben (weil es nicht funktioniert / gepaart / was auch immer, und der interne ist nicht zugänglich). Um dies zu umgehen, sollten Sie darauf stoßen. Verwenden Sie die visuelle Tastatur auf dem LDM-Anmeldebildschirm. Wenn Sie mit einer Kennwortabfrage aufwachen, sollten Sie in der Lage sein, auf Benutzer wechseln zu klicken und sich dann über die visuelle Tastatur anzumelden. Solange Sie sich als derselbe Benutzer anmelden, sollte Ihre Sitzung nicht verloren gehen. Das heißt, ich würde nicht '
Schritt 1: Koppeln Sie Ihre Tastatur vor.
Beim Testen bemerkte ich, dass dieser Schritt erforderlich war. Ich verstehe jedoch nicht ganz warum. Apple macht einige seltsame Sachen, also werde ich es einfach loslassen.
- Setzen Sie Ihren PRAM / NVRAM / Whatever zurück. Dadurch werden Ihre aktuellen OS X-Einstellungen gelöscht und möglicherweise nicht benötigt, aber besser, um sauber zu beginnen. Auf der Apple Support-Website finden Sie Anweisungen . Sie müssen die PMU nicht zurücksetzen.
- Starten Sie OS X oder starten Sie es neu und koppeln Sie Ihre Tastatur normal. Ich empfehle, alle anderen Bluetooth-Geräte ausgeschaltet zu lassen und sich auf Ihre Tastatur zu konzentrieren. Soweit ich das beurteilen kann, werden einige Informationen im NVRAM und auf der gesamten Tastatur gespeichert, um mit dem heruntergefahrenen Laptop zu kommunizieren.
- Klicken Sie auf Erweitert (in OS X nach dem Pairing) und aktivieren Sie "Bluetooth-Geräte den Computer aktivieren lassen". Wieder einmal enthält die Apple Support-Website Anweisungen
- Starten Sie den Computer unter Linux neu. Bei ReFIT / GRUB / beim Booten sollte die Tastatur einwandfrei funktionieren.
Schritt 2: Linux mit der Tastatur arbeiten lassen
Aus irgendeinem Grund verliert die Tastatur beim Anmelden die Kopplung. Wahrscheinlich, weil der Bluetooth-Controller in den HCI-Modus geschaltet ist. Um dies zu korrigieren, müssen Sie unter Linux koppeln. Dadurch wird die in Schritt 1 vorgenommene Kopplung unterbrochen, der HID-Modus wird jedoch nicht unterbrochen, wenn der Laptop ausgeschaltet oder gestartet wird. Das heißt, wenn Sie neu starten, funktioniert Ihre Tastatur erst, wenn Ihr Bluetooth-Stack im HCI-Modus wieder vollständig ausgeführt wird. Dies liegt daran, dass die Tastatur versucht, im HCI-Modus zu sprechen, aber niemand zuhört. Wenn Sie herunterfahren und warten, bis die Verbindung unterbrochen ist, funktioniert die Tastatur im HID-Modus wieder.
- Installieren Sie bluez-compatible, indem Sie ausführen. Auf
sudo apt-get install bluez-compat
diese Weise können Sie problemlos koppeln . Ohne den Bluetooth-Manager ist gerade für mich abgestürzt.
- Koppeln Sie Ihre Tastatur normal mit Linux. Führen Sie
Bluetooth
den Unity Dash aus und klicken Sie auf das Pluszeichen. Versetzen Sie Ihre Tastatur in den Pairing-Modus (halten Sie den Netzschalter auf der Apple Wireless-Tastatur gedrückt) und befolgen Sie die Anweisungen. Es sollte ziemlich reibungslos koppeln. Zu diesem Zeitpunkt sollte Ihre Tastatur unter Linux einwandfrei funktionieren und sogar Signale an einen HID-Controller senden, wenn der Laptop schläft.
Schritt 3: Sagen Sie Linux, dass es aufwachen muss
Jetzt müssen wir Linux anweisen, aufzuwachen, wenn das Bluetooth-Gerät "etwas" bekommt. Dies ist dank der Skripte auf dieser Site ziemlich einfach . Grundlegende Anweisungen finden Sie unten, aber Sie sollten die Website lesen, wenn etwas unklar ist. Fast alles kommt von der verlinkten Seite.
- Installieren Sie einige Abhängigkeiten
sudo apt-get install notify-send zenity
- Laden Sie das udev-Lebenslaufskript herunter und kopieren Sie es nach / usr / local / sbin / enable-wakeup.
- Laden Sie das Geräteauswahlskript herunter und kopieren Sie es nach / usr / local / sbin / select-resume-device
- Machen Sie die Skripte ausführbar:
chmod a+x /usr/local/sbin/select-resume-devices
und chmod a+x /usr/local/sbin/enable-wakeup
.
- Führen Sie das Geräteauswahlskript mit Root-Berechtigungen aus.
sudo /usr/local/sbin/select-resume-devices
- Wählen Sie mindestens "Apple, Inc. Bluetooth Host Controller", "Belkin Components B8T017 Bluetooth + EDR 2.1", "Apple Inc. Interne Tastatur / Trackpad (ANSI)" und alle anderen Geräte aus, die Sie zum Fortsetzen Ihres Computers verwenden möchten .
- OK klicken.
- Überprüfen Sie die Datei /etc/udev/rules.d/90-hid-wakeup-enable.rules und stellen Sie sicher, dass sie sinnvoll ist.
- Starte den Computer neu.
Schritt 4: Testen und Fangen
Nach dem Neustart Ihres Computers sollte alles einwandfrei funktionieren. Sobald Sie wieder angemeldet sind, versetzen Sie Ihren Computer irgendwie in den Ruhemodus. Wenn Sie eine Taste auf Ihre Tastatur drücken, sollte der Laptop wieder aufgenommen werden. Es gibt jedoch ein paar Fänge.
- Wenn sich der Computer im Ruhemodus befindet, sucht er nach HID-Geräten. Die Tastatur startet also im HID-Modus. Wenn Sie den Ruhemodus wieder aufgenommen haben, sucht Linux nach einem HCI-Gerät. Die Tastatur (nicht der Laptop) muss die Verbindung zurücksetzen. Dies geschieht natürlich nach ca. 45 Sekunden. Sie können dies erzwingen, indem Sie die Batterien entfernen. Dies kann jedoch die Kopplung beeinträchtigen. Wenn Sie die Tastatur nicht verwenden, um aus dem Ruhezustand zurückzukehren, ist dies kein Problem.
- Beim Neustart versucht die Tastatur weiterhin, im HCI-Modus zu kommunizieren, aber der Laptop sucht nur nach HID-Geräten. Nach dem Timeout wird es wieder von der Tastatur abgerufen und funktioniert wieder korrekt.