Eu tenho um computador baseado em ARM que parece funcionar bem executando o Ubuntu Linux (sem GUI). Como obtenho uma lista de todos os componentes deste computador? como tipo de chip Ethernet, chip Wifi, Bluetooth, CPU, chip de gerenciamento de energia, etc., se possível.
Responder1
A variação das implementações ARM é muito alta para ser coberta pelas ferramentas padrão.
Cavando /sys/class
você encontrará todos os seus componentes, mas é difícil fazer isso. Você não pode usar find /sys/class -name name
para localizar todos os componentes por causa dos links simbólicos. Você também não pode usar find -L
por causa dos links circulares.
cat /sys/class/*/*/device/*/{,*/,*/*/}name */*/device/*/name|sort -u
dá uma ideia dos dispositivos, mas se você realmente quiser conhecer os dispositivos com drivers realmente carregados, terá que ler manualmente o seu arquivo dmesg
.
Responder2
Para listar hardware em dispositivos IoT, geralmente os comandos mais úteis depois dmesg
são cat /proc/cpuinfo
e lsusb
.
Na maioria das marcas de IoT, lsusb
revela-se útil, como por exemplo o sinovoip (banana) tende a conectar grande parte do hardware ao(s) controlador(es) USB(s).
Quanto a listar TODOS os componentes; isso não será possível. Não existem métodos confiáveis para listar componentes conectados por meio dos padrões GPIO ou i2c.
Veja exemplos para a framboesa:
cat /proc/cpuinfo
, além de listar todos os núcleos/threads (4 deles aqui), lista no final o modelo do chipset, revisão eem algumas placas, o número de série. (você tem que deslizar até o final para ver)
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
E 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.
Responder3
A arquitetura ARM não possui nenhum barramento PCI. Eles usam o ônibus AMBA.
Dmesg lhe dará a maioria das informações que você precisa.
Responder4
O lshw
comando fornece uma lista bastante completa dos componentes do seu computador.
Você pode obtê-lo no Ubuntu com apt-get install lshw
.