Linux'ta bir ARM bilgisayarının tüm bileşenleri listelenir mi?


18

Ubuntu Linux (GUI olmayan) çalıştıran Tamam gibi görünüyor ARM tabanlı bir bilgisayar var. Bu bilgisayardaki tüm bileşenlerin listesini nasıl edinebilirim? Mümkünse Ethernet çipi, Wifi çipi, Bluetooth, CPU, güç yönetimi çipi vb.

Yanıtlar:


11

ARM uygulamalarının varyasyonu standart araçlarla kapsanamayacak kadar yüksektir.

Kazmak /sys/classtüm bileşenlerinizi bulacaksınız, ancak bunu yapmak bir acıdır. find /sys/class -name nameSembolik bağlantılar nedeniyle tüm bileşenleri bulmak için kullanamazsınız . find -LÇember bağlantıları nedeniyle hiçbirini kullanamazsınız .

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

size aygıtlar hakkında bazı izlenimler verir, ancak gerçekten yüklü sürücülere sahip aygıtları gerçekten bilmek istiyorsanız, elinizle manuel olarak okumalısınız dmesg.


Teşekkürler Philippos. Bununla biraz zaman geçireceğim ve rapor vereceğim.
Meraklı101

8

IOT cihazlarda donanım listeleme için, genellikle en yararlı komutlar sonra dmesgvardır cat /proc/cpuinfove lsusb.

Çoğu IoT markasında, lsusbörneğin sinovoip (muz) birçok donanımı USB denetleyicisine / denetleyicilerine bağlama eğiliminde olduğu için, kendini kullanışlı gösterir.

TÜM bileşenleri listelemeye gelince; bu mümkün olmayacak. GPIO veya i2c standartları ile bağlanan bileşenleri listelemek için güvenilir bir yöntem yoktur.

Ahududu için örneklere bakın:

cat /proc/cpuinfo, tüm çekirdeklerin / ipliklerin (burada 4 tanesi) listelemelerinin yanı sıra, sonunda yonga seti modelini, revizyonu ve bazı panolarda seri numarasını listeler. (görmek için sonuna kadar kaydırmanız gerekir)

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

Ve 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 "Ethernet yongası, Wifi yongası, Bluetooth, CPU, güç yönetimi yongası" bahsetti. Bunlardan hiçbirini USB ile bağlamam. Ethernet Esas olarak PCIe, SDIO veya PCIe ile WLAN, UART ile Bluetooth ve I2C / SMbus ile PMIC ile yapıyorum. Buradaki karmaşık bir dünya ...
Philippos

@Philippos Ben de olmaz ... Sorun birçok Çinli satıcıların maliyet faktörleri nedeniyle rpi klonlarında yapmak - USB üzerinden wifi oldukça yaygındır. USB üzerinden Ethernet ve SATA uygulayan kartlardan uzak durma eğilimindeyim.
Rui F Ribeiro

1
İlginç, ben böyle tanışmadım. Belki kendi tasarladığım sistemlerle çalıştığım için. Şimdi hatırlıyorum, USB2 portlu bazı 802.11ac modülleri gördüm ve birisinin neden USB el freni ile hızlı standardı isteyebileceğini merak ettim. (-X
Philippos

Teşekkürler Rui. Bunlara biraz zaman ayıracağım. Bu konuda Philippos ve Rui arasındaki mini tartışmayı takdir edin. Bana nelere dikkat etmeniz gerektiğine dair bazı yararlı bilgiler verdi. Bu konuda biraz zaman geçirdikten sonra geri rapor edeceğim.
Meraklı101

4

ARM mimarisinde PCI veri yolu yok. AMBA otobüsü kullanıyorlar.

AMBA

ARM Blok Şeması

Dmesg, ihtiyacınız olan bilgileri size verecektir.


1
Bize hangi cihazı gösterdiğini bilmiyorum, ancak PCIe ile birlikte birçok ARM SoC var. Ne yazık ki, dahili GPU gibi çoğu çevre birimi PCIe kullanmaz, bu yüzden görünmezler lspci. Cevabınızın ilk kısmı yanlış olsa da ikincisi doğrudur: dmesggidilecek yol.
Philippos

Çok değil, hayır. Sadece Juno'nun PCI şeritleri var. Ve hiçbir zaman çıkmadığı, üretmek için çok pahalı olduğu ve yeterince popüler olmadığı için, herhangi bir tüketici tarafından kullanılabilir cihazda bulamazsınız. Görebileceğiniz şey Mini-PCIe yuvaları. Ancak USB Hub tarafından çalıştırılıyorlar, hiç PCI veri yolu yok. Bunun gibi ! bir . Lspci tarafından görülmeyecek. Ama yanlış olduğum kanıtlanmaya hazırım, bana PCIe şeritli bir tüketici bulun.
Simon-Pierre Dubé

Sadece şu anda birlikte çalıştığım ARM SoC'larından: Muhtemelen bu sınıftaki en yaygın SoC olan Freescale (-> NXP -> Qualcomm) tarafından i.MX6 ailesi PCIe'ye ve TI'nin Sitara AM57 * ve AM5K * yongalarına sahip ve Nvidia'nın Tegra K1 ve Qualcomm's Snapdragon 600E. Tüketiciler bunlarla geliştirme panoları veya topluluk panoları veya son cihazlar (bazı K1 tabanlı chromebook'lar gibi) alabilirler. Bu yüzden katılmıyorum: Evet, çok. Bu sınıftaki çoğu
Philippos

1

lshwKomut bilgisayarınızın bileşenleri oldukça tam bir listesi verilmiştir.

İle Ubuntu üzerinde alabilirsiniz apt-get install lshw.


4
Hiç lshwkol kutusunda koşmadın, değil mi? lshwSistem ağacı tarafından bilinen bileşenlerin üçte birini bile cihaz ağacı üzerinden sağlamayı hiç görmedim .
Philippos

1

Bir Linux sistemindeki tüm bileşenleri listelemek için şunları kullanabilirsiniz:

  • inxiİle komut -optionSeeinxi -h
  • hwinfoBenzer komuta lshwve daha ayrıntılandırılacaktır.
  • /procSistem, bellek, cihazlar, donanım hakkında tüm bilgileri içerir dizin ....

2
dmidecodeARM üzerinde bile çalışıyor mu ? IBM PC BIOS standartlarına dayanmıyor mu?
dirkt

1
@dirkt Biraz bile değil. Yalnızca i386, x86_64 ve bazı ia64 sistemlerinde çalışır.
duskwuff
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.