| USB ID |
|
| Scritto da Administrator | ||||||||||||||||
| Lunedì 25 Maggio 2009 23:05 | ||||||||||||||||
Oggigiorno sul mercato informatico esistono una moltidudine di periferiche, spesso simili se non uguali tra loro , in quanto sempre piu' spesso la fabbrica e' una sola, o cumunque il microprocessore sul quale si basa la periferica e' identico, tutte queste periferiche differiscono apparentemente solo per la marca, tanto che alcune possono essere installate e funzionare perfettamente con i driver di altre marche, o con driver generici. In questo articolo spiegheremo con alcuni esempi ed una terminologia facile il perche' di cio' , e come spesso sia utile/conveniente installare driver di altri fornitori!! L' articolo e' incentrato sulle periferiche USB, ma il discorso e' applicabile anche alle periferiche PCI. 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 che identifica la periferica. Ogni produttore possiede il suo «VendorID», ogni periferica il suo «Hardware_ID» univoco. quindi se chi marchia il prodotto si limita a marchiare solamente il prodotto, e a non cambiare il «Vendor_ID:Hardware_ID» , avremo una periferica marca xy , identica in tutto e per tutto a quella di altre marche, potremo utilizzare sia i driver a corredo, che quelli generici e/o di altra marca 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:
Tutte queste periferiche, fisicamente identiche, possono essere gestite dallo stesso driver. Come ulteriore esempio, consideriamo 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», entrambe basate sul chipset Zyxel Zydas 1211 Le due schede sono talmente identiche che avendo la Zyxel rilasciato un aggiornamento del firmware, è possibile con un' un trucchetto fare l'aggiornamento anche alla scheda della AllNet. Per conoscere l'ID del proprio hardware, sono disponibili due comandi linux: 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 Nell'esempio precedente si può vedere con esattezza il tipo della periferica collegata. Se vogliamo essere ancora piu' curiosi, possiamo andare a vedere l' output del comando linux dmesg per avere una visuale cronologica di cio' che ha comportato l' 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 marcato 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
Come potete notare, il comando lsusb, riconosce con una descrizione l' accoppiata vendor_id:hardware_id , ma poi nell' installazione della periferica vediamo con dmesg che viene trattata come una "WideView WT-220U PenType Receiver (Typhoon/Freecom)" La periferica in questione, un ricevitore USB digitale terrestre , non ha un firmware su ROM/EPROM , quindi necessita che ogni volta che viene collegata sia il pc a caricargli il firmware, e quindi ha 2 stati "cold" e "warm". cio' rende la periferica molto flessibile, chi sa' scrivere i firmware potrebbe aver voglia di implementare una nuova funzione, e quindi scriversi il proprio firmware e farlo caricare ad ogni accensione, in maniera molto semplice, lavorando solo da tastiera, senza bisogno di saldatori o programmatori di eprom 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)» [ 2677.493679] viene caricato il firmware dal file dvb-usb-wt220u-02.fw ( per ubuntu preventivamente scaricato e copiato nella directory /lib/firmware/ ); [ 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 [ 2679.926885] viene abilitato il ricevitore infrarossi della penna, sulla periferica «input3».
|
||||||||||||||||
| Ultimo aggiornamento Mercoledì 05 Agosto 2009 14:08 |
| 88.7% | | ITALY |
| 2.7% | | UNITED STATES |
| 1.4% | | GERMANY |
| 1% | | JAPAN |
| 0.9% | | UNITED KINGDOM |
| Oggi: | 19 |
| Ieri: | 37 |
| Questa settimana: | 19 |
| Scorsa settimana: | 268 |
| Questo mese: | 207 |
| Scorso mese: | 909 |
| Totale: | 3978 |






![]() | oggi | 37 |
![]() | ieri | 59 |
![]() | questa settimana | 37 |
![]() | Questo mese | 298 |
![]() | dal 08/08/2009 | 13833 |