Raspberry Pi — zarządzaj zasilaniem portu
Trzy lata temu nabyłem Raspberry Pi (pierwszy) model B, aby skonfigurować mały, domowy serwer NAS. Kupiłem wtedy dwa wspaniałe dyski twarde o pojemności 3 TB każdy, które włożyłem do pudełka, aby wykonać wspaniały RAID 1. Ta instalacja była dobra, ale wiązała się z bolesną niedogodnością… Moje dyski twarde nigdy się nie zepsuły! Zrozum, oni nigdy nie idą spać, nawet jeśli nie był używany przez kilka godzin.
W obliczu tego problemu na próżno szukałem rozwiązania, które pozwoliłoby mi samodzielnie sterować zasilaniem portów USB… Malina był prawie w stanie prototypu, a społeczność nie była tak duża jak dzisiaj.
Raspberry Pi 3, oto jesteś!
W ostatnich dniach chciałem zainwestować w mocniejszy model. Słysząc wiele dobrego o Modelu 2, miałem nadzieję, że ten problem z zarządzaniem energią USB zostanie rozwiązany, więc zdecydowałem się na zakup nowego modelu. Na szczęście Raspberry Pi 3 zostało wydane w tym samym czasie i nie zamówiłem ani jednego, ani dwóch.
Uśpione urządzenia USB
Po kilku testach zdałem sobie sprawę, że mój początkowy problem nie został rozwiązany dzięki nowej karcie. Więc spróbowałem bawić się jedzeniem i BINGO! Tym razem znalazłem coś do roboty.
Ręczne zarządzanie energią
Po pierwsze, oto bilet, który pozwolił mi zmienić zasilacz.
A oto projekt w C pozwalający wpływać na zasilanie portów USB.
Trochę linii poleceń
$ git klon 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
Jesteśmy dobrzy. Projekt
Joela Dare'a
został skompilowany i jesteśmy teraz gotowi do włączania/wyłączania naszych urządzeń USB.
Schemat organizacyjny portów USB
Baw się portami
Należy pamiętać, że portu USB 1 nie można wyłączać pojedynczo.
Wyłączyć
- Port USB 2
1sudo ./hub-ctrl -h 0 -P 4 -p 0 - Port USB 3
1sudo ./hub-ctrl -h 0 -P 5 -p 0 - Port USB 4
1sudo ./hub-ctrl -h 0 -P 3 -p 0 - Port Ethernetowy!
1sudo ./hub-ctrl -h 0 -P 1 -p 0 - Wszystkie 4 porty USB jednocześnie
1sudo ./hub-ctrl -h 0 -P 2 -p 0
światło
- Port USB 2
1sudo ./hub-ctrl -h 0 -P 4 -p 1 - Port USB 3
1sudo ./hub-ctrl -h 0 -P 5 -p 1 - Port USB 4
1sudo ./hub-ctrl -h 0 -P 3 -p 1 - Port Ethernetowy!
1sudo ./hub-ctrl -h 0 -P 1 -p 1 - Wszystkie 4 porty USB jednocześnie
1sudo ./hub-ctrl -h 0 -P 2 -p 1
Wnioski
Ten krótki artykuł pokazuje rozwiązanie, którego od dawna szukałem. Mam nadzieję, że praca społeczności przepisana tutaj w języku angielskim będzie dla Ciebie przydatna.