7

A few days ago I was trying to install a USB WiFi adapter in old version of linux. I installed it successfully.

But the procedure I followed required me to install not only driver, but also the firmware of the chip used in that adapter.

I searched about firmware and came to know that firmware is software that runs on hardware. But isn't the firmware preloaded in the adapter like the firmware in routers? Why if it isn't preloaded in chip?

6

From the Ubuntu Wiki:

Many devices have two essential software pieces that make them function in your operating system. The first is a working driver, which is the software that lets your system talk to the hardware. The second is firmware, which is usually a small piece of code that is uploaded directly to the device for it to function correctly. You can think of the firmware as a way of programming the hardware inside the device. In fact, in almost all cases firmware is treated like hardware in that it's a black box; there's no accompanying source code that is freely distributed with it.

and

The firmware is usually maintained by the company that develops the hardware device. In Windows land, firmware is usually a part of the driver you install. It's often not seen by the user. In Linux, firmware may be distributed from a number of sources. Some firmware comes from the Linux kernel sources. Others that have redistribution licenses come from upstream. Some firmware unfortunately do not have licenses allowing free redistribution.

Firmware has an important feature in common with BIOS software: it cannot update itself. It is completely closed source (as opposed to open source), can be re-installed via some procedure, but it can neither be inspected nor corrected by downstream users.

| improve this answer | |
  • 1
    Your last paragraph about firmware may be generally true; however, it's not a given. The Chromecast, for example, updates itself automatically. – user115145 Oct 7 '15 at 12:02
  • @Alex Thanks, I did not know that. – MariusMatutiae Oct 7 '15 at 12:12
  • Can't BadUSB update itself? – Cees Timmerman Oct 7 '15 at 12:21
  • This describes what firmware is, but it doesn't explain why the firmware has to be uploaded by the operating system. – Twinkles Oct 7 '15 at 13:16
  • @Twinkles: Doesn't the second quoted paragraph explain why? It basically says some hardware ship without a firmware but Windows users don't see the firmware upload because it's usually done by the driver installer. – slebetman Oct 7 '15 at 14:24
5

The main reason is that vendors want to be able to change the firmware of their USB devices after they launched the product, because...

  • ...the firmware might have been buggy
  • ...jurisdiction may change
  • ...the vendor wants to be able to support more features later
  • ...compatibility problems may arise in the field

Therefore, more and more USB devices are only equipped with a bootloader and require a firmware upload.

| improve this answer | |
  • 2
    ...they don't want to spend the money for memory on the device to store the firmware – Andreas Bombe Oct 7 '15 at 15:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.