Kısa cevap: Sürücüsüz USB bağlama diye adlandırdığımız şey aslında "sürücü yok" demek değil; cihazın, işletim sisteminde zaten hazır bulunan sınıf sürücüsünü kullanması demek. Klavye, fare, USB bellek, çoğu web kamerası ve basit ses aygıtları standart bir profile göre üretildiği için, taktığınız anda Windows, macOS ya da Linux "bunu tanıyorum" der ve saniyeler içinde çalışır. Ekstra bir kurulum yapmanız gerekmez, yapmanız da genelde gerekmemelidir.
Yıllar önce elimde iki farklı klavye vardı: biri kutusundan CD ile çıkan bir oyuncu klavyesi, diğeri kutusuz aldığım sıradan bir ofis klavyesi. Ofis klavyesini taktım, hiçbir şey yapmadan yazmaya başladım. Diğerini taktığımda tuşlar yine çalışıyordu ama makro tuşları ve aydınlatma ayarları ölüydü. İşte o an anladım ki USB dünyasında iki katman var: temel işlev ve ek özellikler. Temel işlev sınıf sürücüsüyle gelir, ek özellikler üreticinin yazılımını ister.
Bir USB cihazını taktığınızda, kablonun içindeki veri hatlarında minik bir tanışma konuşması başlar. Bu süreci kabaca şöyle sıralayabilirim:
Bu zincir çalıştığı sürece hiçbir dosya indirmenize gerek kalmaz. Sürücülerin genel çalışma mantığını merak ediyorsanız, sitedeki sürücü mimarisini anlatan yazı bu tabloyu daha da netleştirir.
| Cihaz tipi | Kullandığı sınıf | Takınca çalışır mı? |
|---|---|---|
| Klavye ve fare | HID | Evet, temel işlevler |
| USB bellek, harici disk | Yığın depolama | Evet |
| Web kamerası | UVC | Genellikle evet |
| USB kulaklık, ses kartı | UAC | Çoğunlukla evet |
| Oyun kolu | HID | Evet, titreşim değişebilir |
| Yazıcı | Yazıcı sınıfı | Kısmen, tam özellik için sürücü |
| USB-Ethernet, USB-WiFi adaptörü | Çipe bağlı | Değişken |
| Ses/görüntü yakalama kartları | Değişken | Sık sık sürücü ister |
Karar verirken şuna bakıyorum: cihazı hangi amaçla alıyorum? Sunum yapmak için taşıdığım bir sunum kumandasının her bilgisayarda tak-çalış olması benim için altın değerinde; yabancı bir makineye yazılım kurmak zorunda kalmam. Ama masamdaki ana klavyemde profil hafızası, tuş atamaları ve aydınlatma senaryoları istiyorsam üreticinin yazılımını kurarım. Aydınlatma tarafında neler yapılabildiğini merak edenler için RGB ayarlarını anlatan içerik ayrı bir dünya.
Sınıf sürücüsünün sınırı şurada belirir:
Bir cihaz "tanınmayan aygıt" olarak görünüyorsa panik yapmadan şu sırayı izliyorum:
Bir uyarı: "sürücü bulundu" diyen rastgele sitelerden indirme yapmayın. Sınıf sürücüsüyle zaten çalışan bir klavye için üçüncü taraf bir paket kurmanın hiçbir mantığı yok; sahte sürücülerin ne kadar zarar verebildiğini anlatan yazı bu konuda iyi bir uyandırıcıdır.
Kural olarak şunu benimsedim: cihaz taktığım anda temel işini görüyorsa, ek yazılımı ancak ihtiyacım olan bir özellik için kur