setpci(8)

İ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