Come posso svegliarmi dal sonno usando una tastiera bluetooth


8

Ho un Mac Book Pro e un dock Henge. Il dock non è altro che un supporto che ti consente di collegare facilmente alcuni dispositivi in ​​modo da poter "agganciare" il tuo MBP. Ho anche una tastiera wireless Apple. La tastiera è bluetooth.

La tastiera funziona bene "normalmente" ma il problema è quando chiudo il coperchio del mio MBP il laptop va in sospensione (questo non può essere evitato) Metto il laptop nel dock (con il coperchio chiuso) e non riesco a svegliarmi da sonno (suppongo perché non bluetooth). Se uso il mio game pad per riattivare il dispositivo dalla modalità di sospensione, visualizzo la richiesta della password della schermata di blocco, tuttavia non riesco a inserire nulla perché la tastiera bluetooth non è connessa.

Quindi, come posso riattivare Mac Book Pro dalla sospensione utilizzando una tastiera bluetooth (la tastiera wireless Apple) o, in caso contrario, forzarlo a riconnettersi quando la macchina riprende in modo da poter digitare la mia password?

Ecco i miei dettagli hardware.

Mac Book Pro 6.2 (so che normalmente non funziona ma è una piattaforma hardware chiusa)

Bus 001 Dispositivo 008: ID 050d: 0017 Belkin Components B8T017 Bluetooth + EDR 2.1
Bus 001 Dispositivo 007: ID 05ac: 8218 Apple, Inc. Controller host Bluetooth

Versione Linux

Linux macbook 3.5.0-22-generic #34-Ubuntu SMP

Ubuntu 12.10

Cosa ho fatto:

Associato la mia tastiera Apple Wireless a Ubuntu.

Cosa mi aspetto:

Quando schiaccio un tasto sulla tastiera wireless di Apple, il sistema si riattiva dalla modalità di sospensione.

Che succede:

Quando schiaccio un tasto sulla mia tastiera wireless Apple; Niente.....

Cosa mi aspetto da una risposta accettabile:

Un modo per farlo così quando schiaccio un tasto la mia tastiera wireless Apple il mio computer si riattiva dalla modalità di sospensione e posso continuare con la mia giornata informatica.

Di nota:

Di solito odio vederlo e dirlo, ma .... Funziona su Mac OS X e Windows, quindi so che l'hardware è in grado di farlo.

Risposte:


7

Quello che ho trovato

Mi prenderò il tempo per spiegare alcune cose che ho scoperto. Questo dovrebbe aiutare le persone a capire perché questo è un processo così complicato e cosa possono fare per contribuire a migliorarlo, almeno per loro.

Innanzitutto, la radio Bluetooth su MBP è un dispositivo "USB". Questo è abbastanza comune su laptop e persino su alcuni desktop. Per questo motivo Linux lo considera come un dispositivo USB e puoi configurarlo di conseguenza.

In secondo luogo, la radio Bluetooth ha due modalità HID con un "profilo" molto semplice solo per tastiere e mouse. Questa modalità consente di utilizzare la tastiera prima che un'applicazione sia in grado di gestire il dispositivo Bluetooth. Ad esempio quando si utilizza la tastiera Bluetooth nel menu di GRUB, questa è la modalità NASCOSTA. Il tuo laptop e la tua tastiera devono ancora essere accoppiati, ma possono funzionare a questo livello molto basso senza problemi o interventi (ancora una volta associati). Tuttavia, la modalità HID è molto limitata e alcune cose non funzioneranno. Ad esempio, il livello della batteria della tastiera non funzionerà. Anche in modalità HID ho avuto difficoltà con i tasti funzione e i tasti multimediali (su questa tastiera sono lo stesso tasto e possono essere attivati ​​dal software).

Successivamente, è necessario ottenere la tastiera per inviare "qualcosa" al laptop. È inoltre necessario che il laptop riceva "qualcosa". Quindi devi legare tutto insieme per far sì che il laptop si svegli davvero.

Infine, Linux, Ubuntu, Bluez o qualcuno sembra pensare che tutti i controller Bluetooth dovrebbero funzionare in modalità HCI. Questo è probabilmente un valore predefinito sensato dato che anche questa tastiera è molto limitata in modalità HID e che qualsiasi cosa oltre un semplice mouse e tastiera (ad esempio un telefono cellulare o un set di cuffie) richiederebbe la modalità HCI. Tuttavia, la modalità HCI richiede l'esecuzione di uno stack software completo e non funzionerà mentre il laptop è sospeso / inattivo / spento. Quindi, per impostazione predefinita, quando il laptop dorme si disconnette la tastiera e termina l'ascolto.

Passi effettivi per farlo funzionare

Passaggio 0: soluzione alternativa

Quando stavo facendo questo, ero molto frustrato dal fatto che non ero in grado di fare nulla per risolvere il problema. Non puoi fare nulla quando il laptop è addormentato, e almeno con i Mac Book Pro non puoi chiudere il coperchio senza che dormano. Quindi alla tua sinistra c'è una situazione in cui il video non funziona (perché sta andando al tuo monitor esterno che non è collegato quando scollegato) o puoi vedere tutto ma non ha la tastiera (perché non funziona / accoppiato / qualunque cosa, e quello interno non è accessibile). Per ovviare a questo, dovresti imbatterti in esso. Utilizzare la tastiera visiva nella schermata di accesso di LDM. Se ti svegli a una richiesta di password, dovresti essere in grado di fare clic su Cambia utente, quindi utilizzare la tastiera visiva per accedere. Finché accedi con lo stesso utente, la sessione non deve essere persa. Detto questo, non vorrei

Passaggio 1: pre-abbinare la tastiera.

Mentre stavo testando ho notato che questo passaggio era necessario. Tuttavia, non capisco perfettamente perché. Apple fa delle cose strane, quindi la lascerò andare.

  1. Ripristina PRAM / NVRAM / qualunque cosa. Questo cancellerà le tue attuali impostazioni di OS X e potrebbe non essere necessario, ma è meglio iniziare a pulire. Il sito Web dell'assistenza Apple contiene istruzioni . Non è necessario ripristinare la PMU.
  2. Avvia o riavvia in OS X e abbina normalmente la tastiera. Ti consiglio di lasciare tutti gli altri dispositivi Bluetooth spenti e di concentrarti sulla tastiera. Da quello che posso dire questo memorizzerà alcune informazioni in NVRAM e tutta la tastiera per comunicare con il laptop spento.
  3. Fai clic su Avanzate (in OS X, una volta associato) e seleziona "Consenti ai dispositivi Bluetooth di riattivare il computer". Ancora una volta il sito Web di supporto Apple contiene istruzioni
  4. Riavvia il computer su Linux. Su ReFIT / GRUB / durante l'avvio la tastiera dovrebbe funzionare bene.

Passaggio 2: far funzionare Linux con la tastiera

Per qualche motivo la tastiera perderà il suo accoppiamento durante il login. Probabilmente perché il controller Bluetooth è passato alla modalità HCI. Per correggere questo, è necessario associare in Linux. Ciò interromperà l'associazione eseguita nel passaggio 1, ma non interromperà la modalità HID quando il laptop è spento o in fase di avvio. Detto questo, al riavvio, la tastiera non funzionerà fino a quando lo stack bluetooth non sarà di nuovo completamente funzionante in modalità HCI. Questo perché la tastiera sta provando a parlare in modalità HCI ma nessuno sta ascoltando. Se si arresta e si attende il timeout della connessione, la tastiera funzionerà nuovamente in modalità HID.

  1. Installa bluez-compat eseguendo sudo apt-get install bluez-compatQuesto ti permetterà di accoppiarti facilmente. Senza il Bluetooth Manager mi sono appena schiantato.
  2. Associa la tua tastiera normalmente a Linux. Esegui Bluetoothda Unity Dash e fai clic sul segno più. Metti la tastiera in modalità di associazione (tieni premuto il pulsante di accensione sulla tastiera della Apple Wireless Keyboard) e segui le istruzioni. Dovrebbe abbinarsi abbastanza uniformemente. A questo punto la tua tastiera dovrebbe funzionare bene in Linux e persino inviare segnali a un controller HID quando il laptop è inattivo.

Step 3: Dire a Linux che deve svegliarsi

Ora dobbiamo dire a Linux di svegliarsi se il dispositivo bluetooth ottiene "qualcosa". Fare questo è abbastanza facile grazie agli script di questo sito . Di seguito sono riportate le istruzioni di base, ma dovresti leggere il sito se qualcosa non è chiaro. Quasi tutto questo proviene dal sito collegato.

  1. Installa alcune dipendenze sudo apt-get install notify-send zenity
  2. Scarica lo script resume udev e copia in / usr / local / sbin / enable-wakeup.
  3. Scarica lo script di selezione del dispositivo e copia su / usr / local / sbin / select-resume-devices
  4. Rendere eseguibili gli script: chmod a+x /usr/local/sbin/select-resume-devicese chmod a+x /usr/local/sbin/enable-wakeup.
  5. Esegui con i permessi di root lo script di selezione del dispositivo. sudo /usr/local/sbin/select-resume-devices
  6. Seleziona almeno "Controller host Bluetooth Apple, Inc.", "Belkin Components B8T017 Bluetooth + EDR 2.1", "Tastiera / trackpad interno Apple (ANSI)" e qualsiasi altro dispositivo che desideri utilizzare per ripristinare il computer .
  7. Clicca OK.
  8. Esamina il file /etc/udev/rules.d/90-hid-wakeup-enable.rules e assicurati che abbia senso.
  9. Riavvia il computer.

Passaggio 4: test e catture

Tutto dovrebbe funzionare correttamente ora che hai riavviato il computer. Una volta effettuato l'accesso, mettere il computer in modalità sospensione in qualche modo. Premi un tasto sulla tastiera e il laptop dovrebbe riprendere. Vi sono tuttavia un paio di catture.

  1. Quando il computer è in modalità sospensione, cerca i dispositivi HID. Quindi la tastiera si avvia in modalità HID. Quando hai finito di riprendere dalla modalità di sospensione, Linux è alla ricerca di un dispositivo HCI. La tastiera (non il laptop) deve ripristinare la connessione. Questo accade naturalmente dopo circa 45 secondi. Puoi forzarlo rimuovendo le batterie, ma ciò potrebbe rovinare l'accoppiamento. Se non si utilizza la tastiera per riprendere dal sonno, questo non è un problema.
  2. Al riavvio, la tastiera proverà comunque a comunicare in modalità HCI ma il laptop cercherà solo dispositivi HID. Ancora dopo il timeout la tastiera lo capirà e funzionerà di nuovo correttamente.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.