Raspberry pi 3 B con Ubuntu 18.04 server arm64: quale versione pi


8

Come posso trovare quale chip ho (quale versione di raspberry pi) con il server Ubuntu 18.04 per arm64? Quale file posso controllare o quale comando posso eseguire? / proc / cpuinfo non ha informazioni utili, solo alcuni dettagli generici senza menzione del pi.


Il cat /proc/cpuinfodovrebbe produrre un numero di revisione che corrisponde alla scheda. Vedi: raspberrypi.org/documentation/hardware/raspberrypi/…
Terrance

Non lo è, almeno per il server Ubuntu 18.04. Dice solo "revisione: 4".
fattura

Potresti essere in un vicolo cieco perché l'RP non supporta SMBIOS o DMI che consente la lettura delle informazioni sulla scheda. Potrebbe anche essere qualcosa che potresti dover presentare come bug per ottenere la revisione nella cpuinfo.
Terrance

Penso che tu abbia ragione che si qualifica come un bug. Tuttavia, ho appena trovato almeno una soluzione alternativa. È breve ma lo includerò come risposta nel caso in cui le persone lo trovino utile.
fattura

E sembra come la vostra domanda reale era "che Raspberry Pi sto in esecuzione?"; mentre il tuo titolo sembra chiederti "quale CPU ha il mio Raspberry Pi?"; da qui la confusione nelle risposte. Ti suggerisco di modificare la tua domanda per cambiare il titolo.
Roger Lipscombe,

Risposte:


10

Almeno sul server Ubuntu 18.04 per arm64 e con un Raspberry Pi 3 B, il comando seguente fornisce la scheda, inclusa la revisione:

lshw

Un output meno dettagliato che è più facile da leggere è dato da:

lshw -short

Questo mi ha dato la mia tavola come "Raspberry Pi 3 B Rev 1.2", che è esattamente ciò di cui avevo bisogno in questo caso.


9

Il comando lscpuè quello che stai cercando. Ecco un esempio di output del comando (preso sul mio Raspberry Pi 3B +):

lscpu

che produce il seguente output:

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

Un'altra opzione è il inxicomando (potrebbe essere necessario installarlo se non presente con sudo apt install inxi). Usa la bandiera -Ccome segue:

inxi -C

che produce il seguente output:

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

Per quanto riguarda l'identificazione di quale chip ha la tua scheda, puoi controllare il chip sulla scheda e sul sito Web del produttore per informazioni e sui diversi punti vendita per ottenere dettagli tecnici.


Grazie, questo sicuramente fornisce ulteriori informazioni. Tuttavia, il nome del modello quando eseguo lscpu è elencato come Cortex A-53, che è sia sul pi 2 che sul 3 credo. Ti capita di conoscere un comando / file più specifico che può distinguere tra queste due schede?
fattura

Normalmente il tipo di scheda e la revisione sono stampati anche sulla scheda, quindi potresti essere in grado di verificarlo, altrimenti non ne ho idea.
Videonauth

Vedo. So qual è la mia scheda, ma un manutentore della biblioteca ha bisogno di queste informazioni per adattare la sua biblioteca al funzionamento con il mio hardware e software. Provato inxi, dà anche solo output generico. Apprezzo molto l'aiuto però.
fattura

1
Per quanto riguarda la biblioteca che vuoi usare, c'è solo una domanda. c'è una libreria che fornisce la stessa funzione di cui hai bisogno o no. Questa è l'informazione che puoi ottenere dal tuo programma macchina saggia. Sui computer desktop potrebbero esserci più informazioni per ottenere sulla versione della CPU, il lampone manca un po 'a tale proposito poiché mettere tutte queste informazioni in alcuni chip sta aumentando i costi.
Videonauth

1
L'attuale inxi (3.0.xx) ha un supporto ARM molto migliore rispetto al legacy inxi (2.xx.yy), che penso sia quello che trovi in ​​18-4. Ciò farà del suo meglio per fornire un bel po 'di informazioni sull'effettivo dispositivo SBC stesso. Su rasberry pi 3 l'unica cosa che non sta catturando è il dispositivo wifi mmc, che è troppo complicato per acquisire dati, ma per il resto il rapporto per pi 3 è abbastanza completo in new inxi. Inxi legacy aveva solo un supporto ARM rudimentale. Confronta inxi -Fxxx o -v7 su legacy e corrente su qualsiasi dispositivo pi e vedrai cosa intendo.
Lizardx,

2

Ho provato a trasferire pigpio su Debian arm64, alla fine il mio tentativo è fallito perché ho scoperto che il kernel Debian arm64 non supporta l'interfaccia della cassetta postale dello spazio utente su cui si basa pigpio, ma nel fare ciò ho fatto alcune ricerche su come rilevare Pis mentre eseguendo i kernel Debian arm64. Sospetto che funzionerà anche con Ubuntu Arm64.

Come hai scoperto / proc / cpuinfo ha solo informazioni di base sulla CPU su questi kernel. Fortunatamente le informazioni possono essere trovate altrove in / proc

In primo luogo per verificare se il dispositivo è un Pi o meno, ho controllato / proc / device-tree / model, questo ha una stringa di testo che descrive il dispositivo, quindi è improbabile che siano falsi positivi.

Per ottenere il codice di revisione ho usato / proc / device-tree / system / linux, revisione, questo contiene il codice di revisione come un intero binario big-endian. Quindi deve essere letto dal file come un intero binario, quindi convertito in little-endian (ho usato ntohl per questo).

Puoi vedere il mio codice su https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26


Grazie, è proprio quello che stavo cercando.
fattura
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.