Articole
    Home » Listați dispozitive PCI și USB cu lspci și lsusb
Listați dispozitive PCI și USB cu lspci și lsusb

Listați dispozitive PCI și USB cu lspci și lsusb

Despre articol și de ce contează

Dacă ai ajuns aici, probabil că te întrebi cum să-ți vezi rapid și clar hardware-ul conectat la serverul tău — fie el VPS, server dedicat sau mașină locală pentru testare. Fie că faci troubleshooting, vrei să știi ce plăci video ai pe un server pentru machine learning, sau pur și simplu vrei să faci inventarul componentelor, instrumentele lspci și lsusb sunt de bază. În articolul ăsta explicăm, fără bullshit, cum să folosești aceste utilitare, de ce sunt vitale pentru orice admin, devops sau coder, și cum să-ți faci viața mai ușoară cu ele.

Pe scurt: Articolul te învață cum să listezi, identifici și investighezi dispozitivele PCI și USB din sistemul tău în câteva minute.

Situație reală: Când hardware-ul te lasă baltă

Imaginează-ți: ești la 2 noaptea, ai primit alerta că serverul de backup nu mai face sync. Panică. Intri pe SSH, verifici logurile, vezi că discul extern nu mai e montat, dar nici nu apare în lsblk. Să fie portul USB? Să fie controlerul? Cum afli rapid dacă serverul “vede” dispozitivul? Dacă ai la îndemână lsusb și lspci, nu doar că economisești timp, dar poți să-ți dai seama dacă problema e hardware, software sau… doar un cablu tras prost.

De ce trebuie să-ți vezi clar dispozitivele PCI și USB?

  • Nu toate serverele au aceleași resurse hardware, iar virtualizarea poate ascunde device-uri.
  • VM-urile, containerele și serverele cloud nu îți expun mereu tot hardware-ul; uneori trebuie să insiști.
  • Driverii lipsă sau incompatibili pot face ca device-urile să nu fie vizibile.
  • Pentru upgrade-uri hardware, troubleshooting, sau când vrei să folosești GPU-uri pentru AI, trebuie să știi exact ce ai sub capotă.
  • Unele dispozitive USB “fantomă” pot afecta performanța sau securitatea (stick-uri, dongle-uri, plăci de rețea USB etc.).

Cum funcționează lspci și lsusb?

1. Ce este lspci?

lspci este comanda clasică pentru listarea tuturor dispozitivelor PCI (Peripheral Component Interconnect) din sistemul tău. PCI-ul e “autostrada” pe care circulă plăcile de rețea, plăcile video, SSD-urile NVMe, controlerele RAID, etc. Comanda scanează direct magistrala PCI și afișează tot ce găsește, cu detalii precum vendor, device, ID-uri, și, dacă ai noroc, chiar și denumirea comercială.

2. Ce este lsusb?

lsusb face același lucru, dar pentru USB (Universal Serial Bus). Vezi rapid ce stick-uri, camere, tastaturi, adaptoare sau alte minuni sunt conectate. Poate fi util să vezi dacă un device e detectat hardware, chiar dacă OS-ul nu îl “vede” corect.

3. Cum “văd” aceste comenzi hardware-ul?

  • lspci citește direct din /sys/bus/pci/devices și /proc/bus/pci, interogând kernelul pentru lista de device-uri.
  • lsusb se bazează pe /sys/bus/usb/devices și, când e nevoie, pe usbutils pentru date suplimentare.
  • Ambele folosesc baze de date cu vendor ID-uri pentru a “traduce” cifrele în denumiri umane.

Când ai nevoie de lspci și lsusb? Arbore de cazuri și beneficii

  • Debugging hardware: Nu știi dacă serverul “vede” GPU-ul? lspci e primul pas.
  • Inventariere rapidă: Vrei să faci un audit hardware la 10 servere? Script cu lspci și lsusb și ai raportul în 3 minute.
  • Instalare driveri: Nu știi exact ce chipset de rețea ai? lspci te salvează de la ore de googling.
  • Verificare dispozitive USB: Stickuri, dongle-uri, camere, modemuri 3G/4G — vezi instant dacă sunt conectate sau nu.
  • Virtualizare și passthrough: Pentru KVM, Docker sau Proxmox, trebuie să știi device-urile PCI/USB pentru passthrough.
  • Securitate: Detectezi device-uri necunoscute (un stick USB lăsat de cineva? Un device “dubios”?).

Setează rapid și ușor: Ghid pas cu pas

1. Instalare

  • Debian/Ubuntu: sudo apt update && sudo apt install pciutils usbutils
  • CentOS/RHEL: sudo yum install pciutils usbutils
  • Alpine: sudo apk add pciutils usbutils

2. Listare dispozitive PCI

  • Comanda de bază: lspci
  • Detalii extinse: lspci -v sau lspci -vv
  • Cu denumiri umane (dacă ai /usr/share/misc/pci.ids): lspci -nn
  • Doar un anumit tip de device (ex: plăci video): lspci | grep VGA

3. Listare dispozitive USB

  • Comanda de bază: lsusb
  • Detalii extinse: lsusb -v (atenție, poate scoate mult output!)
  • Verifică porturi și hub-uri: lsusb -t

4. Comenzi utile în troubleshooting

  • dmesg | grep -i usb — vezi log-uri de kernel pentru device-uri USB conectate/deconectate
  • lspci -k — arată și ce driver folosește fiecare device PCI
  • lsmod — vezi ce module sunt încărcate pentru hardware

5. Exemplu rapid

root@server:~# lspci | grep Ethernet
02:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
root@server:~# lsusb
Bus 002 Device 003: ID 0781:5567 SanDisk Corp. Cruzer Blade
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Mini Glosar: Pe limba sysadmin-ului

  • PCI — “Magistrala” pentru plăci rapide: video, rețea, NVMe, etc.
  • USB — Pentru device-uri plug’n’play: tastaturi, stickuri, camere, etc.
  • Vendor ID — ID-ul producătorului, gen “8086” pentru Intel.
  • Device ID — ID-ul modelului, ajută la identificare exactă.
  • Passthrough — Să “dai” un device hardware direct unei VM sau container, fără să-l vadă hostul.
  • pci.ids, usb.ids — Baze de date cu ID-uri și denumiri pentru device-uri.

Exemple, cazuri, și comparații (cu umor de sysadmin)

Comparație comică: lspci vs lsusb

lspci
(Detectivul hardware-ului greu)
lsusb
(Inspectorul gadgeturilor mici)
  • “Scanează” tot ce e înfipt direct în placa de bază
  • Ideal pentru servere, plăci video, SSD-uri rapide
  • Înțelege “autostrăzile” hardware-ului
  • Uneori arogant: nu se coboară la nivel de mouse
  • Vezi instant stick-uri, dongle-uri, camere, tastaturi
  • Perfect pentru troubleshooting rapid la periferice
  • Se descurcă cu hub-uri și device-uri “exotice”
  • Uneori confuz: nu știe ce e un GPU

Exemple bune

  • Comanzi un server dedicat cu GPU și vrei să vezi dacă e “la post” — lspci | grep -i nvidia
  • Vrei să faci passthrough la un stick USB LTE într-un container — lsusb + lsusb -t
  • Primești un server cu două plăci de rețea, dar OS-ul vede doar una — lspci | grep Ethernet și lspci -k

Exemple “fail”

  • Ai conectat un stick USB, dar nu apare în lsusb — probabil port defect sau device mort.
  • Te bazezi doar pe lshw sau hwinfo și ratezi device-uri “invizibile” pentru ele.
  • Nu rulezi lspci ca root și nu vezi toate detaliile — unele info sunt ascunse userilor normali.

Greșeli frecvente, mituri, alternative, și decizii rapide

Top 3 greșeli de evitat

  • Mit: “Dacă nu apare în lspci/lsusb, sigur e hardware-ul stricat.” — Fals. Uneori e doar kernelul prea vechi sau lipsă de driveri.
  • Mit: “lsusb afișează și dispozitivele PCI.” — Nu, vezi doar USB-uri.
  • Greșeală: Să folosești lspci -v pe servere cu sute de device-uri fără grep — output-ul poate fi “infinit”.

Alternative și când să le folosești

  • lshw — Pentru listă completă de hardware, inclusiv RAM, CPU, dar mai lent și uneori “orbește”. Oficial
  • hwinfo — Output detaliat, dar nu e mereu disponibil pe toate distro-urile. Oficial
  • dmidecode — Pentru info la nivel de BIOS/firmware, nu device-uri conectate dinamic.

“Use This If…” — Decizie rapidă (flowchart pentru începători)

  • 🔌 Ai conectat ceva la USB și nu apare în sistem?
    • → Rulează lsusb
    • → Nu apare? Verifică portul/cablul/device-ul
  • 🎮 Vrei să vezi dacă ai GPU sau placă de rețea dedicată?
    • → Rulează lspci | grep VGA sau lspci | grep Ethernet
  • 💻 Vrei tot hardware-ul, inclusiv RAM/CPU?
    • → Încearcă lshw sau hwinfo
  • ⚙️ Vrei să faci passthrough la VM sau Docker?
    • → Identifică device-ul cu lspci sau lsusb, apoi configurează passthrough

Automatizare, scripturi și oportunități noi

Acum că știi să folosești lspci și lsusb manual, hai să vedem cum poți să le folosești în automatizări sau scripting:

  • Audit hardware periodic:
    #!/bin/bash
    echo "Raport hardware la $(date)" > /var/log/hw-inventory.log
    lspci -nn >> /var/log/hw-inventory.log
    lsusb >> /var/log/hw-inventory.log
    
  • Alertă dacă un device lipsește:
    if ! lspci | grep -q "NVIDIA"; then
      echo "Atenție: GPU NVIDIA nu e prezent!" | mail -s "Alertă hardware" admin@domeniu.tld
    fi
    
  • Listă rapidă device-uri pentru VM passthrough:
    lspci | grep -E 'Ethernet|VGA|NVMe' > devices.txt
    

Fun fact: Mulți folosesc lspci/lsusb și pentru a descoperi device-uri “fantomă” lăsate de fostul admin sau pentru a verifica dacă un server “refurbished” chiar are ce s-a promis (spoiler: uneori nu!).

Automatizare: Integrează aceste comenzi în scripturi de provisioning sau Ansible pentru a verifica rapid hardware-ul la deploy.

Poveste scurtă: Adminul și misterul portului dispărut

Era o dată un admin (nu spunem cine), care a primit un server nou pentru un cluster de Docker. Toate bune, până când a încercat să monteze un SSD extern pe USB. Nimic, nici urmă de device. A încercat lsblk, fdisk, nimic. Panică. Apoi, inspirat, rulează lsusb: portul nici nu mai apare! Ajunge la concluzia că portul e mort — trimite serverul înapoi la garanție, primește unul nou, și clusterul merge “brici”. Morală: lsusb nu minte!

Concluzie și recomandări

  • Nu subestima niciodată puterea lui lspci și lsusb — îți pot salva ore de troubleshooting.
  • Folosește-le ca prim pas în orice problemă hardware, upgrade, sau audit.
  • Automatizează-le în scripturi pentru a avea mereu un inventar up-to-date.
  • Dacă ai nevoie de servere VPS sau dedicate cu hardware clar, vezi oferta VPS sau servere dedicate.

Nu uita: Hardware-ul nu ține cont de deadline-urile tale — dar cu uneltele potrivite, poți să-l ții sub control!

Dacă ai întrebări sau vrei să vezi alte exemple de scripturi cu lspci/lsusb, lasă un comentariu!

Leave a reply

Your email address will not be published. Required fields are marked