Raspberry Pi: gestisci l'alimentazione delle porte
Tre anni fa ho acquistato un Raspberry Pi (il primo) modello B per allestire un piccolo NAS fatto in casa. Avevo poi acquistato due magnifici hard disk da 3TB ciascuno che avevo messo in una scatola per realizzare un magnifico RAID 1. Questa installazione era buona ma aveva un doloroso inconveniente... I miei hard disk non si spegnevano mai! Capisci, non vanno mai a dormire, nemmeno quando non lo usano da diverse ore.
Di fronte a questo problema, avevo cercato invano una soluzione che mi permettesse di controllare da solo l'alimentazione delle mie porte USB... All'epoca, il Lampone era quasi più allo stato di prototipo e la comunità non era così grande come lo è oggi.
Raspberry Pi 3, eccoti!
Nei giorni scorsi ho voluto investire in un modello più potente. Avendo sentito molte cose positive sul Model 2, speravo che questo problema di gestione dell'alimentazione USB sarebbe stato risolto, quindi ho deciso di acquistare un nuovo modello. Fortunatamente, il Raspberry Pi 3 è stato rilasciato contemporaneamente e non ne ho ordinato né uno né due.
Dispositivi USB inattivi
Dopo alcuni test, mi sono reso conto che il mio problema iniziale non era stato risolto con questa nuova scheda. Così ho provato a giocare con il cibo e BINGO! questa volta ho trovato qualcosa da fare.
Gestione energetica manuale
Innanzitutto, ecco il ticket che mi ha permesso di cambiare l'alimentatore.
Ed ecco il progetto in C che permette di influenzare l'alimentazione delle porte USB.
Un poco di riga di comando
$ git clone https://github.com/codazoda/hub-ctrl.c.git $ cd hub-ctrl.c $ sudo apt install -y libusb-dev
$ gcc -o hub-ctrl hub-ctrl.c -lusb
Siamo buoni. Il progetto di
Joel Dare
è stato compilato e ora siamo pronti per accendere/spegnere i nostri dispositivi USB.
Schema organizzativo delle porte USB
Gioca con le porte
Si noti che la porta USB 1 non può essere disattivata singolarmente.
Spegnere
- Porta USB 2
1sudo ./hub-ctrl -h 0 -P 4 -p 0 - Porta USB 3
1sudo ./hub-ctrl -h 0 -P 5 -p 0 - Porta USB 4
1sudo ./hub-ctrl -h 0 -P 3 -p 0 - La porta ethernet!
1sudo ./hub-ctrl -h 0 -P 1 -p 0 - Tutte e 4 le porte USB contemporaneamente
1sudo ./hub-ctrl -h 0 -P 2 -p 0
Illuminare
- Porta USB 2
1sudo ./hub-ctrl -h 0 -P 4 -p 1 - Porta USB 3
1sudo ./hub-ctrl -h 0 -P 5 -p 1 - Porta USB 4
1sudo ./hub-ctrl -h 0 -P 3 -p 1 - La porta ethernet!
1sudo ./hub-ctrl -h 0 -P 1 -p 1 - Tutte e 4 le porte USB contemporaneamente
1sudo ./hub-ctrl -h 0 -P 2 -p 1
Conclusione
Questo breve articolo mostra una soluzione che ho cercato a lungo. Spero che il lavoro della community trascritto qui in inglese vi sia stato utile.