列出Linux中ARM计算机的所有组件?


18

我有一台基于ARM的计算机,在运行Ubuntu Linux(非GU​​I)时似乎可以正常工作。如何获得此计算机上所有组件的列表?例如以太网芯片,Wifi芯片,蓝牙,CPU,电源管理芯片等类型。

Answers:


11

ARM实现的变化太大,无法用标准工具覆盖。

深入挖掘,/sys/class您将找到所有组件,但是这样做很痛苦。find /sys/class -name name由于符号链接,您无法使用所有组件。find -L由于圆形链接,您都无法使用。

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

使您对设备有一些印象,但是如果您真的想知道带有实际加载的驱动程序的设备,则必须手动阅读dmesg


谢谢Philippos。我将花一些时间进行汇报。
Curious101 '17

8

为了列出物联网设备中的硬件,通常最常用的命令dmesgcat /proc/cpuinfolsusb

在大多数物联网品牌中,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.

OP提到“以太网芯片,Wifi芯片,蓝牙,CPU,电源管理芯片”。我不会通过USB连接任何一个。以太网我主要使用PCIe,具有SDIO或PCIe的WLAN,具有UART的蓝牙和具有I2C / SMbus的PMIC。那里是一个复杂的世界……
Philippos

@Philippos我不太喜欢...问题是由于成本因素,许多中国供应商在rpi克隆中做到了-通过USB进行的wifi相当普遍。我倾向于远离通过USB实现以太网和SATA的主板。
Rui F Ribeiro

1
有趣的是,我没有遇到这样的人。也许是因为我使用自己设计的系统。现在,我记得我看到了一些带有USB2端口的802.11ac模块,并且想知道为什么有人想要USB制动的快速标准。(-X
Philippos

谢谢你瑞。我会花一些时间在这些上。赞赏Philippos和Rui之间关于这一话题的简短讨论。它为我寻找了一些有用的见解。我会花一些时间在此上报告。
Curious101 '17

4

ARM体系结构没有任何PCI总线。他们使用AMBA巴士。

工商管理硕士

ARM框图

Dmesg将为您提供所需的大多数信息。


1
我不知道您要向我们展示哪种设备,但是有很多带PCIe的ARM SoC。不幸的是,大多数外围设备(例如内部GPU)都不使用PCIe,因此不会显示lspci。因此,虽然答案的第一部分是错误的,但第二部分是正确的:dmesg这是正确的方法。
Philippos

不多,不。仅Juno具有PCI通道。而且,在任何消费者可用的设备上都找不到它,因为它从未起飞,生产成本过高且不够流行。您将看到Mini-PCIe插槽。但是它们由USB集线器驱动,根本没有PCI总线。像这样 !。lspci不会看到它。但是我已经准备好被证明是错误的,发现我是一个有PCIe通道的可用消费者。
西蒙·皮埃尔·杜贝

仅从我目前使用的ARM SoC中获取:飞思卡尔的i.MX6系列(-> NXP->高通),可能是此类产品中使用最广泛的SoC,具有PCIe以及TI的Sitara AM57 *和AM5K *芯片以及英伟达的Tegra K1和高通的Snapdragon 600E。消费者可以获得这些产品的开发板,社区板或最终设备(例如某些基于K1的chromebook)。所以我不同意:是的,很多。该课程中的大多数课程
Philippos

1

lshw命令提供了计算机组件的完整列表。

您可以使用Ubuntu在Ubuntu上获得它apt-get install lshw


4
您从未lshw在扶手箱上奔跑过,是吗?我从未见过lshw通过设备树提供系统已知的三分之一的组件。
Philippos

1

要列出Linux系统上的所有组件,可以使用:

  • inxi与命令-optioninxi -h
  • hwinfo命令类似于lshw并且更加详细。
  • /proc目录包含有关系统,内存,设备,硬件的所有信息。

2
是否dmidecode对ARM甚至工作?它不依赖于IBM PC BIOS标准吗?
dirkt

1
@dirkt一点也不。它仅适用于i386,x86_64和某些ia64系统。
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.