setpci(8) | Linux PCI Araçları | setpci(8) |
setpci - PCI aygıtlarını yapılandırır
setpci [seçenekler] aygıtlar işlemler ...
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.
Her komut diziminden önce uygulayacağınız komutun etki edeceği PCI aygıtını seçmelisiniz.
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.
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
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.
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).
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.
Linux PCI Araçlarının bakımı Martin Mares <mj (at) ucw.cz> tarafından yürütülmektedir.
Ekin Yurdakurban <ekin (at) capanlar.com>, Mart 2004
30 Mart 2002 | pciutils-2.1.10 |