Gibt es eine Möglichkeit festzustellen, ob der aktuelle Raspberry Pi entweder ein 2 Model B oder ein 3 mit Raspbian Jessie Lite 8.0 ist ?
Dies liegt daran, dass ich ein bestimmtes bootstrap.sh
in Bash geschriebenes Attribut txpower
für einen Wi-Fi-USB-Dongle (hier Raspberry Pi 2) mithilfe eines Ralink RT5370-Chipsatztreibers festlegen muss .
Ich habe die Wireless-Attribute mithilfe von festgelegt iwconfig
(von denen ich weiß, dass sie veraltet sind, aber derzeit erledigt werden, sodass ich sie nicht ändere).
Da es sich bei dem internen Wi-Fi-Chipsatz in Raspberry Pi 3 um einen bcm
Chipsatz handelt, der den folgenden Befehl nicht ausführen lässt:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0dBm
Mit Raspberry Pi 3 funktioniert der oben genannte Befehl nur durch Entfernen dBm
aus dem oben genannten Befehl:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Ich möchte eine Überprüfung hinzufügen, ob das Himbeer-Pi-Modell 2 oder 3 mit Bash ist.
Irgendwelche Hinweise?
Für den Fall, dass jemand die bootstrap.sh
folgenden Schritte ausführen möchte : Bootstrapping für TWIN
Anmerkungen
Ich überprüfte , dass
dBm
ist nicht erforderlich , auch im Falle des Raspberry Pi 2 mit dem Ralink Chipsatz daher für nicht-Mehrdeutigkeit kann man den gleichen Befehl für verwenden sowohl die Raspberry Pi viz.iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Es ist interessant festzustellen, dass für externe Wi-Fi-USB-Dongles Folgendes ausgeführt werden muss (für Raspberry Pi 2 ):
ifconfig wlan0 down iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0 ifconfig wlan0 up
während für integrierte Wi-Fi - Module (Raspberry Pi 3) gibt es keine Notwendigkeit für
ifconfig up and down
. Nur der einfacheiwconfig
Befehl funktioniert.
Antworten:
gibt so etwas wie zurück
quelle
Nach CPU-Typ
Sie könnten RPI - Version mit dem Befehl überprüfen,
uname
. Die verschiedenen RPi-Versionen haben unterschiedliche CPU-Architekturen. Der RPi 2 hat einen Arm7, während der 3 einen Arm8 hat.Nach Hardware-Revision
Wenn Sie genauer sein müssen, können Sie den Revisionseintrag aus der Ausgabe von überprüfen
cat /proc/cpuinfo
. Wenn Sie nur die Revisionsnummer angeben möchten, sollte dies mit dem folgenden Befehl geschehen:Revisionsnummern
Diese Webseite enthält ein handliches Diagramm, das ich hier kopiert habe.
quelle
/proc/cpuinfo
vorher durchgegangen. Es scheint die beste Option zu sein, dauname -m
nicht viel aussagt.uname -m
uname
listet nur die Zielarchitektur auf, für die Linux erstellt wurde, und ist für die Bestimmung des CPU-Typs unzuverlässig. Der aktuelle RPI3-Raspbian wird im 32-Bit-Modus ausgeführt. es wird eine Listearmv7
, wenn Sie eine verwendenAARCH64
(arm64
) Linux wird es sagenarmv8
, wenn Sie den alten RPI1 raspbian verwenden wird es sagenarmv6
.Es gibt viele Methoden (mit unterschiedlicher Zuverlässigkeit), um dies zu bestimmen. Eine der vollständigsten und zuverlässigsten ist
gpio -v
die, die die folgende Ausgabe erzeugt.Dies könnte eleganter geschehen, indem ein einfaches Programm unter Verwendung der von bereitgestellten Funktionen geschrieben wird
wiringpi
. Diese sind gut dokumentiert und die Quelle ist leicht verfügbar.quelle
Ich habe ein Bash-Skript erstellt, das die Modellinformationen basierend auf der Revision bereitstellt.
Wenn Sie es besser machen, lassen Sie es mich bitte wissen.
quelle
Ich habe nicht genug Repräsentanten, um @Andy Delgado zu kommentieren, aber hier ist eine andere Version seines Codes mit einigen neueren Bash-Funktionen.
Nebenbei:
REVISIONS
wird innerhalb einer Funktion definiert, da ich sie überssh
dh benutzessh some-host "$(declare -f); check_pi_version"
quelle
Einfacher Weg :
dmesg | grep "Machine model:"
quelle
[Tue Apr 11 15:59:32 2017] Machine model: Raspberry Pi 3 Model B Rev 1.2
auf meinem Pi. Möglicherweise nicht die robusteste Methode.dmesg
ist ein Ringpuffer. Daher ist dies eine fehlerhafte Methodik.Machine model: Raspberry Pi 2 Model B Rev 1.1
- auch ohne root.