Existe-t-il un moyen de déterminer si le Raspberry Pi actuel est un 2 Model B et 3 avec Raspbian Jessie Lite 8.0 ?
C'est parce que j'ai bootstrap.sh
écrit en particulier dans Bash où il doit définir l'attribut txpower
d'un dongle USB Wi-Fi (ici, Raspberry Pi 2) à l'aide d'un pilote de chipset Ralink RT5370 .
J'ai défini les attributs sans fil à l'aide de iwconfig
(qui, je le sais, est obsolète, mais il fait actuellement le travail, donc je ne le change pas).
Depuis, dans Raspberry Pi 3, le chipset Wi-Fi interne est un bcm
chipset basé sur qui ne laissera pas la commande suivante s'exécuter:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0dBm
Avec Raspberry Pi 3, la commande mentionnée ci-dessus fonctionne simplement en supprimant dBm
de la commande mentionnée ci-dessus:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Je voudrais ajouter une vérification si le modèle Raspberry Pi est 2 ou 3 en utilisant Bash.
Des indices?
Dans le cas où quelqu'un souhaite passer par bootstrap.sh
: Bootstrapping for TWIN
Remarques
J'ai vérifié que ce
dBm
n'est pas nécessaire , également dans le cas du Raspberry Pi 2 avec le chipset Ralink, donc pour la non-ambiguïté, on peut utiliser la même commande pour les deux Raspberry Pis .iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Il est intéressant de noter que pour les dongles USB Wi-Fi externes, il faut effectuer les opérations suivantes (pour Raspberry Pi 2 ):
ifconfig wlan0 down iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0 ifconfig wlan0 up
tandis que pour les modules Wi-Fi intégrés (Raspberry Pi 3), il n'y a pas besoin de
ifconfig up and down
. Laiwconfig
commande simple fonctionne.
Réponses:
renvoie quelque chose comme
la source
Par type de CPU
Vous pouvez vérifier la version RPI avec la commande,
uname
. Les différentes versions RPi ont différentes architectures CPU. Le RPi 2 a un bras7, tandis que le 3 a un bras8.Par révision matérielle
Si vous devez être plus précis, vous pouvez vérifier l' entrée de révision à partir de la sortie de
cat /proc/cpuinfo
. Si vous voulez juste préciser le numéro de révision, la commande suivante devrait le faire:Numéros de révision
Cette page Web contient un tableau pratique que j'ai copié ici.
la source
/proc/cpuinfo
avant. Cela semble être la meilleure option, caruname -m
ne dit pas grand-chose.uname -m
uname
ne listera que l'architecture cible pour laquelle Linux a été conçu et n'est pas fiable pour déterminer le type de CPU. La Raspbian RPI3 actuelle fonctionne en mode 32 bits. il listeraarmv7
, si vous utilisez un linuxAARCH64
(arm64
) il diraarmv8
, si vous utilisez l'ancien raspbian RPI1 il diraarmv6
.Il existe de nombreuses méthodes (de fiabilité variable) pour déterminer cela. L'un des plus complets et des plus fiables est celui
gpio -v
qui produit la sortie suivante.Cela pourrait être fait de manière plus élégante en écrivant un programme simple, en utilisant les fonctions fournies par
wiringpi
. Celles-ci sont bien documentées et la source est facilement disponible.la source
J'ai créé un script bash qui fournira les informations sur le modèle en fonction de la révision.
Si vous l'améliorez, faites-le moi savoir.
la source
Je n'ai pas assez de représentant pour commenter la réponse de @Andy Delgado, mais voici une version différente de son code en utilisant de nouvelles fonctionnalités bash.
Mis à part:
REVISIONS
est défini à l'intérieur d'une fonction puisque je l'utilise surssh
iessh some-host "$(declare -f); check_pi_version"
la source
Manière simple:
dmesg | grep "Machine model:"
la source
[Tue Apr 11 15:59:32 2017] Machine model: Raspberry Pi 3 Model B Rev 1.2
sur mon Pi. Peut-être pas la méthode la plus robuste.dmesg
est un tampon circulaire. Il s'agit donc d'une méthodologie imparfaite.Machine model: Raspberry Pi 2 Model B Rev 1.1
-à- dire sans racine aussi.