Czy istnieje sposób ustalenia, czy obecny Raspberry Pi to model 2 B i 3 z Raspbian Jessie Lite 8.0 ?
Jest tak, ponieważ mam konkretny bootstrap.sh
napisany w języku Bash, w którym należy ustawić atrybut txpower
dla klucza Wi-Fi USB (tutaj Raspberry Pi 2) za pomocą sterownika mikroukładu Ralink RT5370 .
Ustawiam atrybuty Wireless za pomocą iwconfig
(co, jak wiem, jest przestarzałe, ale obecnie wykonuje zadanie, więc go nie zmieniam).
Ponieważ w Raspberry Pi 3 wewnętrzny mikroukład Wi-Fi jest bcm
chipsetem opartym na systemie , który nie pozwala na wykonanie następującego polecenia:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0dBm
W Raspberry Pi 3 wyżej wymienione polecenie działa po prostu usuwając dBm
z wyżej wspomnianego polecenia:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Chciałbym dodać sprawdzenie, czy model Raspberry Pi ma 2, czy 3, używając Bash.
Jakieś wskazówki?
W przypadku, gdy ktoś chce przejść przez bootstrap.sh
: Bootstrapping dla TWIN
Notatki
Sprawdziłem, że nie
dBm
jest to wymagane , również w przypadku Raspberry Pi 2 z chipsetem Ralink, dlatego dla niejednoznaczności można użyć tego samego polecenia zarówno dla Raspberry Pis viz.iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Warto zauważyć, że w przypadku zewnętrznych kluczy USB Wi-Fi należy wykonać następujące czynności (w przypadku Raspberry Pi 2 ):
ifconfig wlan0 down iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0 ifconfig wlan0 up
natomiast jak wbudowane moduły Wi-Fi (Raspberry Pi 3) istnieje nie trzeba za
ifconfig up and down
.iwconfig
Działa tylko proste polecenie.
Odpowiedzi:
zwraca coś takiego
źródło
Według typu procesora
Można sprawdzić wersję RPI z polecenia
uname
. Różne wersje RPi mają różne architektury procesorów. RPi 2 ma ramię 7, podczas gdy 3 ma ramię 8.Według wersji sprzętowej
Jeśli chcesz być bardziej szczegółowy, możesz sprawdzić pozycję zmiany z danych wyjściowych
cat /proc/cpuinfo
. Jeśli chcesz dokładnie podać numer wersji, powinna to zrobić następująca komenda:Numery wersji
Na tej stronie znajduje się przydatny wykres, który tutaj skopiowałem.
źródło
/proc/cpuinfo
wcześniej. Wydaje się, że to najlepsza opcja, ponieważuname -m
niewiele mówi.uname -m
uname
poda tylko listę docelowej architektury Linuksa, dla której został zbudowany, i nie jest wiarygodna przy określaniu typu procesora. Obecny RPI3 Raspbian działa w trybie 32-bitowym. wyświetli listęarmv7
, jeśli użyjesz linuxaAARCH64
(arm64
), powiearmv8
, jeśli użyjesz starego raspbian RPI1, powiearmv6
.Istnieje wiele metod (o różnej niezawodności), aby to ustalić. Jednym z najbardziej kompletnych i niezawodnych jest
gpio -v
następująca wydajność.Można to zrobić bardziej elegancko, pisząc prosty program, korzystając z funkcji dostarczonych przez
wiringpi
. Są one dobrze udokumentowane, a źródło jest łatwo dostępne.źródło
Stworzyłem skrypt bash, który dostarczy informacji o modelu na podstawie wersji.
Jeśli to poprawisz, daj mi znać.
źródło
Nie mam wystarczającej liczby przedstawicieli, aby skomentować odpowiedź @Andy Delgado, ale oto inna wersja jego kodu przy użyciu nowszych funkcji bash.
Na bok:
REVISIONS
jest zdefiniowany wewnątrz funkcji, ponieważ używam go ponad,ssh
tjssh some-host "$(declare -f); check_pi_version"
źródło
Prosta droga :
dmesg | grep "Machine model:"
źródło
[Tue Apr 11 15:59:32 2017] Machine model: Raspberry Pi 3 Model B Rev 1.2
na moim Pi. Może nie być najbardziej niezawodną metodą.dmesg
jest okrągłym buforem. Dlatego jest to błędna metodologia.Machine model: Raspberry Pi 2 Model B Rev 1.1
- bez rootowania.