OS X El Capitan e la IDE di Arduino

Schermata 2015-10-06 alle 22.10.22

Avendo partecipato al Public Beta Test Program di Apple già sapevo che con l’avvento di OS X El Capitan la IDE di Arduino avrebbe smesso di funzionare, almeno per quello che riguarda i driver di emulazione USB-Seriale che servono per far comunicare il Pc con la scheda. Causa di tutto ciò è il nuovo meccanismo di System Integrity Protection implementato da Apple, che crea nuove restrizioni verso alcune zone del sistema (le directory /System, /sbin e /usr, tranne la /usr/local) anche ad utente elevato con privilegi da sudoer, come di solito si fa in OS X. Lo scopo di tutto questo è senz’altro nobile e condivisibile, aumenta la sicurezza del sistema in generale contro accessi indesiderati e possibili intrusioni di malware ma impedisce comunque il corretto funzionamento di alcune applicazioni realizzate in precedenza che andrebbero “reingegnerizzate” per funzionare con El Capitan.

Una delle vittime è proprio la IDE di Arduino per Mac: i driver FTDI e CHT che servivano per creare delle porte seriali virtuali dal bus USB dei Mac non funzionano più. Al momento attuale la soluzione consiste nel disabilitare questo meccanismo di protezione e adesso vedremo come, anche se io sarei contrario a fare una cosa del genere, non fosse altro perché abbassa il livello di sicurezza di OS X in generale. La mia soluzione temporanea comunque è stata quella di installare una macchina virtuale Linux Mint 17 sotto VMware 8 e usare e programmare da lì le mie schede Arduino. Tra l’altro sotto Linux non c’è bisogno di utilizzare driver aggiuntivi e l’unica accortezza è di aggiungere l’utente che utilizziamo abitualmente al gruppo secondario < dialout > per far sì che possa usare i device seriali-usb creati da Linux. Funziona perfettamente e per adesso preferisco lavorare in questa maniera.

Ad ogni modo per disabilitare la System Integrity Protection bisogna riavviare il Mac tenendo premuti i tasti Command + R finché non si sentirà il suono di avvio.  Saremo entrati quindi in Recovery Mode. Apriamo dal menu Utilities il  terminale e digitiamo:

e poi facciamo ripartire il sistema.

Dando il comando csrutil status avremo come messaggio:

Per ritornare eventualmente sui propri passi è sufficiente ripetere la procedura descritta e dare un comando

per ripristinare la situazione.

 

Per coloro che (come me) avessero gli Arduino Nano cinesi che necessitano dei driver CHT340 segnalo che ho dovuto reinstallarli e solo dopo un reboot del Mac mi sono trovato la seriale accessibile (l’ultima in basso nell’elenco).

Schermata 2015-10-11 alle 17.12.27

 

Ripeto: io preferisco, sperando che sia una situazione comunque temporanea, utilizzare una VM Linux che può essere creata anche scaricando gratuitamente VirtualBox, solo perché in ogni caso (o per deformazione professionale) dò priorità assoluta alla sicurezza del sistema.

11 pensieri riguardo “OS X El Capitan e la IDE di Arduino”

  1. Ciao io ho provato quello che hai postato, e anche a disabilitare SIP completamente, nulla, la cosa “buffa” è che sui 2 mac che ho non funziona, su quello della mia compagna (aggiornato) senza disabilitare nulla vede le porte…mistero.
    e.

  2. Grazie della risposta, gia fatto ma nulla….sono disperato e bloccato 🙁

    Last login: Thu Oct 22 11:56:40 on console
    xxxxxxxxxxxx$ csrutil status
    System Integrity Protection status: enabled (Custom Configuration).

    Configuration:
    Apple Internal: disabled
    Kext Signing: disabled
    Filesystem Protections: disabled
    Debugging Restrictions: disabled
    DTrace Restrictions: disabled
    NVRAM Protections: disabled

    This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
    nsole
    xxxxxxxxxxxx$

  3. Prova a reinstallare i drivers FTDI ed eventualmente i CHT se usi schede cinesi che li richiedono e a riavviare El Capitan. Sul mio iMac ho dovuto fare così per rivedere le porte.

    mantainer

  4. Ciao, gia fatto e nulla, non uso cisenerie…arduino e adafruit, non funziona, non vorrei rifare la macchina e reinstallare tutto, anche perchè il problema c’è su 2 mac e non capisco come mai quello della mia compagna, aggiornato da leopard funziona 🙁
    e.

  5. Attualmente l’unico modo è scaricare un gestore di macchine virtuali gratuito come VirtualBox ed installare una VM Linux, ad esempio Ubuntu o una derivata. In questo caso la IDE di Arduino riconoscerebbe ogni tipo di scheda senza problemi.

    Maintainer

    1. ciao, ho scaricato la mia IED e vari driver per la scheda (non originale) ma il mac continua comunque a non trovarmi le porte; ho usato anche il tuo metodo ma nulla, come potrei fare?

  6. Che tipo di scheda è? Arduino Uno?
    Per sapere quali driver devi usare per sicuro devi individuare quale chip usb/seriale utilizza. Di solito si trova nei pressi della presa USB e porta stampata la sigla CH340/341 oppure CP2102. Stabilito quale dei due chip utilizza (di solito sono questi due tipi) devi scaricare i driver giusti cercando su Google in base alla sigla del chip.
    Sei sicuro che la scheda sia funzionante? E’ stata provata su un altro pc (windows o linux) con i driver corretti ed è stata riconosciuta?
    Strano che Linux non la abbia riconosciuta. Dopo l’installazione della IDE Arduino su Linux hai aggiunto l’utente che usa la IDE al gruppo “dialout”?
    Dici che il Mac continua a non trovarti le porte. Ma hai tolto la System Integrity Protection o lo hai lasciato come era? Nel secondo caso è naturale che non veda nulla.

  7. ciao
    per natale è arrivata a mia figlia l’auto 4wd di Arduino (con scheda Turobot).
    a fatica abbiamo trovato schemi e immagini per fare i collegamenti, perché nulla era presente nella confezione e, al momento di attaccare il computer (mac portatili) alla scheda per installare gli sketch, mi compare solo la modalità bluetooth.
    ho cambiato 3 computer con tre sistemi operativi (maverick, el capitan, sierra) e ho cercato di capire cosa fare per utilizzare la connessione usb: nulla.
    installati i driver, come indicato quassù e su altri blog, ma la porta rimane sempre “celata”.
    qualcuno potrebbe aiutarmi, per cortesia?
    grazie, buona giornata

    1. ciao,

      controlla intanto la sigla riportata sul chip situato subito dietro la porta USB della Turobot Uno R3 (il chip con 16 piedini accanto all’oscillatore) per vedere se c’è scritto CH340/41 o un’altra sigla. Da quello dipende i driver che vanno utilizzati.

Lascia un commento