Giriş
Linux sistemlerinde donanım bileşenlerini sorgulamak, sisteminizin donanım kapasitesini anlamak ve sorunları teşhis etmek için hayati önem taşır. Wi-Fi çipinin çalışmamasından, USB cihazlarının tanınmamasına kadar birçok donanım sorunu, doğru komutlarla hızlıca çözülebilir. Bu makalede, Linux terminalinde donanım envanterini listelemek için kullanılan üç temel komutu inceleyeceğiz: lsusb (USB cihazları), lspci (PCI cihazları) ve lshw (tüm donanım envanteri).
Araçların Kurulumu
Bu komutlar, farklı paketler içinde yer alır ve çoğu masaüstü Linux dağıtımında önceden yüklenmiş olarak gelir. Eğer sisteminizde bulunmuyorsa, aşağıdaki komutlarla kolayca kurabilirsiniz:
Debian/Ubuntu ve Türevleri
sudo apt install usbutils pciutils lshw
Fedora/RHEL ve Türevleri
sudo dnf install usbutils pciutils lshw
Not: Bu komutlar, sisteminizin çekirdek modüllerine ve donanım veritabanlarına erişim gerektirir. Kurulum sırasında gerekli bağımlılıklar otomatik olarak yüklenir.
lsusb ile USB Cihazlarını Listeleme
USB cihazlarını sorgulamak için lsusb komutu kullanılır. Bu komut, sistemdeki tüm USB cihazlarını ve onların bağlı oldukları veriyollarını listeler. Kullanımı oldukça basittir:
lsusb
Aşağıdaki çıktıda, sistemdeki USB cihazlarının nasıl listelendiğine dair bir örnek görebilirsiniz:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 13d3:56a6 IMC Networks Integrated Camera
Bus 001 Device 002: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Her satırda, cihazın bağlı olduğu veri yolu (Bus), cihaz numarası (Device), üretici ve ürün ID'si (ID vendor:product) ve insan tarafından okunabilir isim yer alır. 1d6b ile başlayan satırlar, USB kök hub'larını temsil eder ve doğrudan bağlı cihazlar değildir.
lsusb Kullanım Senaryoları
- Cihazın Tanınması: Yeni bir USB cihazını sisteme taktığınızda,
lsusbkomutunu çalıştırarak cihazın tanınıp tanınmadığını kontrol edebilirsiniz. Eğer yeni bir satır oluşursa, sistem cihazı algılamıştır. Bu durumda, sürücü, firmware ve uygulama desteği gibi konulara odaklanabilirsiniz. - Hız ve Bağlantı Bilgisi:
lsusb -tkomutu, cihazların bağlı oldukları veri yollarını ve hangi sürücülerin kullanıldığını ağaç yapısında gösterir. Bu, cihazın hangi hızda çalıştığını (örneğin, USB 2.0 veya 3.0) ve hangi çekirdek modülü tarafından yönetildiğini anlamanızı sağlar. - Tek Cihazın Detaylı Bilgisi: Belirli bir cihazın detaylı bilgilerini görmek için,
sudo lsusb -v -d vendor:productkomutunu kullanabilirsiniz. Örneğin:
sudo lsusb -v -d 046d:c52b
Uyarı: Detaylı çıktıyı görüntülemek için root yetkilerine ihtiyacınız vardır. Bu komut, cihazın tam tanımlayıcı bilgilerini, arayüzleri ve konfigürasyonunu gösterir.
lspci ile PCI Cihazlarını Listeleme
PCI cihazları, sistemdeki yerleşik donanım bileşenlerini temsil eder. Bunlar arasında ağ kartları, grafik kartları, depolama denetleyicileri ve ses çipleri bulunur. lspci komutu, bu cihazları listelemek için kullanılır:
lspci
Aşağıdaki çıktı, tipik bir sistemde PCI cihazlarının nasıl listelendiğine dair bir örnektir:
00:00.0 Host bridge: Intel Corporation Device a706
00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics]
00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi
00:1f.3 Audio device: Intel Corporation Raptor Lake-P/U/H cAVS
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1
Her satırda, cihazın adresi (örneğin, 00:14.3), cihaz tipi, üretici ve model bilgisi yer alır. Bu format, sistemdeki donanımın tam olarak hangi bileşenlerden oluştuğunu anlamak için idealdir.
lspci Kullanım Senaryoları
- Sürücü Kontrolü:
lspci -kkomutu, her PCI cihazının hangi çekirdek sürücüsü tarafından yönetildiğini gösterir. Bu, özellikle ağ kartları, grafik kartları ve depolama denetleyicileri için önemlidir. Örneğin:
lspci -k
Aşağıdaki çıktıda, Wi-Fi cihazının iwlwifi sürücüsü tarafından yönetildiği görülmektedir:
00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi
Subsystem: Intel Corporation Device 0094
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
- Üretici ve Ürün ID'si:
lspci -nnkomutu, cihazların üretici ve ürün ID'sini de gösterir. Bu ID'ler, donanımın uyumluluğunu kontrol etmek için arama motorlarında veya üretici belgelerinde kullanılabilir. Örneğin:
lspci -nn | grep -i network
Bu komut, sistemdeki tüm ağ cihazlarını ve onların ID'lerini listeler:
00:14.3 Network controller [0280]: Intel Corporation Raptor Lake PCH CNVi WiFi [8086:51f1]
- Tek Cihazın Detaylı Bilgisi: Belirli bir PCI cihazının detaylı bilgilerini görmek için,
sudo lspci -vv -s addresskomutunu kullanabilirsiniz. Örneğin:
sudo lspci -vv -s 01:00.0
İpucu: PCI cihazlarının detaylı çıktısında, bellek aralıkları, yetenekler ve bağlantı hızı gibi bilgiler yer alır. Bu bilgiler, donanımın performansını ve uyumluluğunu değerlendirmek için önemlidir.
lshw ile Tüm Donanımı Listeleme
lshw komutu, sistemdeki tüm donanım bileşenlerini listeleyen kapsamlı bir araçtır. Bu komut, CPU, bellek, depolama, ağ kartları ve diğer tüm donanım bileşenlerini tek bir yerde görüntülemenizi sağlar. lshw komutunu kullanırken, tam bir çıktı almak için root yetkilerine sahip olmanız gerekir:
sudo lshw -short
Aşağıdaki çıktıda, sistemdeki donanımın özet bir tablosu görülmektedir:
H/W path Device Class Description
===========================================================
system ThinkPad T14 Gen 4
/0/0 memory 64KiB BIOS
/0/4 processor 13th Gen Intel Core i7-1355U
/0/13 memory 32GiB System Memory
/0/13/0 memory 16GiB SODIMM DDR5 5600 MHz
/0/13/1 memory 16GiB SODIMM DDR5 5600 MHz
/0/100/2 display Raptor Lake-P [Iris Xe Graphics]
/0/100/14.3 wlp0s20f3 network Raptor Lake PCH CNVi WiFi
/0/100/1d/0 /dev/nvme0 storage SAMSUNG MZVL21T0HCLR-00B00
Bu özet tablo, sistemdeki donanımın genel bir görünümünü sunar. Bellek modüllerinin ne kadarının kullanıldığı, depolama ve ağ cihazlarının neler olduğu gibi bilgiler bu tabloda yer alır. Bellek modüllerinin detaylı bilgilerini görmek için:
sudo lshw -C memory
Bu komut, bellek modüllerinin hızları, kapasiteleri ve hatta seri numaraları gibi detaylı bilgileri gösterir. Benzer şekilde, ağ cihazlarının detaylı bilgilerini görmek için:
sudo lshw -C network
lshw Kullanım Senaryoları
- Donanım Raporları Oluşturma:
lshwkomutu, JSON ve HTML formatlarında çıktı üretebilir. Bu, donanım envanterini kaydetmek ve paylaşmak için kullanışlıdır. Örneğin:
sudo lshw -json > hardware.json
sudo lshw -sanitize -html > hardware.html
-sanitize seçeneği, seri numaraları ve IP adresleri gibi hassas bilgileri gizler, böylece raporlar güvenli bir şekilde paylaşılabilir.
sudo lshw komutunu kullanabilirsiniz. Bu komut, sistemdeki her bileşenin tam tanımlayıcı bilgilerini, üretici bilgilerini ve bağlantı durumlarını gösterir.Not: CPU bilgileri için
lshwyeterli olmayabilir. CPU detaylarını görmek içinlscpuveyacat /proc/cpuinfokomutlarını kullanabilirsiniz. Ayrıca, BIOS ve sistem bilgilerini görmek içinsudo dmidecodekomutunu kullanabilirsiniz.
Hızlı Başvuru
Aşağıdaki tabloda, donanım sorgulamak için kullanılan komutlar ve senaryolar özetlenmiştir:
| Görev | Komut |
|---|---|
| USB cihazlarını listele | lsusb |
| USB cihazlarını ağaç yapısında göster | lsusb -t |
| Tek bir USB cihazının detaylı bilgilerini göster | sudo lsusb -v -d vendor:product |
| PCI cihazlarını listele | lspci |
| PCI cihazlarını ve kullanılan sürücüleri göster | lspci -k |
| PCI cihazlarını üretici ve ürün ID'leriyle listele | lspci -nn |
| Tek bir PCI cihazının detaylı bilgilerini göster | sudo lspci -vv -s address |
| Donanım özetini göster | sudo lshw -short |
| Belirli bir donanım sınıfının detaylı bilgilerini göster | sudo lshw -C class |
| Makine tarafından okunabilir donanım envanteri oluştur | sudo lshw -json |
| Temizlenmiş HTML raporu oluştur | sudo lshw -sanitize -html |
Sonuç
lsusb, lspci ve lshw komutları, Linux sistemlerde donanım sorgulama ve teşhis için vazgeçilmez araçlardır. Bu komutlar sayesinde, sisteminizin donanım kapasitesini anlayabilir, sorunları hızlıca tespit edebilir ve gerektiğinde donanım yükseltmeleri planlayabilirsiniz. Eğer bir cihaz listelenmesine rağmen çalışmıyorsa, dmesg komutu ile çekirdek loglarını inceleyerek sorunun kaynağını bulabilirsiniz.



