Wiki Ubuntu-it

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

Versione 20 del 16/05/2008 15.15.15

Nascondi questo messaggio

BR Indice

Introduzione

Quando si collega una periferica al computer, essa 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 produtttore .

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ò ci pone davanti ad un mercato dove coesistono periferiche realizzate da una casa costruttrice (dunque identificate da un solo «Vendor_ID:Hardware_ID»), 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 in tutti i sistemi operativi, compreso Windows, gestire le periferiche, in quanto esisterà un singolo driver per tutte le periferiche uguali tra loro, ma di marche diverse, anche se hanno dati identificativi differenti.

Quello che segue è un'esempio di una situazione ormai 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, consideriamo la scheda [:Hardware/DispositiviSenzaFili/WiFiHowTo: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».

Le due schede sono talmente identiche che avendo la ZYxel rilasciato un aggiornamento del firmware, è possibile fare l'aggiornamento anche alla scheda della AllNet.

Identificare una periferica

Per venire a conoscenza dell'ID del proprio hardware, sono disponibili due comandi: lspci, utile ad identificare le periferiche PCI, e lsusb, adatto invece per le periferiche USB.

Un esempio di output del comando lsusb potrebbe essere 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

Nell'esempio precedente si può vedere con esattezza il tipo della periferica collegata.

Immagine(Icone/Piccole/note.png,,center)

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..

In alcuni casi potrebbe essere utile consultare il [:LogDiSistema#kernelring:kernel ring buffer] con il comando dmesg, in modo da tracciare gli eventi che accadono all'inserimento della periferica. L'esempio che segue mostra i risultati dei comandi lsusb e dmesg lanciati dopo il collegamento ad una porta USB di un ricevitore digitale terrestre della Yakumo:

  • lsusb:

    Bus 002 Device 005: ID 14aa:0222 AVerMedia (again) or C&E
  • dmesg:

    [ 2677.408962] usb 2-1: configuration #1 chosen from 1 choice
    [ 2677.487184] dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in cold state, will try to load a firmware
    [ 2677.493679] dvb-usb: downloading firmware from file 'dvb-usb-wt220u-02.fw'
    [ 2677.547314] usbcore: registered new interface driver dvb_usb_dtt200u
    [ 2678.546715] usb 2-1: USB disconnect, address 4
    [ 2678.546759] dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
    [ 2679.792659] usb 2-1: new high speed USB device using ehci_hcd and address 5
    [ 2679.925182] usb 2-1: configuration #1 chosen from 1 choice
    [ 2679.925399] dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm state.
    [ 2679.925476] dvb-usb: will use the device's hardware PID filter (table count: 15).
    [ 2679.926503] DVB: registering new adapter (WideView WT-220U PenType Receiver (Typhoon/Freecom)).
    [ 2679.926592] DVB: registering frontend 1 (WideView USB DVB-T)...
    [ 2679.926885] input: IR-receiver inside an USB DVB receiver as /class/input/input3
    [ 2679.926908] dvb-usb: schedule remote query interval to 300 msecs.
    [ 2679.926911] dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully initialized and connected.
    [ 2682.224793] dvb-usb: recv bulk message failed: -110

Quella che segue è una spiegazione degli eventi mostrati nei due output precedenti (i numeri tra parentesi quadre indicano l'istante temporale dall'accensione del computer):

  • [ 2677.408962] viene collegata la periferica;
  • [ 2677.487184] la periferica viene riconosciuta come «wideView wt-220U penType receiver (Typhoon/Freecom)» (la dicitura «cold» indica l'assenza temporanea di un firmware di gestione);
  • [ 2677.493679] viene caricato il firmware dal file dvb-usb-wt220u-02.fw (preventivamente installato);

  • [ 2678.546715] disconnessione e riconnessione della periferica a causa di un cambio di ID in «14aa:0221»;
  • [ 2679.925399] la periferica viene rilevata come riconosciuta e funzionante (la dicitura «warm» indica la presenza di un firmware di gestione);
  • [ 2679.926885] viene abilitato il ricevitore infrarossi della penna, sulla periferica «input3».

Ulteriori risorse


CategoryHardware CategoryDaRevisionare