Odio iniziare un articolo con una domanda, ma qui ci sta tutta: perché mai usare un modulo Bluetooth esterno sui Mac che ne hanno già uno interno? La risposta più banale è "per averne uno più aggiornato", passando dai vecchi 2.1 o 3 al 4, che ha maggiore qualità/velocità e supporta le funzioni Continuity ed Handoff delle ultime versioni di OS X. Nel mio caso, però, non è stato questo il motivo: il Mac Pro del 2013 che uso per lavoro ha già il Bluetooth 4.0, ma funziona in modo penoso. È già oltre un anno che mi fa dannare con Magic Mouse e Wireless Keyboard, i quali ogni tanto iniziano ad andare a scatti. Con El Capitan la situazione è persino peggiorata, in quanto la tastiera spesso si incanta e digita un milione di volte la stessa lettera e non accetta altri comandi per quasi un minuto. Insomma, una situazione drammatica che l'assistenza Apple non sa come risolvere e che mi ha costretto a retrocedere sulla tastiera con filo. Una volta usavo solo questa e trovavo irrinunciabile il tastierino numerico, ma ormai sono così abituato alla versione "compatta" (anche per via dei portatili) che non ne sento la mancanza. Inoltre quella con filo ha un layout leggermente diverso (ad es. per i tasti modificatori in basso a sinistra, per il backspace e le frecce), per cui è fastidioso passare da questa a quelle senza fili o dei portatili Apple. L'arrivo dei nuovi dispositivi di input, quali Magic Keyboard, Magic Mouse 2 e Magic Trackpad 2, mi aveva dato una speranza, ma dopo alcuni minuti di utilizzo ho dovuto constatare la medesima situazione. Arrivato allo sfinimento ho acquistato un modulo Bluetooth 4.0 esterno, precisamente quello di CSL al prezzo di 8,99€. Non sapevo se fosse perfettamente compatibile, ma ho deciso di rischiare visto il prezzo esiguo e perché dispone di un LED che ho ritenuto utile nel valutarne l'attività.

csl-bluetooth-4

La mia malriposta fiducia in OS X mi aveva lasciato immaginare che sarebbe bastato collegarlo per farlo funzionare, ma non è stato affatto così. La prima prova che ho fatto è stata semplice: ho disattivato il Bluetooth dalle Preferenze di Sistema, ho collegato il modulo esterno (la luce si è accesa), ho riavviato, effettuato un reset della PRAM/NVRAM e riattivato il Bluetooth dallo stesso pannello. Ho usato un altro Mac in accesso remoto VNC per poter effettuare operazioni dopo aver disattivato il Bluetooth, in alternativa servono tastiera e mouse USB (la prima l'avevo ma ho scoperto di non aver più nessun topo con la coda). Riattivato il Bluetooth si è subito riagganciato alle periferiche (brutto segno), ma ho notato che il Magic Mouse 2 continuava ad avere un movimento poco fluido (altro brutto segno). Per accertarmi che stesse usando il modulo esterno e non quello interno mi ero precedentemente fatto uno screenshot con il MAC Address originale, che si visualizza facilmente premendo il tasto ⌥ e cliccando sull'icona Bluetooth nella barra dei menu.

bt-interno

L'ho confrontato con quello dopo il riavvio ed era rimasto invariato, quindi il Mac stava usando ancora il modulo interno. Ho eseguito numerose prove mischiando l'ordine delle attività eseguite la prima volta, ma nulla è cambiato. Facendo delle ricerche in rete ho letto che per molti il riavvio è stato sufficiente, ma si riferivano sempre a sistemi operativi precedenti ad El Capitan. Quindi mi son detto che forse Apple ha cambiato le cose, ma potrebbe anche darsi che molte persone non si siano accorte di stare usando ancora il Bluetooth esterno oppure che l'operazione funzioni solo con alcuni modelli e non con quello acquistato da me. In tutti i casi non voleva saperne di sostituirsi al modulo interno sfruttando solo i comandi nella UI del Mac, per cui ho iniziato a fare ricerche su internet. A quanto pare l'utility Continuity Actication Tool risolve anche questo problema, ma richiede la disattivazione di SIP (alias Rootless) che al momento preferirei evitare. Sono così approdato su StackOverflow, dove un utente ha postato un meno invasivo comando da terminale che obbliga OS X ad usare un modulo Bluetooth esterno quando lo si collega. Il comando da eseguire è il seguente:


sudo nvram bluetoothHostControllerSwitchBehavior=always

Dopo l'inserimento della password ed il ritorno del prompt, che chiarisce che l'operazione è conclusa, ho ricollegato il modulo Bluetooth ed ha funzionato immediatamente. Me ne sono accorto perché, pur risultando attivo dal pannello delle Preferenze di Sistema, tutte le periferiche hanno smesso di funzionare. L'ho scollegato, ho eseguito l'accesso VNC da un altro Mac (ancora: potete evitare se avete mouse e tastiera con filo), ho disattivato tutti gli abbinamenti con i dispositivi sul Bluetooth integrato ed ho ricollegato quello esterno. A questo punto ho potuto abbinare nuovamente Magic Keyboard, Magic Mouse 2 e Magic Trackpad 2. Ho chiuso il visore VNC e sono ritornato sul Mac Pro, dove avevo di nuovo a disposizione tutti i dispositivi di controllo. Sono andato immediatamente a verificare il MAC Address del dispositivo Bluetooth in uso ed era finalmente un altro, quindi ho avuto la conferma certa che OS X avesse ben digerito il comando eseguito precedentemente andando ad attivare il modulo esterno.

bt-esterno-si

Per un ulteriore accertamento sono andato su  / Informazioni su questo Mac / Resoconto di sistema... dove, alla voce Bluetooth, ho trovato i dati del modulo CSL (produttore Cambridge Silicon Radio). Qui però ho avuto la brutta sorpresa di leggere che Handoff e Instant Hotspot non sono supportati. Credo che con Continuity Activation Tool si possa risolvere, ma ho già spiegato perché non vorrei utilizzarlo.

csl-bluetooth-esterno-info

Dopotutto l'hotspot istantaneo su un computer desktop collegato ad una connessione internet cablata non mi serve a nulla, quindi l'unico limite è l'assenza di compatibilità con Handoff. Ma quante volte l'ho usato? Due. In entrambi i casi solo a scopo di test, mai per esigenza personale. Sarà perché me ne dimentico o perché nel mio workflow non è davvero utile, ma sono sicuro di poterne fare a meno senza il minimo rimpianto. Qualora proprio lo volessi potrei sempre disattivare SIP e provare Continuity Actication Tool, ma al momento sono contento di aver risolto il problema. Già perché da qualche ora mouse e tastiera non vanno più a scatti e, spero non sia troppo presto per dirlo, ho finalmente archiviato uno dei fastidi che ultimamente il Mac mi stava causando. Ma ce ne sono un altro paio che ho risolto di recente e per i quali pubblicherò degli articoli nei giorni a seguire. Quasi dimenticavo: se per caso voleste ripristinare il comportamento precedente e riabilitare il Bluetooth interno, potete usare il seguente comando:


sudo nvram -d bluetoothHostControllerSwitchBehavior