ค้นหาข้อมูลฮาร์ดแวร์บน linux โดยไม่มี lspci


15

ฉันมีอุปกรณ์ ARM ที่ใช้งาน ArchLinux อุปกรณ์ไม่ปรากฏว่ามีบัส PCI แม้ว่าจะมี USB

[root@alarm ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
[root@alarm ~]# lspci
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.
[root@alarm ~]# 

ฉันต้องการค้นหาชิปเซ็ตอื่น ๆ ที่มี ตัวอย่างเช่นฉันรู้ว่ามีการ์ดเสียงและการ์ดวิดีโอที่มีความสามารถของ HDMI ชิปดังกล่าวจะไม่ถูกวางในสาย USB

ฉันดูการตั้งค่าเคอร์เนลที่ทำงานบนอุปกรณ์ที่ /proc/config.gz มันแสดงรายการนี้:

#
# Bus support
#
CONFIG_ARM_AMBA=y
# CONFIG_PCI_SYSCALL is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
# CONFIG_PCCARD is not set

ฉันไม่รู้ว่า AMBA คืออะไร การค้นหาอย่างละเอียดของ google ส่งคืนรายการนี้ในฐานข้อมูลเคอร์เนล แต่ไม่มีคำอธิบายที่แท้จริงนอกจากจะไม่ใช้หากคุณไม่รู้ว่าคุณกำลังทำอะไรอยู่

การใช้ lshw ไม่แสดงอะไรอีกมากมายเช่น:

[root@alarm ~]# lshw
alarm                     
    description: Computer
    width: 32 bits
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 307MiB
     *-cpu
          physical id: 1
          bus info: cpu@0
          size: 1008MHz
          capacity: 1008MHz
          capabilities: cpufreq
  *-network
       description: Ethernet interface
       physical id: 1
       logical name: eth0
       serial: 00:01:02:03:04:05
       size: 10Mbit/s
       capacity: 100Mbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=off broadcast=yes driver=wemac driverversion=1.01 duplex=half ip=192.168.1.1 link=yes multicast=yes port=MII speed=10Mbit/s
[root@alarm ~]# 

ดูเหมือนจะไม่มีโมดูลในเคอร์เนลนี้โหลด:

[root@alarm ~]# lsmod
Module                  Size  Used by
[root@alarm ~]# 

นอกจากนี้ดูเหมือนว่า hwinfo จะไม่สามารถใช้ได้:

[root@alarm ~]# pacman -Syu
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 alarm is up to date
 aur is up to date
:: Starting full system upgrade...
 there is nothing to do
[root@alarm ~]# pacman -S hwinfo
error: target not found: hwinfo
[root@alarm ~]# hwinfo
-bash: hwinfo: command not found
[root@alarm ~]# 

ฉันจำเป็นต้องรู้ว่าชิปใดที่ใช้ในระบบนี้เพื่อให้ฉันสามารถรวบรวมในโมดูลไดรเวอร์วิดีโอที่ถูกต้องฉันจะรู้ได้อย่างไรว่ามีอะไรอยู่ในระบบที่ไม่มี lspci ที่ใช้งานได้


SOC ARM จำนวนมากไม่มีบัส PCI ไม่แน่ใจว่าชื่อของบัสภายในบน SOCs นั้นคืออะไรหรือถ้าเป็นมาตรฐาน คุณสามารถlsmodและดูที่โมดูลที่มีอยู่ของคุณ นอกจากนี้หากคุณมีเคอร์เนลที่ใช้งานได้ซึ่งรู้จักกันดีกับconfigไฟล์คุณสามารถใช้มันเพื่อเริ่มต้นด้วย - และค้นหาโดยรอบเพราะมันจะมีโมดูลที่ถูกต้องที่เลือกไว้แล้ว มีประโยชน์สำหรับฉันในการสร้างเมล็ดที่กำหนดเองสำหรับ Guruplug
LawrenceC

ได้เพิ่มผลลัพธ์ของ lsmod ซึ่งเป็นอะไรโดยทั่วไป นี่คือเคอร์เนล ARM ทั่วไปดังนั้นจึงไม่มีการสร้างโมดูลเฉพาะ ฉันกำลังพยายามค้นหาว่าโมดูลใดที่ฉันควรสร้างเพื่อฉันจะไม่ทำให้เครื่องท่วมด้วยโมดูลที่ไร้ประโยชน์
tu-Reinstate Monica-dor duh

cat /proc/cpuinfo
Michael Hampton

นั่นให้ข้อมูล CPU ของฉันเท่านั้นไม่ใช่ฮาร์ดแวร์ที่เหลือเช่นชิปเซ็ตเสียงและวิดีโอ
tu-Reinstate Monica-dor duh

คุณใช้อุปกรณ์หรือแพลตฟอร์มอะไร
LawrenceC

คำตอบ:


10

นี่คือคำตอบอย่างเป็นทางการของฉันหลังจากที่คุณตอบความคิดเห็นของฉัน ฉันอาจจะผิดเกี่ยวกับเรื่องนี้และยินดีต้อนรับการแก้ไข

ฉันไม่แน่ใจว่าเมื่อ Intel เริ่มรวม PCIe (ซึ่งเป็นส่วนขยายที่รองรับซอฟต์แวร์ของ PCI) ในซีพียูของพวกเขา อย่างไรก็ตามมันไม่ได้เป็นอย่างนี้มาเป็นเวลาส่วนใหญ่แล้ว x86 PCI เป็นส่วนหนึ่งของ "แพลตฟอร์ม PC" ทั้งหมดซึ่งรวมถึงสิ่งอื่น ๆ ที่เป็นมาตรฐานและเป็นที่คาดหวังเช่นพอร์ต ISA มาตรฐาน / ที่อยู่ I / O / IRQs มาตรฐานสำหรับอุปกรณ์และสิ่งต่าง ๆ เช่นนั้น

ย้อนกลับไปก่อนที่ PCI จะอยู่รอบ ๆ - โดยทั่วไปยกเว้นความพยายามที่ล้มเหลวในการแนะนำมาตรฐาน PnP ด้วย ISAPNP คุณไม่ได้ "สอบสวน" สำหรับอุปกรณ์บางอย่างจริงๆ โดยทั่วไปคุณจะต้องถือว่าพวกเขามีอยู่ก่อน แน่นอนคุณสามารถทดสอบการลงทะเบียนและสิ่งที่ไม่เห็นว่าสิ่งตอบสนองตามที่คาดไว้หรือไม่ แต่คุณก็มีปัญหาหากมีอุปกรณ์อื่นอยู่อาจทำให้แฮงค์ ฯลฯ ไม่มีวิธี "สแกน" รถบัส ISA หรือรถบัสอื่น ๆ ที่ไม่รองรับแนวคิด PnP ในลักษณะที่เป็นมาตรฐาน

หนึ่งในสิ่งที่ ACPI ควรแก้ไขคือการให้ข้อมูลบางอย่างที่บอกคุณว่าอุปกรณ์ ISA ในตัวนั้นมีอะไรบ้าง ก่อนที่ ACPI จะมีการปรึกษา BIOS เพื่อตัดสินใจว่ามีฟล็อปปี้ไดรฟ์อยู่ในระบบหรือไม่ นี่คือสาเหตุที่ระบบเก่าแม้ว่าคุณจะไม่ได้เชื่อมต่อฟล็อปปี้ก็ตามคุณจะเห็นไดรฟ์ A: ใน Windows หากคุณตั้งค่า BIOS ให้บอกว่ามีอยู่

ดังนั้นคุณอาจถามว่าระบบปฏิบัติการสมัยใหม่กำหนดหรือเชื่อมต่อกับชิปเซ็ต PCI อย่างไร เวลาส่วนใหญ่ของชิปเซ็ตจะปรากฏเป็นอุปกรณ์บนบัส PCI เอง อินเตอร์เฟส PCI ลงทะเบียน "มีอยู่" ที่ตำแหน่งมาตรฐานที่รู้จักในแพลตฟอร์มพีซี การสแกนแบบเป็นโปรแกรมผ่านช่องเสียบอุปกรณ์และฟังก์ชั่นทั้งหมดในพื้นที่ PCI เป็นไปได้ที่นี่ ไม่มีอะไรที่มีให้ ISA หากอุปกรณ์อยู่บนรถบัสด้วย ISA อุปกรณ์นั้นจะตอบสนองเมื่อมีการโหลด / จัดเก็บและนั่นคือมัน คุณไม่สามารถคุยกับรถบัสได้จริงๆ

อนึ่งชิปเซ็ต PCI อาจมีความสามารถในการควบคุมบริดจ์ "PCI-ISA" และนำฟังก์ชั่น PnP ไปใช้กับบัส ISA (หรือตอนนี้ LPC) ด้วยตัวของมันเอง ISA บอกว่าคุณเป็นเจ้าของด้วยตัวคุณเอง

ไม่มีแพลตฟอร์มมาตรฐานดังกล่าวสำหรับ ARM ยังไม่ได้ มีแพลตฟอร์มที่เป็นเอกลักษณ์มากมายที่ ARM CPUs ทำงานอยู่ รถบัส PCI, I2C และ SDIO (และอาจเป็นไปได้ที่ฉันไม่รู้) เป็นเรื่องธรรมดาระหว่างบางคน แต่อีกครั้งมีแพลตฟอร์ม ARM ที่ไม่มีสิ่งเหล่านี้ ACPI ไม่ได้นำมาใช้กับ ARM AFAIK ยกเว้นใน Microsoft Surface RT หากไม่ได้ทำงานกับบัสมาตรฐานที่รองรับความคิดของ PnP จะไม่มีทาง "โพรบ" เพื่ออะไร คุณจำเป็นต้องรู้ล่วงหน้านอกระบบของฮาร์ดแวร์ที่ควรจะมี U-Boot เป็น ARM bootloader ที่ใช้กันทั่วไปที่ต้องการการสนับสนุนและถูกสร้างขึ้นสำหรับแพลตฟอร์มเฉพาะที่ตั้งใจให้ทำงาน มันเป็นอะไรบางอย่างที่เหมือนมาตรฐาน แต่ถึงอย่างนั้นมันก็ '

Googling สั้น ๆ เปิดเผยว่าอุปกรณ์นี้มีชิปเซ็ตวิดีโอ "Mali 400" การค้นหาเพิ่มเติมนำมาซึ่งไซต์ซอร์สโค้ดไดรเวอร์ของมาลี GPU ฉันเป็นสนิมเล็กน้อยบน C ของฉัน แต่ฉันดูมัน ดูเหมือนว่าสิ่งที่คุณควรทำคือเมื่อคุณสร้างไดร์เวอร์บอกที่อยู่ที่จะต้องกดเพื่อพูดคุยกับ GPU ฉันไม่ได้จุ่มตัวเองลงในแหล่งที่ลึกเกินไป แต่ก็ไม่แปลกใจเลยถ้าไม่ได้พูดกับรถบัส แต่แค่โหลด / จัดเก็บจาก I / O ที่แมปหน่วยความจำโดยตรง

ดังนั้นฉันไม่คิดว่าจะมีคำตอบทั่วไปสำหรับแพลตฟอร์ม ARM ทั้งหมดโชคไม่ดี


นั่นเป็นคำตอบในเชิงลึกที่ยอดเยี่ยม คุณรู้หรือไม่ว่า AMBA คืออะไร? ฉันไม่พบการอ้างอิงใด ๆ นอกแหล่งเคอร์เนล มันอยู่ใต้รถเมล์ดังนั้นมันต้องเป็นรถบัส
tu-Reinstate Monica-dor duh

@ ทิวดอร์: AMBA อาจหมายถึงสถาปัตยกรรมบัส Microcontroller ขั้นสูง
mpy

ฉันหวังว่าจะมีสถาปัตยกรรมเทียบเท่าโดยเฉพาะอย่างยิ่งเนื่องจากคุณสามารถทำให้อุปกรณ์เสียหายได้หากคุณระบุผิด! ฉันยอมรับสิ่งนี้ตั้งแต่ตอนนี้เพราะมันตอบคำถามเฉพาะอย่างไรก็ตามฉันคิดว่าคำถามใหม่นั้นเกี่ยวกับวิธีการค้นหาข้อมูลเพื่อทำให้สิ่งเหล่านี้ทำงานได้ทั้งเมล็ดและซอฟต์แวร์
tu-Reinstate Monica-dor duh

1

hwinfoคุณสามารถลอง มันอยู่ใน Repos Arch

$ hwinfo --gfxcard
08: PCI 02.0: 0300 VGA compatible controller (VGA)              
[Created at pci.318]
Unique ID: _Znp.jjHn_gm8Jz5
SysFS ID: /devices/pci0000:00/0000:00:02.0
SysFS BusID: 0000:00:02.0
Hardware Class: graphics card
Model: "Intel VGA compatible controller"
Vendor: pci 0x8086 "Intel Corporation"
Device: pci 0x0162 
SubVendor: pci 0x1849 "ASRock Incorporation"
SubDevice: pci 0x0162 
Revision: 0x09
Driver: "i915"
Driver Modules: "drm"
Memory Range: 0xf7800000-0xf7bfffff (rw,non-prefetchable)
Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable)
I/O Ports: 0xf000-0xf03f (rw)
IRQ: 57 (6 events)
Module Alias: "pci:v00008086d00000162sv00001849sd00000162bc03sc00i00"
Driver Info #0:
Driver Status: i915 is active
Driver Activation Cmd: "modprobe i915"
Config Status: cfg=new, avail=yes, need=no, active=unknown

Primary display adapter: #8

1
ฉันรักที่จะได้รับนี้ง่าย ได้อัปเดตคำถาม ปรากฏว่า hwinfo ไม่สามารถใช้งานได้สำหรับฉันอย่างน้อยถ้าฉันมีปัญหาในที่เก็บ นอกจากนี้archlinux.org/packagesไม่ได้แสดงรายการ ARM เพียง i686 และ x86_64
tu-Reinstate Monica-dor duh

พยายาม hwinfo และ lshw บนราสเบอร์รี่ pi / raspian - ไม่แสดงอะแดปเตอร์วิดีโอจึงมีโอกาสที่ดีที่คุณจะไม่สามารถดูได้
Geek

0

dmesg สามารถให้ข้อมูลข่าวสารบางอย่างได้

และ

cat /proc/devices
find /proc

lshw ควรคุ้มค่าที่จะลองสร้างใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.