Почему некоторые драйверы по-прежнему требуют прошивки?

В дереве ядра Linux есть тонна драйверов с обратным преобразованием. Однако некоторые драйверы, особенно беспроводные драйверы, требуют, чтобы бинарные капли встроенного программного обеспечения работали должным образом.

Что мешает кому-то перепроектировать это тоже, и сделать драйвер на 100% бесплатным? Или это разные для разных драйверов?

2 Solutions collect form web for “Почему некоторые драйверы по-прежнему требуют прошивки?”

Прошивка – это программное обеспечение, которое работает на процессоре в самом устройстве, а не на главном CPU. Прошивка, скорее всего, будет закрытой, чем драйверы по разным причинам.

Прошивка должна быть выполнена только один раз, тогда как разные операционные системы требуют разных драйверов. Поэтому производители оборудования имеют стимул, чтобы третьи стороны могли писать свои собственные драйверы для своей любимой операционной системы, в то время как для прошивки такого стимула нет.

Прошивка ближе к оборудованию, а аппаратные компании часто хотят сохранить работу аппаратного обеспечения. Поэтому им не нравится показывать, как была создана прошивка.

Прошивка намного сложнее переделать, чем код драйвера. Часто периферийные устройства не могут легко отлаживаться, в отличие от драйверов, работающих на основном процессоре. Кроме того, прошивка работает в среде, которая часто плохо документирована, если вообще (в то время как существует несколько типов ЦП, какие устройства ввода / вывода сопоставляются с тем, какие адреса являются чрезвычайно переменными).

В случае драйверов wifi есть дополнительная проблема. Закон в большинстве мест запрещает использование определенных радиочастот и требует, чтобы потребительские устройства были защищены от трансляции на этих запрещенных частотах. Часто аппаратное обеспечение довольно гибкое и единственная защита в прошивке. Если производитель сделал слишком простое изменение прошивки для трансляции на запрещенных частотах, они могут нарушить эти правила.

Вы правы, что разные для разных драйверов. Многие из этих драйверов охватываются патентом или NDA, что исключает это действие.

  • Debian - включить широкополосный беспроводной контроллер
  • Пакет linux-firmware-nonfree заставляет Debian не видеть мои мониторы
  • Не удается найти интерфейс беспроводной карты mwifiex_usb
  • почему некоторые сетевые карты должны загружать внешнюю прошивку?
  • Декомпилировать / запустить исполняемый файл MIPS под x86_64 Ubuntu
  • Linux на Dell Inspiron 630m
  • Debian - Atheroes AR9271 не работает
  • Установка отсутствующей прошивки в debian
  • unsquashfs не работает
  • Прошивка Debian от cdimage.debian.org от производителя
  • Как прошивать прошивку под Linux на практике?
  • Interesting Posts

    контролировать пропускную способность интерфейса с помощью tc или iptables

    Как убедить tar (и т. Д.) Архивировать содержимое блочного устройства?

    `hostname` – имя хоста или полное доменное имя?

    Как выдать команду tar при восстановлении системы

    Как экспортировать данные в терминал в файл (например, файл csv)

    Как полностью очистить терминал?

    Восстановить каталог на сервере openvz

    Как узнать больше о командной строке с таблицей процессов системы безопасности KDE

    Как выбрать между Unix / Linux и Windows в среде сервера?

    Как удалить файловую систему только для чтения с USB-накопителя

    Разрешить root для входа через ssh только с аутентификацией на основе ключа

    Readline .inputrc сбрасывает значения по умолчанию с каждой строкой

    Экспорт РЕДАКТОР с флагом

    Как вы запускаете последовательность команд в командном инструменте?

    Есть ли какая-либо команда в Linux, которая заставит Linux-машину не выключать

    Linux и Unix - лучшая ОС в мире.