listar todos los componentes de un equipo ARM en Linux?


18

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 están en esta computadora? como tipo de chip Ethernet, chip Wifi, Bluetooth, CPU, chip de administración de energía, etc. si es posible.

Respuestas:


11

La variación de las implementaciones ARM es demasiado alta para ser cubierta con las herramientas estándar.

Cavando /sys/classencontrará todos sus componentes, pero es un dolor para hacerlo. No se puede utilizar find /sys/class -name namepara encontrar todos los componentes debido a los enlaces simbólicos. Usted no puede utilizar find -Ldebido a los vínculos círculo.

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

le da una cierta impresión de los dispositivos, pero si realmente quieres saber los dispositivos con controladores cargados en realidad, tendrá que leer de forma manual a través de su dmesg.


Gracias Philippos. Voy a pasar algún tiempo con esto y presentará un informe.
Curious101

8

Para la inclusión en los dispositivos de hardware de la IO, por lo general los comandos más útiles después dmesgson cat /proc/cpuinfoy lsusb.

En la mayoría de las marcas de la IO, lsusbse revela útil, como por ejemplo sinovoip (plátano) tiende a conectar una gran parte del hardware para el controlador USB (s) (s).

En cuanto a enumerar TODOS los componentes; Eso no será posible. No existen métodos fiables a los componentes de la lista de conectados a través del GPIO o estándares I2C.

Vea ejemplos para la frambuesa:

cat /proc/cpuinfo, Además de listados de todos los núcleos / hilos (4 de ellos aquí), las listas al final el modelo de chipset, revisión, y en algunos tableros , el número de serie. (usted tiene que deslizar hasta el final verla)

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.

El PO mencionó "chips Ethernet, el chip Wi-Fi, Bluetooth, CPU, chip de administración de energía". No me conectar cualquiera de los a través de USB. Ethernet que ver principalmente con PCIe, WLAN con SDIO o PCIe, Bluetooth con UART y PMIC con I2C / SMbus. Es un mundo complejo ahí abajo ...
Philippos

@Philippos lo haría no demasiado ... El problema es que muchos vendedores chinos lo hacen en los clones RPI debido a factores de costo - wifi a través de USB es bastante común. Me tienden a estar lejos de las juntas que implementan Ethernet y SATA a través de USB.
Rui Ribeiro F

1
Interesante, no me encontré con este tipo. Tal vez porque trabajo con sistemas diseñé yo mismo. Ahora recuerdo que vi algunos módulos 802.11ac con el puerto USB 2 y se pregunta por qué alguien podría querer el estándar USB rápido con freno de mano. (-X
Philippos

Gracias Rui. Voy a pasar algún tiempo en ellos. Apreciar el Mini discusión entre Philippos y Rui en este caso. Me proporcionó alguna información útil sobre qué puesto de observación para. Voy a informar después de pasar algún tiempo en esto.
Curious101

4

arquitectura ARM no tienen ningún bus PCI. Utilizan bus AMBA.

AMBA

Diagrama de bloques de ARM

Dmesg le dará la mayoría de las informaciones que necesita.


1
No sé qué dispositivo que nos está mostrando, pero hay muchas SoC ARM por ahí con PCIe. Unfortunally mayoría de los periféricos como la GPU interna no utilizan PCIe, para que no se muestran con lspci. Entonces, aunque la primera parte de su respuesta es incorrecta, la segunda es correcta: dmesges el camino a seguir.
Philippos

No muchos, no. Solo los Juno tienen carriles PCI. Y usted no lo encontrará en cualquier dispositivo de consumo disponibles, ya que nunca se quitó, demasiado caro para producir y no lo suficientemente popular. Lo que puedes ver son las ranuras Mini-PCIe. Pero están controlados por el Hub USB, no hay bus PCI en absoluto. Me gusta esto ! uno . No será visto por lspci. Pero estoy listo para demostrar que estoy equivocado, búscame uno disponible para el consumidor con carriles PCIe.
Simon-Pierre Dubé

Sólo a partir de la ARM SoC Yo trabajo actualmente con: La familia i.MX6 por Freescale (-> NXP -> Qualcomm), probablemente el SoC más extendida en esta clase, tiene PCIe, además de TI Sitara AM57 * y * AM5K fichas y de Nvidia Tegra K1 y de Qualcomm Snapdragon 600E. Los consumidores pueden obtener tarjetas de desarrollo o juntas de la comunidad o dispositivos finales (como algunos Chromebooks basados en K1) con las. Así que no estoy de acuerdo: Sí, muchos. La mayoría de esta clase
Philippos

1

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

Se puede conseguir en Ubuntu con apt-get install lshw.


44
Nunca corriste lshwen una caja de brazo, ¿verdad? Nunca vi lshwproporcionar incluso un tercio de los componentes conocidos por el sistema a través del árbol de dispositivos.
Philippos

1

Para una lista de todos los componentes en un sistema Linux puede utilizar:

  • El inxicomando con -optionsedeinxi -h
  • El hwinfocomando similar lshwy más detallado.
  • el /procdirectorio que contiene toda la información sobre el sistema, memoria, dispositivos, hardware ....

2
Hace dmidecodeel trabajo, incluso en ARM? No se basan en estándares de IBM PC BIOS?
dirkt

1
@dirkt Ni siquiera un poco. Sólo funciona en i386, x86_64, IA64 y algunos sistemas.
duskwuff
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.