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/class
encontrará todos sus componentes, pero es complicado hacerlo. No puede utilizar find /sys/class -name name
para buscar todos los componentes debido a los enlaces simbólicos. Tampoco puedes usarlo find -L
debido 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 dmesg
son cat /proc/cpuinfo
y lsusb
.
En la mayoría de las marcas de IoT, lsusb
resulta ú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.
Dmesg le brindará la mayor parte de la información que necesita.
Respuesta4
El lshw
comando proporciona una lista bastante completa de los componentes de su computadora.
Puedes obtenerlo en Ubuntu con apt-get install lshw
.