Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


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:

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.

  1. Prima di collegare la nuova periferica, digitare nel terminale il seguente comando:

    sudo lshw > vecchio_profilo_hardware.txt
  2. Collegare la periferica e digitare il comando:

    sudo lshw > nuovo_profilo_hardware.txt
  3. 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.

Ulteriori risorse


CategoryHardware