перечислить все компоненты компьютера ARM в Linux?

перечислить все компоненты компьютера ARM в Linux?

У меня есть компьютер на базе ARM, который, кажется, работает нормально под управлением Ubuntu Linux (без графического интерфейса). Как мне получить список всех компонентов, которые есть на этом компьютере? Например, тип чипа Ethernet, чип Wifi, Bluetooth, CPU, чип управления питанием и т. д., если это возможно.

решение1

Разнообразие реализаций ARM слишком велико, чтобы его можно было охватить стандартными инструментами.

Копнув вниз, /sys/classвы найдете все свои компоненты, но это больно. Вы не можете использовать , find /sys/class -name nameчтобы найти все компоненты из-за символических ссылок. Вы также не можете использовать , find -Lиз-за круговых ссылок.

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

дает вам некоторое представление об устройствах, но если вы действительно хотите узнать устройства с фактически загруженными драйверами, вам придется вручную прочитать ваш dmesg.

решение2

Для вывода списка оборудования в устройствах IoT обычно наиболее полезными dmesgявляются команды после cat /proc/cpuinfoи lsusb.

В большинстве брендов IoT lsusbоказывается полезным, например, sinovoip (banana) имеет тенденцию подключать большую часть оборудования к контроллеру(ам) USB.

Что касается перечисления ВСЕХ компонентов, то это будет невозможно. Не существует надежных методов перечисления компонентов, подключенных через стандарты GPIO или i2c.

Смотрите примеры для малины:

cat /proc/cpuinfo, помимо перечисления всех ядер/потоков (здесь их 4), в конце перечислены модель чипсета, ревизия ив некоторых досках, серийный номер. (чтобы увидеть его, нужно пролистать до конца)

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

И 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.

решение3

Архитектура ARM не имеет шины PCI. Они используют шину AMBA.

АМБА

Блок-схема ARM

Dmesg предоставит вам большую часть необходимой информации.

решение4

Команда lshwвыдает довольно полный список компонентов вашего компьютера.

Вы можете получить его в Ubuntu с помощью apt-get install lshw.

Связанный контент