Indice
- Introduzione
- Strumenti con interfaccia grafica
-
Strumenti tramite riga di comando
- Periferiche PCI: lspci
- Periferiche PCMCIA: lspcmcia
- Periferiche USB: lsusb
- Periferiche wireless: iwconfig
- Monitor: xrandr
- BIOS: dmidecode
- CPU: cpuinfo
- Elenco dettagliato dell'hardware: lshw
- Hardware e sistema: inxi
- Salvare in un file le informazioni sull'hardware
- Reperire informazioni su una nuova periferica
- Ulteriori risorse
Guida verificata con Ubuntu: 20.04 22.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
La presente guida illustra diversi metodi tramite i quali è possibile identificare l'hardware presente nel computer e/o le periferiche ad esso collegate.
Approfondimento: il VendorID
Quando si collega una periferica al computer, questa viene riconosciuta dal sistema operativo in base al «Vendor_ID:Hardware_ID», una coppia di numeri univoca, utile per l'identificazione dell'hardware e del relativo produttore.
Ogni produttore possiede il suo «VendorID», ogni periferica il suo «Hardware_ID» univoco. Sempre più spesso però, alcuni produttori comprano lotti di periferiche da un costruttore che poi commercializzano con il proprio marchio, senza nemmeno cambiare il «Vendor_ID:Hardware_ID».
Ciò pone l'acquirente davanti ad un mercato nel quale coesistono periferiche realizzate da una casa costruttrice (dunque identificate da un solo «Vendor_ID:Hardware_ID»), ma vendute da una miriade di piccoli rivenditori che di proprio mettono solo il marchio e da altre periferiche, in tutto e per tutto identiche fra di loro, ma con «Vendor_ID:Hardware_ID» differenti.
Sapendo ciò è più facile gestire le periferiche in tutti i sistemi operativi (compreso Windows), in quanto esisterà un singolo driver per tutte le periferiche uguali tra loro ma di marche diverse, pur con dati identificativi differenti.
Quello che segue è un esempio di una situazione molto comune:
Marca |
Vendor_ID:Hardware_ID |
A |
AFBD:0001 |
B |
AFBD:0001 |
C |
FFDE:1000 |
D |
CDE0:1234 |
E |
AFBD:0001 |
Tutte queste periferiche, fisicamente identiche, possono essere gestite dallo stesso driver.
Come ulteriore esempio, si consideri la scheda «WiFi USB Wi-Fi Finder della AllNet» il cui ID è «157E:3204». Tale scheda è perfettamente identica alla «AG-225H» prodotta dalla ZYxel il cui ID è «0586:3409».
Essendo le due schede identiche, con un aggiornamento del firmware rilasciato dalla ZYxel è possibile fare l'aggiornamento anche alla scheda della AllNet.
Può accadere che una periferica non venga riconosciuta. Ciò potrebbe essere dovuto al fatto che la periferica sia nuova e non sia ancora supportata dal kernel in uso, oppure che questa sia stata disabilitata nel BIOS del PC. In quest'ultimo caso caricare le impostazioni di default del BIOS.
Strumenti con interfaccia grafica
Solitamente informazioni più dettagliate sono disponibili tramite gli strumenti più avanzati a riga di comando.
Per Ubuntu sono disponibili diversi programmi dotati di interfaccia grafica per visualizzare informazioni sull'hardware presente nel computer.
Di seguito vengono elencati i relativi pacchetti che è possibile installare, disponibili nei repository ufficiali:
kinfocenter (strumento dell'ambiente grafico KDE)
sysinfo (solo fino alla release 18.04 LTS)
Si elencano in questa sede anche programmi di terze parti (consultare le documentazioni dei singoli progetti per le procedure d'installazione e per ulteriori informazioni):
Strumenti tramite riga di comando
Di seguito sono riportati i principali comandi eseguibili via terminale per ottenere informazioni sull'hardware in uso.
Questi comandi sono solitamente già presenti in tutte le versioni di Ubuntu e, più in generale, nelle principali distribuzioni GNU/Linux.
Periferiche PCI: lspci
lspci è uno strumento utile per il riconoscimento delle periferiche PCI collegate al proprio computer. Per avviarlo digitare nel terminale:
lspci
La sintassi completa del comando è:
lspci [-eventuali opzioni …]
Alcune opzioni da utilizzare con il comando lspci:
Opzione |
Risultato |
-k |
mostra i kernel driver di ciascun dispositivo |
-d [<vendor>]:[<device>] |
mostra solo dispositivi specificati con i numeri in esadecimale per vendor e device |
-nn |
mostra gli identificativi testuali e numerici |
-t |
mostra l'output con uno schema ad albero |
-v |
incrementa la descrizione in uscita |
Alcuni esempi di uso del comando lspci:
Mostrare una lista di tutti i dispositivi con i rispettivi kernel driver:
lspci -k
Mostrare una lista di tutti i dispositivi con gli identificativi testuali e numerici:
lspci -nn
Mostrare nel dettaglio il dispositivo selezionato:
lspci -vd vendor:device
Mostrare più dettagliatamente il dispositivo selezionato:
lspci -vvd vendor:device
Usato in combinazione col comando grep per filtrare uno specifico dispositivo:
lspci -nn | grep -i `nomedispositivo`
Fra i nomi dei dispositivi più comuni si ricordano network, audio, display, spesso abbreviati in net, aud e dis.
Periferiche PCMCIA: lspcmcia
lspcmcia è uno strumento finalizzato al riconoscimento delle periferiche pcmcia. È un comando utile soprattutto per i vecchi computer. Per avviarlo digitare nel terminale:
lspcmcia
Periferiche USB: lsusb
lsusb è uno strumento utile per il riconoscimento delle periferiche USB collegate al proprio computer. Per avviarlo digitare nel terminale:
lsusb
Un esempio di output di lsusb è il seguente:
Bus 002 Device 003: ID 067b:3507 Prolific Technology, Inc. PL3507 ATAPI6 Bridge Bus 002 Device 002: ID 157e:3204 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
La sintassi completa del comando è la seguente:
lsusb [-eventuali opzioni …]
Alcune delle opzioni disponibili con il comando lsusb:
Opzione |
Risultato |
-d vendor:[product] |
mostra solo dispositivi con i specifici numeri in esadecimale per ID |
-s [[bus]:][devnum] |
mostra solo dispositivi specificati con i numeri in decimale per bus e device |
-t |
mostra i dispositivi in uno schema ad albero |
-v |
incrementa la descrizione in uscita |
Mostrare uno specifico dispositivo tramite numeri bus e device:
lsusb -d 067b:3507
Risultato:
Bus 002 Device 003: ID 067b:3507 Prolific Technology, Inc. PL3507 ATAPI6 Bridge
Mostrare uno specifico dispositivo tramite numeri device e bus:
lsusb -s 002:003
Risultato:
Bus 002 Device 003: ID 067b:3507 Prolific Technology, Inc. PL3507 ATAPI6 Bridge
Mostrare nel dettaglio il dispositivo selezionato:
lsusb -vs 002:003
Mostrare i dispositivi in ordine gerarchico:
lsusb -t
Risultato:
/: Bus 02.Port 1: Dev 2, Class=root_hub, Driver=ehci-pci/4p, 480M |__ Port : Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port : Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/4p, 480M
Nel caso nell'output non appaia un dispositivo, o venga mostrato con dati incompleti, provare ad aggiornare il database dei dispositivi USB con il comando:
sudo update-usbids
In alcuni casi potrebbe essere utile consultare il kernel ring buffer (tramite comando il dmesg), in modo da tracciare nel log gli eventi relativi all'inserimento della periferica.
Infine potrebbe anche essere utile visualizzare le informazioni estese dei dispositivi con il comando:
usb-devices
Periferiche wireless: iwconfig
Lo strumento iwconfig serve per identificare periferiche di rete wireless.
Per accertarsi che la propria scheda WiFi sia stata correttamente rilevata, digitare nel terminale:
iwconfig
Qualora le periferiche rilevate non abbiano estensione wireless, l'output del comando sarà simile al seguente:
lo no wireless extensions. eth0 no wireless extensions.
Ciò significa che la propria scheda non è stata rilevata o necessita dell'abilitazione di driver proprietari. In caso di ulteriore mancato riconoscimento, consultare questa pagina.
Ulteriori informazioni sul dispositivo wireless possono essere ricavate tramite gli strumenti lspci e lshw.
Monitor: xrandr
Il comando xrandr è uno strumento utile per il riconoscimento del monitor integrato e/o connesso al proprio computer.
La sintassi del comando è la seguente:
xrandr [-opzioni]
Alcuni esempi di uso del comando xrandr:
Mostrare le informazioni base:
xrandr --query
Mostrare le informazioni estese:
xrandr --verbose
BIOS: dmidecode
dmidecode è un programma che permette di visualizzare le informazioni relative al computer ricavabili dal BIOS. Per informazioni sul suo utilizzo consultare questa guida.
CPU: cpuinfo
Le informazioni relative alla CPU del computer (detta comunemente "processore") sono presenti nel file /proc/cpuinfo. Per stampare a video queste informazioni, digitare nel terminale:
cat /proc/cpuinfo
Se nell'output del comando è presente la dicitura lm (long mode), si è in possesso di una CPU a 64bit.
Per ottenere altre informazioni importanti sulla CPU tramite i flag (ad esempio quelle relative al supporto PAE), digitare nel terminale:
grep flags /proc/cpuinfo
Il seguente è un esempio di output per una CPU 64bit:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
Elenco dettagliato dell'hardware: lshw
lshw riassume la configurazione dell'hardware presente nella propria macchina. Di ogni periferica viene riportato, tra le varie informazioni, il driver o modulo del kernel utilizzato per il suo funzionamento. Grazie a questa informazione è possibile stabilire se il gestore delle periferiche ha assegnato ad esse il driver corretto.
lshw non è in grado di rilevare le periferiche firewire. A tal fine utilizzare dmesg.
Per un utilizzo di base del programma, digitare nel terminale:
lshw
La sintassi è la seguente (il comando richiede i privilegi di amministrazione per ottenere informazioni complete):
sudo lshw [- eventuali opzioni]
Nella tabella sono elencate alcune opzioni disponibili con il comando lshw:
Opzione |
Risultato |
-c |
mostra solo certe classi dell'hardware (cpu, multimedia, network, ecc.) |
-sanitize |
rimuove informazioni e dati sensibili |
-numeric |
uscita ID numerica (per PCI, USB, ecc.) |
Alcuni esempi d'uso del comando lshw:
Ottenere un breve elenco delle periferiche presenti nel sistema:
sudo lshw -short
Mostrare le caratteristiche delle CPU:
sudo lshw -c cpu
Mostrare le schede di rete senza dati sensibili:
sudo lshw -sanitize -c network
Mostrare i numeri esadecimali delle schede audio video:
sudo lshw -numeric -c multimedia
Hardware e sistema: inxi
Lo strumento inxi permette di reperire rapidamente informazioni sia sull'hardware (CPU, RAM, dischi rigidi ecc.) sia sul sistema installato (kernel, server grafico, Desktop, repository ecc.). Si rivela molto utile pertanto per le richieste di aiuto nei canali di supporto.
A differenza degli strumenti più comuni descritti in questa guida, inxi non si trova preinstallato in Ubuntu.
Per abilitare il programma installare il pacchetto inxi.
Per un uso di base digitare nel terminale:
inxi
L'output sarà simile al seguente:
CPU~Dual core Intel Core i7-6700HQ (-MCP-) speed~2591 MHz (max) Kernel~4.4.0-112-generic x86_64 Up~50 min Mem~1609.9/1999.8MB HDD~42.9GB(17.6% used) Procs~197 Client~Shell inxi~2.3.5
La sintassi completa del comando è:
inxi [-eventuali opzioni …]
Alcune opzioni da utilizzare con il comando inxi:
Opzione |
Risultato |
-b |
mostra le informazioni di base sul sistema |
-F |
mostra le informazioni complete sul sistema |
-M |
mostra le informazioni relative a marca e modello della scheda madre |
-C |
mostra le informazioni sulle CPU |
-f |
mostra le informazioni sulle opzioni supportate dalla CPU |
-B |
mostra le informazioni relative alla batteria |
-plu |
mostra le informazioni relative alle partizioni montate, comprese etichette ed UUID |
-Dd |
mostra le informazioni relative al disco rigido ed al masterizzatore |
-N |
mostra le informazioni sulle schede di rete |
-A |
mostra le informazioni sui dispositivi audio |
-G |
mostra le informazioni sulla scheda grafica |
-r |
mostra le informazioni sui repository |
-z |
rimuove informazioni e dati sensibili |
-h |
mostra a schermo tutte le opzioni disponibili di inxi |
Salvare in un file le informazioni sull'hardware
Le informazioni mostrate dai comandi precedenti sono talvolta troppo lunghe per essere agevolmente consultate nel terminale.
Pertanto può risultare utile l'uso della redirect (carattere «>») per salvare l'output di un comando in un file di testo nella propria cartella Home. Ad esempio tramite il comando:
sudo lshw > profilo_hardware.txt
verrà esportato il risultato di lshw nel file di testo profilo_hardware.txt.
In alternativa è possibile salvare l'output in formato HTML con il comando:
sudo lshw -html > profilo_hardware.html
Reperire informazioni su una nuova periferica
Usando lo strumento del precedente paragrafo, è possibile ottenere informazioni su una nuova periferica collegata al computer.
Prima di collegare la nuova periferica, digitare nel terminale il seguente comando:
sudo lshw > vecchio_profilo_hardware.txt
Collegare la periferica e digitare il comando:
sudo lshw > nuovo_profilo_hardware.txt
Verranno così creati i file vecchio_profilo_hardware.txt e nuovo_profilo_hardware.txt. Per evidenziare le differenze fra i due file, digitare il comando:
diff vecchio_profilo_hardware.txt nuovo_profilo_hardware.txt
Verranno mostrate solo le informazioni relative alla nuova periferica appena collegata.
In alternativa si può collegare il dispositivo e digitare il comando:
dmesg |tail
che mostrerà le ultime righe del comando dmesg.