Harici bir USB cihazı için, Linux neden sürücüye ek olarak bir firmware gerektiriyor?


7

Birkaç gün önce Linux'un eski sürümünde bir USB WiFi adaptörü kurmaya çalışıyordum. Başarıyla yükledim.

Ancak uyguladığım prosedür sadece sürücü değil, aynı zamanda bu adaptörde kullanılan çipin donanım yazılımını da yüklememi gerektiriyordu.

Firmware'i aradım ve firmware'in donanım üzerinde çalışan bir yazılım olduğunu anladım. Fakat üretici yazılımı yönlendiricilerdeki üretici yazılımı gibi adaptöre önceden yüklenmemiş midir? Neden çipte önceden yüklenmiş değilse?

Yanıtlar:


6

itibaren Ubuntu Wiki'si :

Birçok cihazda, işletim sisteminizde çalışması için iki temel yazılım parçası bulunur. Birincisi, sisteminizin donanımla konuşmasını sağlayan yazılım olan çalışan bir sürücüdür. İkincisi, düzgün çalışması için doğrudan aygıta yüklenen küçük bir kod parçası olan bellenimdir. Üretici yazılımını, cihazın içindeki donanımı programlamanın bir yolu olarak düşünebilirsiniz. Aslında, neredeyse her durumda bellenim, kara bir kutu olduğu için donanım olarak değerlendirilir; beraberinde serbestçe dağıtılan eşlik eden kaynak kodu yoktur.

ve

Üretici yazılımı, genellikle donanım cihazını geliştiren firma tarafından sağlanır. Windows topraklarında, üretici yazılımı genellikle yüklediğiniz sürücünün bir parçasıdır. Genellikle kullanıcı tarafından görülmez. Linux'ta, bellenim bir dizi kaynaktan dağıtılabilir. Bazı donanım yazılımı, Linux çekirdek kaynaklarından gelir. Yeniden dağıtma lisansına sahip olan diğer kullanıcılar, giriş yönünden gelir. Bazı ürün yazılımı ne yazık ki ücretsiz yeniden dağıtıma izin veren lisanslara sahip değil.

Firmware, BIOS yazılımı ile ortak olarak önemli bir özelliğe sahiptir: kendini güncelleyemez. Tamamen kapalı bir kaynaktır (açık kaynağın aksine), bazı prosedürlerle yeniden kurulabilir, ancak alt kullanıcılar tarafından incelenemez veya düzeltilemez.


1
Donanım yazılımı hakkındaki son paragrafınız genel olarak doğru olabilir; Ancak, verilen bir değil. Chromecast, örneğin, kendisini otomatik olarak günceller.

@Alex Teşekkürler, bunu bilmiyordum.
MariusMatutiae

yapamam BadUSB kendini güncelle?
Cees Timmerman

Bu, hangi bellenimin olduğunu açıklar, ancak neden bellenimin işletim sistemi tarafından yüklenmesi gerektiğini açıklamaz.
Twinkles

@Twinkles: İkinci alıntı paragrafın nedenini açıklamıyor mu? Temelde bazı donanımların donanım yazılımı olmadan gönderildiği, ancak Windows kullanıcılarının ürün yazılımı yüklemesini göremedikleri için genellikle sürücü yükleyici tarafından yapılır.
slebetman

5

Bunun temel nedeni, satıcıların ürünü başlattıktan sonra USB cihazlarının donanım yazılımını değiştirebilmek istemeleridir, çünkü ...

  • ... üretici yazılımı buggy olabilirdi
  • ... yetki alanı değişebilir
  • ... satıcı daha sonra daha fazla özelliği destekleyebilmek istiyor
  • ... sahada uyum sorunları ortaya çıkabilir

Bu nedenle, giderek daha fazla sayıda USB cihazı yalnızca bir önyükleyici ile donatılmıştır ve bir ürün yazılımı yüklemesi gerektirir.


2
... cihaz yazılımını depolamak için cihaza hafıza için para harcamak istemiyorlar.
Andreas Bombe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.