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


18

У мене є комп'ютер на базі ARM, який, здається, працює нормально під керуванням Ubuntu Linux (не GUI). Як отримати список усіх компонентів, які є на цьому комп'ютері? наприклад тип мікросхеми Ethernet, чіп Wifi, Bluetooth, процесор, чіп управління живленням тощо, якщо це можливо.

Відповіді:


11

Варіант реалізації ARM занадто високий, щоб покрити його стандартними інструментами.

Копаючи, /sys/classви знайдете всі свої компоненти, але це боляче. Ви не find /sys/class -name nameможете знайти всі компоненти через символічні посилання. Ви не можете користуватися find -Lчерез зв’язки кола.

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

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


Дякую Філіпосу. Я проводжу деякий час з цим і звітую.
Цікаво101,

8

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

У більшості брендів IoT lsusbвиявляється корисним, як, наприклад, sinovoip (банан), як правило, підключає багато обладнання до контролера (ів) 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.

ОП згадувала "Ethernet чіп, Wifi чіп, Bluetooth, процесор, мікросхем управління живленням". Я б не підключав жодне з них через USB. Ethernet я роблю в основному з PCIe, WLAN з SDIO або PCIe, Bluetooth з UART та PMIC з I2C / SMbus. Тут складний світ ...
Філіппос,

@Philippos Я б не надто ... Проблема полягає в тому, що багато китайських виробників роблять це в клонах rpi через фактори витрат - wifi через USB досить поширений. Я схильний триматися осторонь від плат, які реалізують Ethernet і SATA через USB.
Rui F Ribeiro

1
Цікаво, що я такого не зустрічав. Можливо тому, що я працюю із системами, які я створив сам. Тепер я пам’ятаю, що бачив деякі модулі 802.11ac з портом USB2 і цікавився, чому хтось може захотіти швидкого стандарту з USB ручним гальмом. (-X
Філіппос,

Дякую, Руй. Я витрачу на це деякий час. Оцініть міні-дискусію між Філіпосом та Руєм на цьому. Це дало мені корисну думку про те, на що слід звернути увагу. я звітну, витративши на це деякий час.
Цікаво101,

4

В архітектурі ARM немає шини PCI. Вони використовують автобус AMBA.

AMBA

Блок-схема ARM

Dmesg дасть вам більшість потрібної інформації.


1
Я не знаю, на якому пристрої ви нам показуєте, але там багато ARM SoC з PCIe. На жаль, більшість периферійних пристроїв, таких як внутрішній графічний процесор, не використовують PCIe, тому вони не відображатимуться lspci. Отже, перша частина вашої відповіді неправильна, друга - правильна: dmesgце шлях.
Філіппос,

Не багато, ні. Тільки у Juno є смуги PCI. І ви не знайдете його на будь-яких доступних споживачах пристроях, оскільки він ніколи не знімався, занадто дорогий у виробництві та недостатньо популярний. Що ви можете побачити - це слоти Mini-PCIe. Але вони керуються USB-концентратором, PCI-шини взагалі немає. Подобається це ! один . Lspci його не побачать. Але я готовий виявитись неправильним, знайдіть мені споживача, який доступний із PCIe.
Саймон-П'єр Дубе

Тільки з ARM SoC, з якими я зараз працюю: сімейство i.MX6 від Freescale (-> NXP -> Qualcomm), мабуть, найпоширеніший SoC в цьому класі, має PCIe, а також мікросхеми Sitara AM57 * і AM5K * TI і Tegra K1 Nvidia та Snapdragon 600E Qualcomm. Споживачі можуть отримати дошки для розробки або спільноти або кінцеві пристрої (як, наприклад, хромоніки на основі K1). Тож я не згоден: Так, багато. Найбільше в цьому класі
Філіпос,

1

lshwКоманда дає досить повний список компонентів комп'ютера.

Ви можете отримати його на Ubuntu за допомогою apt-get install lshw.


4
Ви ніколи не бігали lshwна руці, чи не так? Я ніколи не бачив lshwзабезпечити навіть третину компонентів, відомих системі через дерево пристроїв.
Філіппос,

1

Щоб перелічити всі компоненти в системі Linux, ви можете використовувати:

  • inxiКоманда з -optionПрестолуinxi -h
  • hwinfoКоманда аналогічна lshwі більш докладні коментарі .
  • /procкаталог , який містить всю інформацію про систему, пам'яті, пристрої, апаратні засоби ....

2
Чи dmidecodeпрацює навіть на ARM? Хіба це не покладається на стандарти IBM PC BIOS?
dirkt

1
@dirkt Навіть небагато. Він працює лише в i386, x86_64 та деяких системах ia64.
сутінки
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.