Raspberry pi 3 B avec le serveur Ubuntu 18.04 arm64: quelle version pi

8

Comment puis-je trouver quelle puce j'ai (quelle version de raspberry pi) avec le serveur Ubuntu 18.04 pour arm64? Quel fichier puis-je vérifier ou quelle commande puis-je exécuter? / proc / cpuinfo n'a pas d'informations utiles, juste quelques détails génériques sans mentionner le pi.

facture
la source
Le cat /proc/cpuinfodevrait produire un numéro de révision qui correspond à la carte. Voir: raspberrypi.org/documentation/hardware/raspberrypi/…
Terrance
Ce n'est pas le cas, du moins pour le serveur Ubuntu 18.04. Il dit seulement "révision: 4".
anvoice
Vous pourriez être dans une impasse avec cela car le RP ne prend pas en charge SMBIOS ou DMI qui permet de lire les informations de la carte. Il peut également s'agir d'un fichier que vous devrez déposer en tant que bogue pour que la révision soit lue dans cpuinfo.
Terrance
Je pense que vous avez raison de dire qu'il s'agit d'un bug. Cependant, je viens de trouver au moins une solution de contournement. C'est court mais je vais l'inclure comme réponse au cas où les gens le trouveraient utile.
anvoice
Il semble que votre vraie question était "sur quel Raspberry Pi suis-je en train de courir?"; alors que votre titre semble demander "de quel processeur dispose mon Raspberry Pi?"; d'où la confusion dans les réponses. Je vous suggère de modifier votre question pour changer le titre.
Roger Lipscombe

Réponses:

10

Au moins sur le serveur Ubuntu 18.04 pour arm64 et avec un Raspberry Pi 3 B, la commande suivante donne la carte, y compris la révision:

lshw

Une sortie moins verbeuse et plus facile à lire est donnée par:

lshw -short

Cela m'a donné ma carte en tant que "Raspberry Pi 3 B Rev 1.2", ce qui était exactement ce qui était nécessaire dans ce cas.

facture
la source
9

La commande lscpuest ce que vous recherchez. Voici un exemple de sortie de la commande (prise sur mon Raspberry Pi 3B +):

lscpu

qui produit la sortie suivante:

Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
Model:                 4
Model name:            ARMv7 Processor rev 4 (v7l)
CPU max MHz:           1200,0000
CPU min MHz:           600,0000
BogoMIPS:              38.40
Flags:                 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32

Une autre option est la inxicommande (vous devrez peut-être l'installer si elle n'est pas présente avec sudo apt install inxi). Utilisez le drapeau -Ccomme suit:

inxi -C

qui produit la sortie suivante:

CPU:       Quad core ARMv7 rev 4 (v7l) (-MCP-) (ARM) 
           clock speeds: max: 1200 MHz 1: 1200 MHz 2: 1200 MHz 3: 1200 MHz 4: 1200 MHz

En ce qui concerne l'identification de la puce de votre carte, vous pouvez vérifier la puce sur la carte ainsi que le site Web du fabricant pour plus d'informations et les différents points de vente pour obtenir des détails techniques.

Videonauth
la source
Merci, cela donne certainement des informations supplémentaires. Cependant, le nom du modèle lorsque je lance lscpu est répertorié comme Cortex A-53, qui se trouve à la fois sur les pi 2 et 3, je crois. Connaissez-vous une commande / un fichier plus spécifique qui peut faire la distinction entre ces deux cartes?
anvoice
Normalement, le type de carte et la révision sont également imprimés sur la carte, vous pourrez donc peut-être le vérifier, sinon je n'ai plus d'indices.
Videonauth
Je vois. Je connais ma carte, mais un mainteneur de bibliothèque a besoin de ces informations pour ajuster sa bibliothèque afin qu'elle fonctionne avec mon matériel et mes logiciels. Essayé inxi, il donne également une sortie générique uniquement. J'apprécie vraiment l'aide cependant.
anvoice
1
Quant à la bibliothèque que vous souhaitez utiliser, il n'y a qu'une seule question. existe-t-il une bibliothèque qui fournit la même fonction dont vous avez besoin ou non. Ce sont les informations que vous pouvez obtenir de votre programme machine. Sur les ordinateurs de bureau, il pourrait y avoir plus d'informations à obtenir sur la version du processeur, la framboise manque un peu à cet égard, car mettre toutes ces informations dans certaines puces augmente les coûts.
Videonauth
1
Inxi actuel (3.0.xx) a un meilleur support ARM que l'héritage inxi (2.xx.yy), ce qui, je pense, est ce que vous trouverez dans 18-4. Cela fera de son mieux pour donner un peu d'informations sur le périphérique SBC lui-même. Sur rasberry pi 3, la seule chose qu'il n'attrape pas est le périphérique wifi mmc, qui est trop compliqué pour saisir des données, mais sinon le rapport pour pi 3 est assez complet dans le nouvel inxi. Legacy inxi n'avait qu'un support ARM rudimentaire. Comparez inxi -Fxxx ou -v7 sur l'héritage et le courant sur n'importe quel appareil pi et vous verrez ce que je veux dire.
Lizardx
2

J'ai tenté de porter pigpio sur Debian arm64, à la fin ma tentative a échoué parce que j'ai découvert que le noyau Debian arm64 ne prend pas en charge l'interface de boîte aux lettres de l'espace utilisateur sur laquelle pigpio s'appuie, mais ce faisant, j'ai fait des recherches sur la façon de détecter Pis pendant exécuter les noyaux Debian arm64. Je soupçonne que cela fonctionnera également pour ubuntu arm64.

Comme vous l'avez découvert, / proc / cpuinfo ne dispose que des informations de base du processeur sur ces noyaux. Heureusement, les informations peuvent être trouvées ailleurs dans / proc

Tout d'abord pour vérifier si le périphérique est un Pi ou non, j'ai vérifié / proc / device-tree / model, cela a une chaîne de texte décrivant le périphérique, donc les faux positifs sont peu probables.

Pour obtenir le code de révision que j'ai utilisé / proc / device-tree / system / linux, revision, celui-ci contient le code de révision sous la forme d'un entier binaire big-endian. Il doit donc être lu dans le fichier comme un entier binaire, puis converti en petit-boutien (j'ai utilisé ntohl pour cela).

Vous pouvez voir mon code sur https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26

Peter Green
la source
Merci, c'est bien ce que je cherchais.
facture du