LSPCI(8) | Sistem Yönetim Komutları | LSPCI(8) |
İSİM
lspci — bütün PCI aygıtlarını listeler
KULLANIM
lspci |
[SEÇENEKLER ] |
AÇIKLAMA
lspci komutu, sistemdeki bütün PCI veri yolları ve onlara bağlı aygıtlar hakkında bilgi veren bir araçtır.
Ön tanımlı olarak, aygıtların kısa bir listesini gösterir. Daha ayrıntılı bir çıktı veya diğer uygulamalar tarafından ayrıştırılması amaçlanan çıktılar için aşağıda açıklanan seçenekler kullanılır.
Hatalar, PCI aygıt sürücülerinde veya lspci'nin kendisinde bildirilecekse, lütfen "lspci -vvx" veya daha iyisi "lspci -vvxxx" çıktısı eklenebilir (bkz: “YETERSİZLİKLER”).
Çıktının bazı kısımları, özellikle oldukça ayrıntılı kiplerde, muhtemelen yalnızca deneyimli PCI yazılımcıları tarafından anlaşılabilir. Alanların tam tanımları için PCI belirtimlerine veya header.h
ve /usr/include/linux/pci.h
dosyalarına bakılabilir.
PCI yapılandırma alanının bazı bölümlerine erişim, birçok işletim sisteminde root ayrıcalıkları gerektirir, bu nedenle lspci'nin normal kullanıcıların inceleyebileceği özellikleri sınırlıdır. Ancak, lspci, mevcut olduğu kadarını görüntülemek ve diğer tüm bilgileri <erişim reddedildi> metni ile işaretlemek için elinden gelenin en iyisini yapmaya çalışır.
SEÇENEKLER
Temel görüntüleme seçenekleri
-
-m
-
PCI aygıt verilerini makinenin okuyabileceği biçimde geriye uyumlu olarak dökümler. Ayrıntılar için aşağıya bakınız.
-
-mm
-
PCI aygıt verilerini makinenin okuyabileceği biçimde betiklerle kolayca ayrıştırılabileck biçimde dökümler. Ayrıntılar için aşağıya bakınız.
- -t
-
Bütün veri yolları, köprüler, aygıtlar ve bunlar arasındaki bağlantıları içeren ağaç yapılı bir şema görüntüler.
Görüntüleme seçenekleri
-
-v
-
Bütün aygıtlar hakkında oldukça ayrıntılı bilgi verilmesini sağlar.
-
-vv
-
Çıktı çok ayrıntılı olur ve daha fazla ayrıntı gösterir. Bu seviye, yararlı olduğu düşünülen her şeyi içerir.
-
-vvv
-
Çıktı daha da ayrıntılı olur ve hiç ilginç görünmese bile ayrıştırılabilen her şey görüntülenir (örneğin, tanımlanmamış bellek bölgeleri).
-
-k
-
Her aygıtı işleyen çekirdek sürücülerini ve ayrıca o aygıtı yönetebilen çekirdek modüllerini gösterir. Normal çıktılama kipinde
-v
belirtildiğinde ön tanımlı olarak etkin olur. (Şimdilik yalnızca 2.6 ve üstü Linux çekirdeklerinde çalışmaktadır.) -
-x
-
Yapılandırma alanının standart bölümünün onaltılık dökümünü gösterir (CardBus köprüleri için ilk 64 bayt veya 128 bayt).
-
-xxx
-
Tüm PCI yapılandırma alanının onaltılık dökümünü gösterir. Yapılandırma alanının bazı bölümlerini sıradan bir kullanıcı okumaya çalışırsa birkaç PCI aygıtının çökmesi nedeniyle yalnızca root için kullanılabilir (bu davranış muhtemelen PCI standardını ihlal etmez, ancak en azından çok aptalcadır). Ancak, bu tür aygıtlar nadirdir, bu yüzden fazla endişelenmeye gerek yoktur.
-
-xxxx
-
PCI-X 2.0 ve PCI Express veri yollarında bulunan genişletilmiş (4096 bayt) PCI yapılandırma alanının onaltılık dökümünü gösterir.
-
-b
-
Veri yoluna özgü gösterim. Tüm IRQ numaralarını ve adreslerini, çekirdek tarafından görüldüğü gibi değil, PCI veri yolundaki kartlar tarafından görüldüğü gibi gösterir.
-
-D
-
Daima PCI etki alanı numaralarını gösterir. Ön tanımlı olarak, lspci bunları yalnızca etki alanı
0
olan makinelerde gösterir -
-P
-
PCI aygıtlarını veri yolu numarasına göre değil, her köprüden geçen yola göre tanımlar.
-
-PP
-
Veri yolu numarasının yanı sıra aygıt numarasını da göstererek, PCI aygıtlarını her köprüden geçen yola göre tanımlar.
Kimliklerden adları çözümleme seçenekleri
-
-n
-
PCI satıcı ve aygıt kodlarını PCI kimlikleri listesinde aramak yerine numara olarak gösterir.
-
-nn
-
PCI satıcı ve aygıt kodlarını numara ve ad olarak gösterir.
-
-q
-
Yerel
pci.ids
dosyasında bir aygıt bulunamazsa, merkezi PCI kimlikleri veritabanını sorgulamak için DNS'yi kullanır. DNS sorgusu başarılı olursa, sonuç~/.pciids-cache
içinde önbelleğe alınır ve-q
belirtilmese bile sonraki çalıştırmalarda tanınır. Veritabanı sunucularının aşırı yüklenmesini önlemek için bu seçeneğin yalnızca otomatikleştirilmiş betiklerin içinde kullanılması gerekir. -
-qq
-
-q
gibidir, farklı olarak yerel önbellek sıfırlanır. -
-Q
-
Yerel olarak tanınan girdiler için bile merkezi veritabanını sorgular. Gösterilen girdinin yanlış olma olasılığı varsa bu seçenek kullanılmalıdır.
Aygıt seçimi
-
-s
[[[[ETKİ_ALANI
]:]VERİ_YOLU
]:][AYGIT
][.[İŞLEV
]] -
Yalnızca belirtilen etki alanındaki aygıtlar gösterilir (makinede birkaç konak köprüsü olması durumunda, bunlar ortak bir veri yolu numarası alanını paylaşabilir veya her biri kendi PCI etki alanını adresleyebilir; etki alanları
0
'danffff
'ye kadar numaralandırılmıştır: veri yolu (0
ilaff
), aygıt (0
ila1
) ve işlev (0
ila7
). Aygıt adresinin her bileşeni atlanabilir veya "*
" ile belirtilebilir, her ikisi de "herhangi bir değer" anlamına gelir. Tüm sayılar onaltılıktır. Örneğin, "0:
" veri yolu0
üzerindeki tüm aygıtlar; "0
" ise herhangi bir veri yolu üzerindeki aygıt0
'ın tüm işlevleri anlamına gelir; "0.3
" tüm veri yollarında aygıt0
'ın üçüncü işlevini seçer ve ".4
" her birinin yalnızca dördüncü işlevini gösterir. -
-d
[SATICI
]:[AYGIT
][:SINIF
[:ARAYÜZ
]] -
Yalnızca belirtilen satıcı, aygıt, sınıf kimliği ve yazılım geliştirme arayüzüne sahip aygıtları gösterir. Kimlikler onaltılık olarak verilir ve belirtilmeyebilir veya her ikisi de "herhangi bir değer" anlamına gelen "
*
" olarak verilebilir. Sınıf kimliği, "herhangi bir rakam" anlamına gelen "x
" karakterlerini içerebilir.
Diğer seçenekler
-
-i
DOSYA
-
/usr/share/misc/pci.ids
yerine PCI kimlik listesi olarak belirtilenDOSYA
kullanılır. -
-p
DOSYA
-
Çekirdek modülleri tarafından işlenen PCI kimliklerinin eşlemi olarak belirtilen
DOSYA
kullanılır. lspci ön tanımlı olarak/lib/modules/kernel_version/modules.pcimap
dosyasını kullanır. Yalnızca yeterince yeni modül araçlarına sahip Linux sistemleri için geçerlidir. -
-M
-
Yanlış yapılandırılmış köprüler vb. arkasındakiler de dahil olmak üzere tüm PCI aygıtlarında kapsamlı bir tarama gerçekleştiren veri yolu eşleme kipini devreye sokar. Bu seçenek yalnızca, genellikle root ayrıcalıkları gerektiren doğrudan donanım erişim kipinde anlamlı sonuçlar verir. Ön tanımlı olarak, veri yolu eşleyicisi etki alanını tarar. Farklı bir etki alanı seçmek için
-s
seçeneği kullanılabilir. -
--version
-
lspci sürümünü gösterir. Bu seçenek tek başına kullanılmalıdır.
PCI erişim seçenekleri
PCI araçları, PCI aygıtları ile haberleşmek için PCI kütüphanesini kullanır (Bkz: pcilib(7)). Davranışı etkilemek için aşağıdaki seçenekler kullanılabilir:
-
-A
YÖNTEM
-
Kütüphanede, PCI donanımına erişmek için çeşitli yöntemler bulunmaktadır. Ön tanımlı olarak, kullanılabilir ilk erişim yöntemini kullanır, ancak bu seçenekle, bu davranış geçersiz kılınabilir. Kullanılabilir yöntemlerin listesi ve açıklamaları için
-A help
çıktısından yaralanılabilir. -
-O
İSİM=DEĞER
-
Kitaplığın davranışı, birkaç değişkenle denetlenir. Bu seçenekle, herhangi bir değişkenin değeri ayarlanabilir. Bilinen değişken isimlerinin listesi ve bunların ön tanımlı değerleri için
-O help
çıktısından yaralanılabilir. -
-H1
-
Intel yapılandırma mekanizması 1 üzerinden doğrudan donanım erişimi kullanılır.
-A intel-conf1
seçeneği için bir kısayoldur. -
-H2
-
Intel yapılandırma mekanizması 2 üzerinden doğrudan donanım erişimi kullanılır.
-A intel-conf2
seçeneği için bir kısayoldur. -
-F
DOSYA
-
Gerçek donanıma erişmek yerine, aygıtların listesini ve yapılandırma kayıtlarının değerlerini daha önceki bir lspci –x komutu tarafından üretilmiş dosyadan okur. Bu veri kullanıcı tarafından sağlanan hata raporlarının incelenmesinde çok yararlıdır, çünkü donanım yapılandırması, kullanıcıyı daha fazla döküm istekleriyle rahatsız etmeden istenen şekilde görüntülenebilir.
-
-G
-
Kütüphanenin hata ayıklama seviyesini artırır (bütün sistemlerde).
MAKİNE TARAFINDAN OKUNABİLEN ÇIKTI
lspci çıktısının otomatik olarak işlenmesi düşünülüyorsa, bu bölümde açıklanan makine tarafından okunabilen çıktı biçimlerinden (-m
, -vm
, -vmm
) biri kullanılabilir. Diğer tüm biçemlerin lspci sürümleri arasında değişikliğe uğrama olasılığı vardır.
Tüm sayılar daima onaltılık tabanda basılır. Adlar yerine sayısal kimliklerle çalışılmak istenirse -n
seçeneği eklenebilir.
Basit biçem (-m)
Basit biçemde, her aygıt, bir kabuk betiğine geçmeye uygun girdilerden oluşan tek bir satırda tanımlanır, yani, boşluklarla ayrılmış değerler, gerekirse tırnak içine alınır veya öncelenir. Girdilerden bazıları konumsaldır: yuva, sınıf, satıcı adı, aygıt adı, alt sistem satıcı adı ve alt sistem adı (aygıtın alt sistemi yoksa son ikisi boştur); kalan girdiler aşağıdakiler gibi birer seçenektir:
-
-r
SAYI
-
Düzeltme sürümü.
-
-p
ARAYÜZ
-
Yazılım geliştirme arayüzü.
Konumsal girdi ve seçeneklerin göreli sırası tanımlanmamıştır. Gelecekteki sürümlerde yeni seçenekler eklenebilir, ancak daima seçenekten herhangi bir boşlukla ayrılmayan tek bir girdileri olacaktır, bu nedenle tanınmazlarsa kolayca göz ardı edilebilir.
Ayrıntılı kip (-vmm)
Ayrıntılı çıktı, boş satırlarla ayrılmış bir dizi kayıttır. Her kayıt, her satırda tek bir "ETİKET DEĞER
" çifti içeren bir dizi satırla tek bir aygıtı tanımlar. ETİKET
ve DEĞER
, tek bir sekme karakteriyle ayrılır. Ne kayıtlar ne de bir kayıt içindeki satırlar belirli bir sıradadır. Etiketler büyük/küçük harfe duyarlıdır.
Aşağıdaki etiketler tanımlıdır:
-
Slot
-
Aygıtın bulunduğu yuvanın adı ([
ETKİ_ALANI
:]VERİ_YOLU:AYGIT.İŞLEV
). Bu, daima her kaydın ilk etiketidir. -
Class
-
Sınıf adı.
-
Vendor
-
Satıcı adı.
-
Device
-
Aygıt adı.
-
SVendor
-
Alt sistem satıcısının adı (seçimlik).
-
SDevice
-
Alt sistem adı (seçimlik).
-
PhySlot
-
Aygıtın bulunduğu fiziksel yuva (seçimlik, yalnız Linux için).
-
Rev
-
Düzeltme sürümü (seçimlik)
-
ProgIf
-
Yazılım geliştirme arayüzü (seçimlik).
-
Driver
-
Aygıtın çekirdekteki sürücüsü (seçimlik, yalnız Linux için).
-
Module
-
Aygıtı yönetme yeteneği olduğunu bildiren çekirdek modülü (seçimlik, yalnız Linux için).
-
NUMANode
-
Aygıtın bağlı olduğu NUMA düğümü (seçimlik, yalnız Linux için).
-
IOMMUGroup
-
Aygıtın parçası olduğu IOMMU grubu (seçimlik, yalnız Linux için).
Gelecekteki sürümlerde yeni etiketler eklenebilir, bu nedenle tanınmayan etiketlerin sessizce görmezden gelinmesi gerekir.
Geriye uyumlu ayrıntılı kip (-vm)
Bu kipte, lspci eski sürümleriyle mükemmel bir şekilde uyumlu olmaya çalışır. Normal ayrıntılı biçemle hemen hemen aynıdır, ancak Device
etiketi hem kart yuvası hem de aygıt adı için kullanılır, bu nedenle tek bir kayıtta iki kez görünür. Bu biçemin yeni kodlarda kullanımından kaçınılmalıdır.
İLGİLİ DOSYALAR
/usr/share/misc/pci.ids
Bilinen bütün PCI kimliklerinin listesi (satıcılar, aygıtlar, sınıflar ve altsınıflar). https://pci-ids.ucw.cz/ adresinde sürdürülmektedir. En son sürümü indirmek için update-pciids aracı kullanılabilir.
/usr/share/misc/pci.ids.gz
lspci sıkıştırma desteği ile derlenmişse, bu dosya pci.ids
'den önce denenir.
~/.pciids-cache
DNS sorgu kipinde bulunan tüm kimlikler bu dosyada önbelleğe alınır.
YETERSİZLİKLER
Bazen, lspci, yapılandırma kayıtlarının kodunu tamamen çözemez. Bu genellikle yazarlar için yeterli belge bulunmadığında olur. Bu gibi durumlarda, söylenecek daha fazla şey olabileceğini belirtmek için en azından <?> işaretini basar. Ayrıntıları biliyorsanız, yamalar elbette memnuniyetle karşılanacaktır.
Genişletilmiş yapılandırma alanına erişim şu anda yalnızca linux_sysfs
tarafından desteklenmektedir.
İLGİLİ BELGELER
setpci(8), pci.ids(5), update-pciids(8), pcilib(7).
YAZAN
Linux PCI Araçlarının bakımı Martin Mares tarafından yürütülmektedir.
ÇEVİREN
* Özgün Belgenin Lisans ve Telif Hakkı bilgileri: * * The PCI Utilities -- List All PCI Devices * * Copyright (c) 1997--2020 Martin Mares <mj@ucw.cz> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>.