İSİM¶
setpci - PCI aygıtlarını yapılandırır
KULLANIM¶
setpci [seçenekler] aygıtlar işlemler ...
AÇIKLAMA¶
setpci, PCI aygıtlarının durumlarını
öğrenmek ve ayarlarını yapmak için
kullanılan bir araçtır.
Bu komutu bütün özellikleri ile birlikte kullanabilmek
için 2.1.82 sürümü veya üstü bir
çekirdeğe ihtiyacınız var (/proc/bus/pci
arayüzünü desteklemeli). Eski çekirdeklerdeki PCI
araçları, donanımlara doğrudan erişime
sahip ve sadece root kullanıcıya mahsus araçlardı.
Bu tür eski araçlar donanım
farklılıkları ve marka
çeşitliliğinden dolayı oldukça fazla
problem yaşatmaktaydılar.
Bütün sayılar onaltılık tabanda olarak
girilir.
SEÇENEKLER¶
- -v
- setpci aracının sonuçlarının
daha ayrıntılı olmasını ve
mümkün olan tüm bilgileri göstermesini
sağlar.
- -f
- Şayet yapılacak bir işlem yoksa (mesela bir pci kart
belirtilememişse) setpci aracının bir
çıktı vermemesini sağlar. Bu seçenek
genellikle dağıtımların
yapılandırma betikleri tarafından, sorgudaki pci
kartın makinede olup olmadığının ya da
düzgün çalışıp
çalışmadığının tespiti
için kullanılır.
- -D
- 'Gösteri kipi' -- Yaptığınız
ayarları gerçekte uygulanmaz ama sanki
uygulanmış gibi sonuçları
çıktılar. Komutu setpci -vD şeklinde
kukkanarak oldukça karmaşık olan komut diziminin
sonucunu gerçekte komutu uygulamadan görebilirsiniz ve bu da
yapacağınız bir hatalı sözdiziminin
engellenmesine yardımcı olur.
- --version
- setpci aracının sürüm bilgilerini
gösterir. Bu seçenek tek başına
kullanılmalıdır.
AYGIT SEÇİMݶ
Her komut diziminden önce uygulayacağınız komutun
etki edeceği PCI aygıtını seçmelisiniz.
- -s
[[taşıt]:][yuva][.[işlev]]
- Belirtilmiş taşıt, yuva ve
işlev'e uygun aygıtları seçer.
Aygıt adreslerinin her bir bileşeni ihmal edilebilir ya da
"herhangi bir değer" anlamına gelen "*"
şeklinde yazılabilir. Bütün sayılar
onaltılık tabanda verilir. Mesela, "0:" 0
numaralı taşıt üzerindeki bütün
aygıtlar anlamına gelir, "0" herhangi bir
taşıt üzerindeki 0 numaralı
aygıtının bütün işlevlerini
kapsar, "0.3" bütün taşıtlar
üzerindeki 0 numaralı aygıtın
üçüncü işlevini gösterir,
".4" her aygıtın sadece
dördüncü işlevini gösterir.
- -d [üretici]:[aygıt]
- Belirtilmiş üretici ve aygıt
kimliğine sahip aygıtları seçer. İki
değer de verilecekse onaltılık tabanda veya
"herhangi bir değer" anlamında "*"
şeklinde verilebilir.
İŞLEMLER¶
Bir yapılandırma yazmacının değerini
sorgulamak için, sadece ismini belirtmek yeterlidir. Bunu ismini
yazarak yapabileceğiniz gibi yazmaç adresi ile hatta
isteğe bağlı olarak adresin sonuna yazmacın
genişliğini belirtmek üzere bayt, word (2 bayt), longword
(4 bayt) sözcüklerini ifade eden
.B, .W, .L soneklerini
ekleyerek yapabilirsiniz.
Bir yazmaca değer atamak için,
yazmaç sorguda
kullandığınız isim ya da adres olmak üzere
yazmaç=değer yazmalısınız. Burada
değer yazmaca yazılacak değerlerin
virgüllü listesi olabilir.
YAZMAÇ İSİMLERݶ
setpci aşağıdaki yapılandırma
yazmaçlarının isimlerini tanır. Bunların
kesin anlamları için PCI bus belirtimine veya bir kaç
yorum bulabileceğiniz
/usr/include/linux/pci.h dosyasına
bakın.
VENDOR_ID
DEVICE_ID
COMMAND
STATUS
REVISION
CLASS_PROG
CLASS_DEVICE
CACHE_LINE_SIZE
LATENCY_TIMER
HEADER_TYPE
BIST
BASE_ADDRESS_0
BASE_ADDRESS_1
BASE_ADDRESS_2
BASE_ADDRESS_3
BASE_ADDRESS_4
BASE_ADDRESS_5
CARDBUS_CIS
SUBSYSTEM_VENDOR_ID
SUBSYSTEM_ID
ROM_ADDRESS
INTERRUPT_LINE
INTERRUPT_PIN
MIN_GNT
MAX_LAT
PRIMARY_BUS
SECONDARY_BUS
SUBORDINATE_BUS
SEC_LATENCY_TIMER
IO_BASE
IO_LIMIT
SEC_STATUS
MEMORY_BASE
MEMORY_LIMIT
PREF_MEMORY_BASE
PREF_MEMORY_LIMIT
PREF_BASE_UPPER32
PREF_LIMIT_UPPER32
IO_BASE_UPPER16
IO_LIMIT_UPPER16
BRIDGE_ROM_ADDRESS
BRIDGE_CONTROL
CB_CARDBUS_BASE
CB_CAPABILITIES
CB_SEC_STATUS
CB_BUS_NUMBER
CB_CARDBUS_NUMBER
CB_SUBORDINATE_BUS
CB_CARDBUS_LATENCY
CB_MEMORY_BASE_0
CB_MEMORY_LIMIT_0
CB_MEMORY_BASE_1
CB_MEMORY_LIMIT_1
CB_IO_BASE_0
CB_IO_BASE_0_HI
CB_IO_LIMIT_0
CB_IO_LIMIT_0_HI
CB_IO_BASE_1
CB_IO_BASE_1_HI
CB_IO_LIMIT_1
CB_IO_LIMIT_1_HI
CB_SUBSYSTEM_VENDOR_ID
CB_SUBSYSTEM_ID
CB_LEGACY_MODE_BASE
PCILIB SEÇENEKLERݶ
PCI araçları, PCI kartları ile haberleşmek
için PCILIB (PCI yapılandırma alanları
için, platform bağımsız işlevler
sağlayan taşınabilir bir kütüphane)
kullanırlar. Aşağıdaki seçenekler
kütüphanenin parametrelerini kontrol eder, özellikle
kullanılan erişim yöntemini.
Öntanımlı olarak, PCILIB eldeki ilk erişim
yöntemini kullanır ve hata ayıklama iletisi
görüntülemez. Her bir seçeneğe desteklenen
donanım/yazılım ayarlarını içeren
bir liste eşlik eder.
- -P dizin
- dizin dizinine erişim için /proc/bus/pci yerine Linux
2.1 tarzı yapılandırma erişimi
kullanılır (sadece Linux 2.1 veya daha yeni
sürümlerde).
- -H1
- Intel yapılandırma mekanizması 1 üzerinden
doğrudan donanım erişimi kullanılır
(sadece i386 ve uyumluları için).
- -H2
- Intel yapılandırma mekanizması 2 üzerinden
doğrudan donanım erişimi kullanılır.
Uyarı: Bu yöntemde sadece herhangi bir taşıt
üzerindeki ilk onaltı aygıtı
adresleyebilirsiniz. Pek çok durum için güvenilmez
bir yöntemdir (sadece i386 ve uyumluları için).
- -S
- PCI erişim sistem çağrılarını
kullanır. (sadece Alpha ve UltraSparc üzerindeki Linux'lar
içindir).
- -F dosya
- Bütün bilgileri setpci -x
çıktısını içeren dosyadan elde
eder. Kullanıcılardan gelen yazılım
hataları raporları için oldukça faydalı
bir yöntemdir. Bütün donanım
yapılandırmasını, kullanıcıya
daha fazla ayrıntı için soru sormaya gerek kalmadan,
görülmesini sağlar (bütün sistemlerde).
- -G
- Kütüphanenin hata ayıklama seviyesini
artırır (bütün sistemlerde).
ÖRNEKLER¶
setpci -d *:* latency_timer=40 latency_timer 64'e ayarlanır
(onaltılık tabanda 40).
setpci -s 0 aygıt_no üretici_no bütün
taşıtların 0. yuvasında bulunan
aygıtların kimliklerini listeler.
setpci -s 12:3.4 3c.l=1,2,3' 4 bayt genişlikteki (longword) 1
değerini 3c yazmacına, 2 değerini 3d yazmacına ve
3 değerini 12 numaralı taşıtın 3
numaralı yuvasının 4 numaralı işlevinin 3e
yazmacına yazar.
İLGİLİ DOSYALAR¶
- /usr/share/hwdata/pci.ids
- Bilinen bütün PCI kimliklerinin listesi
(satıcılar, aygıtlar, sınıflar ve
altsınıflar).
- /proc/bus/pci
- 2.1.82 sonrası Linux çekirdeği ile
sağlanmış olan PCI taşıtı
yapılandırma alanı ile iletişimi
sağlamak için bir arayüz. Her taşıt
için bir altdizin altında her kart için bir
yapılandırma alanı dosyası ve
bütün PCI aygıtların listesini içeren
bir aygıt dosyası içerir.
İLGİLİ BELGELER¶
lspci(8).
YAZAN¶
Linux PCI Araçlarının bakımı Martin Mares
<mj (at) ucw.cz> tarafından yürütülmektedir.
ÇEVİREN¶
Ekin Yurdakurban <ekin (at) capanlar.com>, Mart 2004