Sürücü ve Klavye

Sürücüsüz USB Cihazları Nasıl Bağlanır?

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.

İlk kez fark ettiğim gün

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.

Otomatik tanınma nasıl çalışır?

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:

  1. Elektriksel algılama: Bağlantı noktası, hatta bir direnç değişimi görür ve "burada bir şey var" der.
  2. Adres verme: Ana makine cihaza geçici bir adres atar.
  3. Tanımlayıcıların okunması: Cihaz kendi kimliğini gönderir. İçinde satıcı kodu (VID), ürün kodu (PID) ve en önemlisi sınıf kodu vardır.
  4. Eşleştirme: İşletim sistemi sınıf koduna bakar. "03" görürse insan arayüz aygıtı, "08" görürse yığın depolama olarak davranır ve kendi hazır sürücüsünü yükler.
  5. Yapılandırma: Cihaz kullanılabilir hale gelir; bildirim sesini duyarsınız.

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.

Hangi cihazlar gerçekten sürücüsüz çalışır?

Cihaz tipiKullandığı sınıfTakınca çalışır mı?
Klavye ve fareHIDEvet, temel işlevler
USB bellek, harici diskYığın depolamaEvet
Web kamerasıUVCGenellikle evet
USB kulaklık, ses kartıUACÇoğunlukla evet
Oyun koluHIDEvet, 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şkenSık sık sürücü ister

Sürücüsüz çalışmanın avantajı ve sınırı

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:

Tak-çalış çalışmıyorsa ne yaparım?

Bir cihaz "tanınmayan aygıt" olarak görünüyorsa panik yapmadan şu sırayı izliyorum:

  1. Farklı port deniyorum. Özellikle ön panel portları yerine doğrudan anakart portu. Çoğu sorun burada bitiyor.
  2. Hub'ı devreden çıkarıyorum. Beslemesiz çoklayıcılar akım açısından cimridir; harici diskler bunu hiç sevmez.
  3. Kabloyu değiştiriyorum. Bazı kablolar sadece şarj içindir, veri hattı yoktur. Telefonlarda sık yaşanan bir tuzak.
  4. Aygıt yöneticisinde kaldırıp yeniden taratıyorum. Bozuk kaydedilmiş bir kayıt temizlenince cihaz sıfırdan tanınıyor.
  5. USB denetleyicisi sürücüsünü kontrol ediyorum. Sorun cihazda değil, yonga seti tarafında olabilir. Bu noktada adım adım USB sürücüsü kurulumunu anlatan rehber işe yarıyor.
  6. Başka bilgisayarda test ediyorum. Cihaz orada da ölüyse mesele donanımdadır.

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