¿Enumerar todos los componentes de una computadora ARM en Linux?

¿Enumerar todos los componentes de una computadora ARM en Linux?

Tengo una computadora basada en ARM que parece funcionar bien con Ubuntu Linux (sin GUI). ¿Cómo obtengo una lista de todos los componentes que hay en esta computadora? como tipo de chip Ethernet, chip Wifi, Bluetooth, CPU, chip de administración de energía, etc., si es posible.

Respuesta1

La variación de las implementaciones de ARM es demasiado grande para cubrirla con las herramientas estándar.

Excavando /sys/classencontrará todos sus componentes, pero es complicado hacerlo. No puede utilizar find /sys/class -name namepara buscar todos los componentes debido a los enlaces simbólicos. Tampoco puedes usarlo find -Ldebido a los enlaces circulares.

cat /sys/class/*/*/device/*/{,*/,*/*/}name */*/device/*/name|sort -u

le da una idea de los dispositivos, pero si realmente desea conocer los dispositivos con controladores realmente cargados, tendrá que leer manualmente su archivo dmesg.

Respuesta2

Para enumerar hardware en dispositivos IoT, normalmente los comandos más útiles después dmesgson cat /proc/cpuinfoy lsusb.

En la mayoría de las marcas de IoT, lsusbresulta útil, ya que, por ejemplo, sinovoip (banana) tiende a conectar gran parte del hardware a los controladores USB.

En cuanto a enumerar TODOS los componentes; eso no será posible. No existen métodos confiables para enumerar los componentes conectados mediante los estándares GPIO o i2c.

Ver ejemplos para la frambuesa:

cat /proc/cpuinfo, además de enumerar todos los núcleos/hilos (4 de ellos aquí), enumera al final el modelo del chipset, la revisión yen algunos tableros, el número de serie. (tienes que deslizar hasta el final para verlo)

pi@raspberrypi:~ $ cat /proc/cpuinfo
processor   : 0
model name   : ARMv7 Processor rev 4 (v7l)
BogoMIPS   : 38.40
Features   : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer   : 0x41
CPU architecture: 7
CPU variant   : 0x0
CPU part   : 0xd03
CPU revision   : 4

processor   : 1
model name   : ARMv7 Processor rev 4 (v7l)
BogoMIPS   : 38.40
Features   : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer   : 0x41
CPU architecture: 7
CPU variant   : 0x0
CPU part   : 0xd03
CPU revision   : 4

processor   : 2
model name   : ARMv7 Processor rev 4 (v7l)
BogoMIPS   : 38.40
Features   : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer   : 0x41
CPU architecture: 7
CPU variant   : 0x0
CPU part   : 0xd03
CPU revision   : 4

processor   : 3
model name   : ARMv7 Processor rev 4 (v7l)
BogoMIPS   : 38.40
Features   : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer   : 0x41
CPU architecture: 7
CPU variant   : 0x0
CPU part   : 0xd03
CPU revision   : 4

Hardware   : BCM2709
Revision   : a02082
Serial      : 00000000xxxxxxxx

Y lsusb:

$ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 05dc:a781 Lexar Media, Inc.

Respuesta3

La arquitectura ARM no tiene ningún bus PCI. Utilizan el autobús AMBA.

AMBA

Diagrama de bloques ARM

Dmesg le brindará la mayor parte de la información que necesita.

Respuesta4

El lshwcomando proporciona una lista bastante completa de los componentes de su computadora.

Puedes obtenerlo en Ubuntu con apt-get install lshw.

información relacionada