बिना 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 ~]# 

मैं खोजना चाहता हूं कि अन्य चिपसेट क्या हैं। उदाहरण के लिए, मुझे पता है कि एचडीएमआई में सक्षम एक साउंडकार्ड और वीडियो कार्ड है। ऐसी चिप को 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 ~]# 

मुझे यह जानने की आवश्यकता है कि इस प्रणाली पर कौन से चिप्स का उपयोग किया जाता है ताकि मैं सही वीडियो ड्राइवर मॉड्यूल में संकलित कर सकूं, मुझे यह कैसे पता चलेगा कि सिस्टम पर कोई काम नहीं कर रहा है?


कई एआरएम एसओसी के पास वास्तव में पीसीआई बस नहीं है। निश्चित नहीं है कि ऐसे एसओसी पर आंतरिक बस का नाम क्या है, या यदि यह मानकीकृत है। आप lsmodअपने मौजूदा मॉड्यूल पर एक नज़र डाल सकते हैं। यदि आपके पास एक configफ़ाइल के साथ एक ज्ञात कार्यशील कर्नेल है , तो आप इसका उपयोग कर सकते हैं - के साथ शुरू करें और चारों ओर खोजें, क्योंकि इसमें पहले से चयनित सही मॉड्यूल होंगे। गुरुप्लग के लिए कस्टम गुठली बनाने में मेरे लिए उपयोगी था।
लॉरेंसC

लेसमोड के परिणाम को जोड़ा है, जो मूल रूप से कुछ भी नहीं है। यह एक सामान्य एआरएम कर्नेल है, इसलिए कोई विशिष्ट मॉड्यूल नहीं बनाया गया है। मैं यह पता लगाने की कोशिश कर रहा हूं कि बेकार मॉड्यूल के साथ मशीन में बाढ़ न आने के लिए मुझे कौन से मॉड्यूल का निर्माण करना चाहिए।
tu-Reinstate Monica-dor duh


यह मुझे केवल सीपीयू जानकारी देता है , बाकी हार्डवेयर नहीं, जैसे कि ध्वनि और वीडियो चिपसेट।
tu-Reinstate Monica-dor duh

वह डिवाइस या प्लेटफ़ॉर्म जो आप उपयोग कर रहे हैं?
लॉरेंससी

जवाबों:


10

आपकी टिप्पणियों का जवाब देने के बाद यहां मेरा आधिकारिक जवाब है। मैं इसमें से कुछ के बारे में गलत हो सकता है और सुधारों का स्वागत कर सकता हूं।

मुझे यकीन नहीं है कि जब इंटेल ने अपने सीपीयू में पीसीआई (जो पीसीआई का सॉफ्टवेयर-संगत विस्तार है) को शामिल करना शुरू कर दिया है। हालाँकि, यह x86 के आसपास के अधिकांश समय के लिए नहीं है। पीसीआई वास्तव में पूरे "पीसी प्लेटफॉर्म" का हिस्सा है जिसमें कई अन्य चीजें शामिल हैं जो मानक और अपेक्षित हैं, जैसे उपकरणों और चीजों के लिए मानक आईएसए बंदरगाहों / आई / ओ पते / आईआरक्यू जैसे मानक।

रोलबैक थोड़ा पहले PCI के आसपास था - मूल रूप से, ISAPNP के साथ PnP मानक शुरू करने के लिए गर्भपात के प्रयास को छोड़कर, आपने कुछ उपकरणों के लिए वास्तव में "जांच" नहीं की थी। आपको आम तौर पर यह मान लेना होगा कि वे पहले से मौजूद थे। आप निश्चित रूप से, परीक्षण रजिस्टर कर सकते हैं और यह देखने के लिए नहीं कि क्या चीजें उम्मीद के मुताबिक प्रतिक्रिया करती हैं, लेकिन आप तब परेशानी में पड़ जाते हैं जब एक अलग डिवाइस होता है, संभवतः हैंग होने के परिणामस्वरूप, आदि वास्तव में "स्कैन" करने का एक तरीका नहीं था। आईएसए बस। या वास्तव में कोई अन्य बस जो मानकीकृत तरीके से PnP अवधारणाओं का समर्थन नहीं करती है।

एसीपीआई को जिन चीजों को हल करना चाहिए था उनमें से एक जानकारी के कुछ तालिकाओं को प्रदान करना था जो आपको बताए कि आईएसए डिवाइस क्या अंतर्निहित थे। एसीपीआई से पहले भी BIOS को यह तय करने के लिए परामर्श दिया जाएगा कि सिस्टम में कितने फ्लॉपी ड्राइव थे। यही कारण है कि पुराने सिस्टम पर, भले ही आपके पास कोई फ़्लॉपी कनेक्ट न हो, आपको विंडोज में ए: ड्राइव दिखाई देगा यदि आपके पास एक सेट करने के लिए BIOS सेट है।

तो आप पूछ सकते हैं कि पीसीआई चिपसेट के साथ आधुनिक ओएस का निर्धारण या इंटरफ़ेस कैसा है। अधिकांश समय चिपसेट पीसीआई बस में एक उपकरण के रूप में दिखाई देता है। पीसीआई प्लेटफॉर्म में ज्ञात मानक स्थानों पर पीसीआई इंटरफ़ेस "पूर्व-मौजूद" दर्ज करता है। पीसीआई स्पेस में सभी डिवाइस और फ़ंक्शन स्लॉट के माध्यम से एक प्रोग्रामेटिक स्कैन यहां संभव है। आईएसए के लिए ऐसा कुछ भी मौजूद नहीं है। यदि डिवाइस ISA के साथ बस में है, तो यह लोड होने / संग्रहीत होने पर प्रतिसाद देता है और यही है। आप वास्तव में बस से बात नहीं कर सकते।

संयोग से, PCI चिपसेट में "PCI-ISA" ब्रिज को नियंत्रित करने और PnP कार्यक्षमता को ISA (या अब, LPC) बस में लाने की क्षमता हो सकती है। इसके बारे में, ISA कहता है कि आप अपने दम पर हैं, हालांकि।

एआरएम के लिए ऐसा कोई मानक मंच नहीं है। वैसे भी अब तक नहीं। कई अनूठे प्लेटफ़ॉर्म हैं जो एआरएम सीपीयू पर चलते हैं। PCI, I2C और SDIO बसें (और संभवतः अधिक मुझे नहीं पता) उनमें से कुछ के बीच एक समानता है, लेकिन फिर से, एआरएम प्लेटफॉर्म हैं जिनमें से कोई भी नहीं है। Microsoft सर्फेस आरटी को छोड़कर ARM AFAIK पर ACPI लागू नहीं किया गया है। एक मानकीकृत बस के साथ काम किए बिना जो PnP की कुछ धारणा का समर्थन करता है वास्तव में किसी भी चीज़ के लिए "जांच" करने का कोई तरीका नहीं है। आपको उस सिस्टम के बाहर foreknowledge करना होगा जो वहां होना चाहिए। यू-बूट एक आम तौर पर इस्तेमाल किया जाने वाला एआरएम बूटलोडर है जिसे उस विशेष प्लेटफॉर्म के लिए समर्थन की आवश्यकता होती है और इसे बनाया जाना चाहिए। यह एक मानक जैसा कुछ है, लेकिन फिर भी, यह '

कुछ संक्षिप्त Googling से पता चलता है कि इस डिवाइस में एक "माली 400" वीडियो चिपसेट है। आगे की खोज माली जीपीयू ड्राइवर सोर्स कोड साइट लाती है । मैं अपने सी पर थोड़ा कठोर हूं, लेकिन मैंने इसे देखा। ऐसा लगता है कि आप क्या करने वाले हैं, जब आप ड्राइवर का निर्माण करते हैं, तो यह पता बताएं कि जीपीयू पर बात करने के लिए इसे हिट करने की आवश्यकता है। मैं वास्तव में अपने आप को स्रोत में बहुत गहराई से विसर्जित नहीं करता था, लेकिन यह मुझे आश्चर्यचकित नहीं करेगा अगर यह किसी बस से बात नहीं कर रहा है, लेकिन सीधे मैमोरी-मैप्ड I / O से सीधे लोड / स्टोर कर रहा है।

इसलिए मुझे नहीं लगता कि दुर्भाग्यवश सभी एआरएम प्लेटफार्मों के लिए एक सामान्य उत्तर है।


यह एक महान गहराई से जवाब है। क्या आप जानते हैं कि AMBA क्या है? मुझे कर्नेल स्रोत के बाहर इसका कोई संदर्भ नहीं मिला। यह बसों के तहत सूचीबद्ध है, यद्यपि, तो यह किसी प्रकार की बस होनी चाहिए।
tu-Reinstate Monica-dor duh


मुझे उम्मीद थी कि सभी आर्किटेक्चर पर एक समान होगा, खासकर जब आप डिवाइस को नुकसान पहुंचा सकते हैं यदि आप गलत निर्दिष्ट करते हैं! मैं इसे अभी के लिए स्वीकार कर रहा हूं क्योंकि यह विशिष्ट प्रश्न का उत्तर देता है, हालांकि मुझे लगता है कि इन चीजों को लिखने के लिए सॉफ्टवेयर और सॉफ्टवेयर बनाने के लिए जानकारी कैसे मिलेगी, इस संबंध में एक नया प्रश्न है।
tu-Reinstate Monica-dor duh

1

आप कोशिश कर सकते हैं hwinfo। यह आर्क रिपोज में है।

$ 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 एआरएम, केवल i686 और x86_64 को सूचीबद्ध नहीं करता है।
tu-Reinstate Monica-dor duh

रास्पबेरी पाई / रास्पियन पर hwinfo और lshw की कोशिश की - न तो वीडियो एडेप्टर को दिखाता है इसलिए एक अच्छा मौका है जिसे आप इसे नहीं देख पाएंगे।
जर्नीमैन गीक

0

dmesg कुछ infos प्रदान कर सकता है

तथा

cat /proc/devices
find /proc

lshw को फिर से बनने की कोशिश के लायक होना चाहिए

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.