Linux에서 ARM 컴퓨터의 모든 구성 요소를 나열합니까?


18

Ubuntu Linux (GUI가 아닌)를 올바르게 실행하는 것처럼 보이는 ARM 기반 컴퓨터가 있습니다. 이 컴퓨터에있는 모든 구성 요소 목록을 얻으려면 어떻게합니까? 가능한 경우 이더넷 칩, Wifi 칩, Bluetooth, CPU, 전원 관리 칩 등의 유형.

답변:


11

ARM 구현의 변형이 너무 커서 표준 도구로 다루기가 어렵습니다.

파헤 치면 /sys/class모든 구성 요소를 찾을 수 있지만 그렇게하는 것은 쉽지 않습니다. find /sys/class -name name심볼릭 링크로 인해 모든 구성 요소를 찾는 데 사용할 수는 없습니다 . find -L서클 링크 때문에 사용할 수 없습니다 .

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

장치에 대한 인상을 주지만 실제로로드 된 드라이버가있는 장치를 알고 싶다면을 통해 수동으로 읽어야합니다 dmesg.


감사합니다 Philippos. 나는 이것으로 시간을 보내고 다시보고 할 것입니다.
Curious101

8

IoT 장치에 하드웨어를 나열하기 위해 일반적으로 and 및 가장 유용한 명령 dmesg은 다음 cat /proc/cpuinfo과 같습니다 lsusb.

lsusb를 들어 sinovoip (바나나)가 많은 하드웨어를 USB 컨트롤러 (들)에 연결하는 경향이 있기 때문에 대부분의 IoT 브랜드에서는 그 자체가 유용하다는 것을 알 수 있습니다.

모든 구성 요소를 나열하는 것과 관련하여; 불가능합니다. 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 칩, Bluetooth, CPU, 전원 관리 칩"을 언급했습니다. USB를 통해 연결하지 않을 것입니다. 이더넷 I은 주로 PCIe, SDIO 또는 PCIe가있는 WLAN, UART가있는 Bluetooth 및 I2C / SMbus가있는 PMIC를 사용합니다. 그것은 아래로 복잡한 세계입니다 ...
Philippos

@ 필립스 (Philippos) 나는 그렇게하지 않을 것입니다 ... 문제는 많은 중국 공급 업체가 비용 요인으로 인해 rpi 클론에서이를 수행한다는 것입니다 .USB를 통한 wifi는 상당히 일반적입니다. USB를 통해 이더넷과 SATA를 구현하는 보드에서 멀어지는 경향이 있습니다.
Rui F Ribeiro

1
흥미 롭습니다. 어쩌면 내가 디자인 한 시스템으로 작업하기 때문에 이제 USB2 포트가있는 일부 802.11ac 모듈을보고 누군가 USB 핸드 브레이크로 빠른 표준을 원하는 이유가 무엇인지 궁금했습니다. (-X
Philippos

루이 감사합니다. 이것에 시간을 할애 할 것입니다. 이에 대한 Philippos와 Rui의 미니 토론에 감사드립니다. 무엇을 찾아야하는지에 대한 유용한 통찰력을 제공했습니다. 나는 이것에 약간의 시간을 보낸 후 다시보고 할 것이다.
Curious101

4

ARM 아키텍처에는 PCI 버스가 없습니다. 그들은 AMBA 버스를 사용합니다.

AMBA

ARM 블록 다이어그램

Dmesg는 필요한 대부분의 정보를 제공합니다.


1
어떤 장치를 우리에게 보여줄지 모르겠지만 PCIe와 함께 많은 ARM SoC가 있습니다. 불행히도 내부 GPU와 같은 대부분의 주변 장치는 PCIe를 사용하지 않으므로로 표시되지 않습니다 lspci. 따라서 답의 첫 번째 부분은 틀리지 만 두 번째 부분은 맞습니다. dmesg가는 길입니다.
Philippos

많지 않습니다. Juno 에만 PCI 레인이 있습니다. 그리고 결코 생산할 수 없을 정도로 비싸지 않고 인기가없는 소비자 용 가용 장치에서는 찾을 수 없습니다. 당신이 볼 수있는 것은 미니 PCIe 슬롯입니다. 그러나 그들은 USB 허브에 의해 구동되며 PCI 버스는 전혀 없습니다. 이것처럼! 하나 . lspci에서는 보이지 않습니다. 그러나 나는 잘못 입증 될 준비가되어 있습니다 .PCI 레인이있는 소비자를 찾으십시오.
Simon-Pierre Dubé

현재 작업하고있는 ARM SoC에서만 가능합니다. Freescale의 i.MX6 제품군 (-> NXP-> Qualcomm), 아마도이 클래스에서 가장 널리 사용되는 SoC는 PCIe와 TI의 Sitara AM57 * 및 AM5K * 칩입니다. Nvidia의 Tegra K1 및 Qualcomm의 Snapdragon 600E. 소비자는 개발 보드 또는 커뮤니티 보드 또는 최종 장치 (일부 K1 기반 크롬 북)를 얻을 수 있습니다. 그래서 나는 동의하지 않는다. 그렇다. 이 수업에서 대부분
Philippos

1

lshw명령은 컴퓨터 구성 요소의 전체 목록을 제공합니다.

와 함께 우분투에서 얻을 수 있습니다 apt-get install lshw.


4
당신은 lshw팔 상자에서 실행하지 않았 습니까? lshw장치 트리를 통해 시스템에 알려진 구성 요소의 3 분의 1도 제공 하지 못했습니다 .
Philippos

1

Linux 시스템의 모든 구성 요소를 나열하려면 다음을 사용할 수 있습니다.

  • inxi와 명령 -option참조inxi -h
  • hwinfo과 유사한 명령 lshw더 자세한 조.
  • /proc시스템, 메모리, 장치, 하드웨어에 대한 모든 정보가 들어 있는 디렉토리 ....

2
dmidecodeARM에서도 작동 합니까 ? IBM PC BIOS 표준에 의존하지 않습니까?
dirkt

1
@dirkt 조금도 아닙니다. i386, x86_64 및 일부 ia64 시스템에서만 작동합니다.
duskwuff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.