Raspberry pi 3 B con Ubuntu 18.04 server arm64: qué versión de pi

8

¿Cómo puedo encontrar qué chip tengo (qué versión de raspberry pi) con el servidor Ubuntu 18.04 para arm64? ¿Qué archivo puedo verificar o qué comando puedo ejecutar? / proc / cpuinfo no tiene información útil, solo algunos detalles genéricos sin mencionar el pi.

anunciar
fuente
El cat /proc/cpuinfodebería producir un número de Revisión que corresponda al tablero. Ver: raspberrypi.org/documentation/hardware/raspberrypi/…
Terrance
No lo hace, al menos para el servidor Ubuntu 18.04. Solo dice "revisión: 4".
anunciar el
Es posible que se encuentre en un punto muerto con esto porque el RP no es compatible con SMBIOS o DMI que permite leer la información del tablero. También puede ser algo que deba archivar como error para que la revisión se lea en la cpuinfo.
Terrance
Creo que tienes razón en que califica como un error. Sin embargo, acabo de encontrar al menos una solución alternativa. Es breve, pero lo incluiré como respuesta en caso de que la gente lo encuentre útil.
anunciar el
Se ve como su pregunta real era "que Frambuesa Pi estoy ejecutando en?"; Considerando que su título parece estar preguntando "¿qué CPU tiene mi Raspberry Pi?"; De ahí la confusión en las respuestas. Le sugiero que edite su pregunta para cambiar el título.
Roger Lipscombe

Respuestas:

10

Al menos en el servidor Ubuntu 18.04 para arm64 y con una Raspberry Pi 3 B, el siguiente comando proporciona la placa, incluida la revisión:

lshw

Un resultado menos detallado que es más fácil de leer viene dado por:

lshw -short

Eso me dio mi placa como "Raspberry Pi 3 B Rev 1.2", que es exactamente lo que se necesitaba en este caso.

anunciar
fuente
9

El comando lscpues lo que estás buscando. Aquí hay un ejemplo de salida del comando (tomado en mi Raspberry Pi 3B +):

lscpu

que produce el siguiente resultado:

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

Otra opción es el inxicomando (puede que tenga que instalarlo si no está presente sudo apt install inxi). Use la bandera de la -Csiguiente manera:

inxi -C

que produce el siguiente resultado:

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 cuanto a identificar qué chip tiene su placa, puede consultar el chip en la placa, así como el sitio web del fabricante para obtener información y los diferentes puntos de venta para obtener detalles técnicos.

Videonauth
fuente
Gracias, eso definitivamente da información extra. Sin embargo, el nombre del modelo cuando ejecuto lscpu aparece como Cortex A-53, que está en el pi 2 y 3, creo. ¿Conoces un comando / archivo más específico que pueda distinguir entre estos dos tableros?
anunciar el
Normalmente, el tipo de tablero y la revisión también se imprimen en el tablero, por lo que es posible que pueda verificarlo, de lo contrario, no tengo pistas.
Videonauth 01 de
Veo. Sé cuál es mi placa, pero el responsable de la biblioteca necesita esta información para ajustar su biblioteca para que funcione con mi hardware y software. Probado inxi, también da salida genérica solamente. Realmente aprecio la ayuda sin embargo.
anunciar el
1
En cuanto a la biblioteca que desea usar, solo hay una pregunta. ¿Hay una biblioteca que proporcione la misma función que necesita o no? Esta es la información que puede obtener de su programa de máquina inteligente. En las computadoras de escritorio puede haber más información para obtener sobre la versión de la CPU, la frambuesa carece en ese sentido un poco, ya que poner toda esta información en algunos chips aumenta los costos.
Videonauth 01 de
1
El actual inxi (3.0.xx) tiene mucho mejor soporte ARM que el antiguo inxi (2.xx.yy), que creo que es lo que encuentras en 18-4. Eso hará todo lo posible para brindar bastante información sobre el dispositivo SBC real. En rasberry pi 3, lo único que no atrapa es el dispositivo mmc wifi, que es demasiado complicado para obtener datos, pero de lo contrario, el informe para pi 3 está bastante completo en el nuevo inxi. Legacy inxi solo tenía soporte ARM rudimentario. Compare inxi -Fxxx o -v7 en legacy y current en cualquier dispositivo pi y verá lo que quiero decir.
Lizardx
2

Intenté portar pigpio a Debian arm64, al final mi intento falló porque descubrí que el kernel Debian arm64 no es compatible con la interfaz de buzón de espacio de usuario en la que se basa pigpio, pero al hacerlo investigué un poco sobre cómo detectar Pis mientras ejecutando Debian arm64 kernels. Sospecho que esto también funcionará para ubuntu arm64.

Como ha descubierto, / proc / cpuinfo solo tiene información central de la CPU en estos núcleos. Afortunadamente, la información se puede encontrar en otro lugar en / proc

En primer lugar, para verificar si el dispositivo es Pi o no, verifiqué / proc / device-tree / model, esto tiene una cadena de texto que describe el dispositivo, por lo que es poco probable que haya falsos positivos.

Para obtener el código de revisión utilicé / proc / device-tree / system / linux, revision, que contiene el código de revisión como un entero binario big-endian. Por lo tanto, debe leerse del archivo como un entero binario y luego convertirse a little-endian (usé ntohl para esto).

Puedes ver mi código en https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26

Peter Green
fuente
Gracias, eso es lo que estaba buscando.
anunciar el