Ce que j'ai trouvé
Je vais prendre le temps d'expliquer quelques choses que j'ai découvertes. Cela devrait aider les gens à comprendre pourquoi il s'agit d'un processus si compliqué et ce qu'ils peuvent faire pour l'améliorer, du moins pour eux.
Tout d'abord, la radio Bluetooth sur le MBP est un périphérique "USB". Ceci est assez courant sur les ordinateurs portables et même sur certains ordinateurs de bureau. Pour cette raison, Linux le traite comme un périphérique USB et vous pouvez le configurer en conséquence.
Deuxièmement, la radio Bluetooth a deux modes HID avec un "profil" très basique pour les claviers et les souris uniquement. Ce mode vous permet d'utiliser le clavier avant qu'une application ne gère le périphérique Bluetooth. Par exemple, lorsque vous utilisez votre clavier Bluetooth dans le menu GRUB, il s'agit du mode HID. Votre ordinateur portable et votre clavier doivent encore être couplés, mais ils peuvent fonctionner à ce niveau très bas sans problème ni intervention (encore une fois couplés). Cependant, le mode HID est très limité et certaines choses ne fonctionneront pas. Par exemple, le niveau de batterie du clavier ne fonctionnera pas. Également en mode HID, j'ai eu du mal avec les touches de fonction et les touches multimédias (sur ce clavier, ce sont les mêmes touches et elles peuvent être activées par logiciel).
Ensuite, vous devez obtenir le clavier pour envoyer "quelque chose" à l'ordinateur portable. Vous avez également besoin de l'ordinateur portable pour recevoir "quelque chose". Ensuite, vous devez tout lier ensemble pour que l'ordinateur portable se réveille réellement.
Enfin, Linux, Ubuntu, Bluez, ou quelqu'un d'autre, semble penser que tous les contrôleurs Bluetooth devraient agir en mode HCI. C'est probablement un défaut très sain étant donné que même ce clavier est très limité en mode HID, et que tout ce qui dépasse une simple souris et un clavier (par exemple un téléphone portable ou un casque) nécessiterait le mode HCI. Cependant, le mode HCI nécessite une pile logicielle complète pour fonctionner et ne fonctionnera pas lorsque l'ordinateur portable est suspendu / en veille / éteint. Par défaut, lorsque votre ordinateur portable dort, il déconnecte votre clavier et quitte l'écoute.
Étapes réelles pour le faire fonctionner
Étape 0: une solution de contournement
Quand je faisais cela, je suis devenu très frustré par le fait que je ne pouvais rien faire pour résoudre le problème. Vous ne pouvez rien faire lorsque l'ordinateur portable est endormi, et au moins avec les Mac Book Pros, vous ne pouvez pas fermer le couvercle sans qu'ils s'endorment. Donc, votre gauche avec une situation où la vidéo ne fonctionnera pas (car elle va à votre moniteur externe qui n'est pas branché lorsqu'il n'est pas ancré) ou vous pouvez tout voir mais sans clavier (parce que cela ne fonctionne pas / couplé / peu importe, et l'interne n'est pas accessible). Pour contourner cela, si vous le rencontrez. Utilisez le clavier visuel sur l'écran de connexion de LDM. Si vous vous réveillez à une invite de mot de passe, vous devriez pouvoir cliquer sur Changer d'utilisateur, puis utiliser le clavier visuel pour vous connecter. Tant que vous vous connectez en tant que même utilisateur, votre session ne doit pas être perdue. Cela dit, je ne voudrais pas
Étape 1: pré-appairez votre clavier.
Pendant que je testais, j'ai remarqué que cette étape était nécessaire. Cependant, je ne comprends pas vraiment pourquoi. Apple fait des trucs étranges donc je vais juste laisser tomber.
- Réinitialisez votre PRAM / NVRAM / peu importe. Cela effacera vos paramètres OS X actuels et ne sera peut-être pas nécessaire, mais il vaut mieux commencer à nettoyer. Le site Web d'assistance Apple contient des instructions . Vous n'avez pas besoin de réinitialiser le PMU.
- Démarrez ou redémarrez dans OS X et associez votre clavier normalement. Je recommande de laisser tous vos autres appareils Bluetooth éteints et de vous concentrer sur votre clavier. D'après ce que je peux dire, cela stockera des informations dans la NVRAM et tout le clavier pour communiquer avec l'ordinateur portable éteint.
- Cliquez sur Avancé (sous OS X, une fois couplé) et cochez "Autoriser les appareils Bluetooth à réveiller l'ordinateur". Encore une fois, le site Web d'assistance Apple contient des instructions
- Redémarrez l'ordinateur sous Linux. Lors de ReFIT / GRUB / lors du démarrage, le clavier devrait fonctionner correctement.
Étape 2: faire fonctionner Linux avec le clavier
Pour une raison quelconque, le clavier perd son couplage lors de votre connexion. Probablement parce que le contrôleur Bluetooth est passé en mode HCI. Pour corriger cela, vous devez vous coupler sous Linux. Cela rompra le couplage que vous avez fait à l'étape 1, mais ne cassera pas le mode HID lorsque l'ordinateur portable est éteint ou en cours de démarrage. Cela dit, lorsque vous redémarrez, votre clavier ne fonctionnera pas tant que votre pile Bluetooth ne fonctionnera pas à nouveau en mode HCI. En effet, le clavier essaie de parler en mode HCI mais personne n'écoute. Si vous arrêtez et attendez que la connexion expire, le clavier fonctionnera à nouveau en mode HID.
- Installez bluez-compat en exécutant
sudo apt-get install bluez-compat
Cela vous permettra de vous associer facilement. Sans le gestionnaire Bluetooth, je me suis juste écrasé.
- Jumelez normalement votre clavier avec Linux. Exécutez à
Bluetooth
partir de l'Unity Dash et cliquez sur le signe plus. Mettez votre clavier en mode d'appairage (maintenez enfoncé le bouton d'alimentation du clavier Apple Wireless) et suivez les instructions. Il devrait s'associer assez bien. À ce stade, votre clavier devrait fonctionner correctement sous Linux et envoie même des signaux à un contrôleur HID lorsque l'ordinateur portable est endormi.
Étape 3: Dire à Linux qu'il doit se réveiller
Maintenant, nous devons dire à Linux de se réveiller si le périphérique Bluetooth obtient "quelque chose". Pour ce faire, c'est assez facile grâce aux scripts de ce site . Les instructions de base sont ci-dessous mais vous devriez lire le site si quelque chose n'est pas clair. Presque tout cela provient du site lié.
- Installer certaines dépendances
sudo apt-get install notify-send zenity
- Téléchargez le script de reprise udev et copiez-le dans / usr / local / sbin / enable-wakeup.
- Téléchargez le script de sélection de périphérique et copiez-le dans / usr / local / sbin / select-resume-devices
- Rendez les scripts exécutables:
chmod a+x /usr/local/sbin/select-resume-devices
et chmod a+x /usr/local/sbin/enable-wakeup
.
- Exécutez avec les autorisations root le script de sélection de périphérique.
sudo /usr/local/sbin/select-resume-devices
- Sélectionnez, au minimum, "Apple, Inc. Bluetooth Host Controller", "Belkin Components B8T017 Bluetooth + EDR 2.1", "Apple Inc. Internal Keyboard / Trackpad (ANSI)" et tout autre appareil que vous souhaitez utiliser pour reprendre votre ordinateur. .
- Cliquez sur OK.
- Examinez le fichier /etc/udev/rules.d/90-hid-wakeup-enable.rules et assurez-vous qu'il a du sens.
- Redémarrer le PC.
Étape 4: tests et captures
Tout devrait bien fonctionner maintenant que vous avez redémarré votre ordinateur. Une fois connecté, mettez votre ordinateur en mode veille d'une manière ou d'une autre. Frappez une touche sur votre clavier et l'ordinateur portable devrait reprendre. Il y a cependant quelques captures.
- Lorsque l'ordinateur est en mode veille, il recherche des périphériques HID. Le clavier démarre donc en mode HID. Lorsque vous avez terminé de quitter le mode veille, Linux recherche un périphérique HCI. Le clavier (et non l'ordinateur portable) doit réinitialiser la connexion. Cela se produit naturellement après environ 45 secondes. Vous pouvez le forcer en retirant les piles, mais cela peut gâcher l'appairage. Si vous n'utilisez pas le clavier pour sortir du mode veille, ce n'est pas un problème.
- Lors du redémarrage, le clavier essaiera toujours de communiquer en mode HCI, mais l'ordinateur portable ne recherchera que des périphériques HID. Encore une fois après la temporisation, le clavier l'obtiendra et fonctionnera à nouveau correctement.