Comment puis-je identifier à partir de la ligne de commande quelle révision de carte j'ai?

16

Je viens de courir

cat /proc/cpuinfo

sur ma planche. J'obtiens "Révision: 1000002". Je n'ai pas réussi à trouver de quelle version du tableau il s'agit.

De l'aide?

John Smith
la source
1
Vous avez changé le sens de la question.
Alex Chamberlain
@AlexChamberlain: C'est ce que je voulais dire quand j'ai posé la question.
John Smith,
@JohnSmith Je suggérerais un retour en arrière et poser cette question séparément, car AlexChamberlain a dit que vous avez changé le sens de la question et que cette question n'est plus synchronisée avec ses réponses.
Steve Robillard
Bonjour John Smith. Veuillez ne pas modifier votre question en une nouvelle. Utilisez plutôt le bouton Poser une question pour poser une nouvelle question. En attendant, je vais revenir sur cette question. Merci!

Réponses:

13

Selon les informations publiées dans le cadre de l'annonce de la prochaine révision de la carte , vous disposez d'une carte modèle B révision 1.0.

MODÈLE ET CODE (S) DE RÉVISION
Modèle B Révision 1.0 2
Modèle B Révision 1.0 + ECN0001 (pas de fusibles, D14 retiré) 3
Modèle B Révision 2.0 4, 5, 6

Le code est le dernier chiffre du numéro renvoyé par

cat /proc/cpuinfo 

(au moins jusqu'à ce qu'ils aient plus de 9 révisions).

Steve Robillard
la source
Alors, quel est le 1 au début?
John Smith
@JohnSmith Je ne sais pas, mais s'il est forcé de deviner, je dirais que sur la base du graphique, il indique le modèle (B dans ce cas).
Steve Robillard
Il y a un commentaire ici où l'utilisateur implique que 1 est le "bit de surtension".
nickgrim
@nickgrim: C'est la réponse que je cherche. Pouvez-vous le mettre comme et répondre?
John Smith
Oui, ce 1 est le bit "garantie annulée".
David Schwartz
1
MODEL AND REVISION                                       CODE(S)
Model B Revision 1.0                                    2
Model B Revision 1.0 + ECN0001 (no fuses, D14 removed)  3
Model B Revision 2.0                                    4, 5, 6
John La Rooy
la source
1

De /proc/cpuinfonos jours, il existe une documentation complète sur le champ de révision sur raspberrypi.org:

https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md

Cela documente à la fois un code de révision plus ancien (incrémentiel) (valeurs 0x0001 à 0x0015, utilisé pour les modèles Rpi 1 d'origine), et un format plus récent (introduit avec le Rpi 2) où les bits du code codent réellement des paramètres tels que le fabricant, la taille de la mémoire et type de carte. Il contient également une liste de tous les codes de révision actuellement utilisés.

Ce que cette page ne documente pas, c'est que la révision (à l'ancienne) peut avoir un préfixe "1000" qui indique que la carte a une surtension appliquée. Je soupçonne que pour les révisions de nouveau style, un préfixe similaire (mais plus court, car la révision est plus longue) s'applique. Des informations sur ce préfixe, ainsi qu'une liste de modèles avec quelques détails sur les différences notables, sont disponibles sur https://elinux.org/RPi_HardwareHistory

Il est également documenté sur cette page sur raspberrypi.org que vous pouvez trouver un descripteur lisible par l'homme du modèle actuel dans /sys:

$ cat /sys/firmware/devicetree/base/model 
Raspberry Pi Model B Plus Rev 1.2

Au démarrage, le chargeur de démarrage (ou peut-être le noyau) détecte automatiquement sur quelle carte il s'exécute, puis charge le fichier "devicetree" approprié pour cette carte. Ce devicetree décrit comment tout le matériel est connecté et est utilisé pour charger les pilotes appropriés. De plus, ce devicetree contient également une propriété "modèle". J'allais dire que c'est la propriété que vous lisez réellement avec la commande ci-dessus, sauf que les chaînes de modèle définies dans le devicetree sont en fait légèrement différentes (en utilisant "+" plutôt que "Plus" et sans la chaîne de révision). Par exemple, le fichier devicetree qui, je pense, appartient à la sortie de commande ci-dessus est bcm2708-rpi-b-plus.dts . Il existe également des versions bcm2835, mais celles-ci ne sont pas présentes dans mon/boot et le bcm2708 dts revendique la compatibilité avec le bcm2835.dtbfichier à partir /boot, mais cela aussi donne la chaîne avec "+" et aucune révision, donc je ne sais pas exactement d'où vient cette chaîne de modèle exactement (et plus important encore, à quoi ressemblent toutes les valeurs possibles). Alors peut-être que le bootloader récupère un devicetree d'ailleurs, ou en a un intégré quelque part.

Je viens de remarquer qu'il /proc/cpuinfocontient également un champ "Modèle", qui, je pense, pourrait avoir la même source.

Matthijs Kooijman
la source