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

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

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

  • Отключить прерывания GPE ACPI при загрузке?
  • Скобки в условии if: почему я получаю синтаксические ошибки без пробелов?
  • Как использовать параметр EXTRA_FIRMWARE_DIR?
  • Как запустить мой USB-адаптер RTL8191SU Wi-Fi в режиме монитора в Linux?
  • Обработать список файлов с пробелом в именах файлов
  • Исправление прошивки - Debian 8.5 новая установка на Satellite Toshiba
  • Robolinux Live на микропрограмме Dell 5559 i7 6500U
  • Требуется ли для драйвера ядра amdgpu загрузить несвободную прошивку?
  • 2 Solutions collect form web for “Почему некоторые драйверы по-прежнему требуют прошивки?”

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

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

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

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

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

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

    Interesting Posts

    Система загружается только с вставленным компакт-диском

    Куда ушло 47 гигабайт пространства?

    Есть ли какой-либо конкретный риск, связанный с использованием одного и того же пароля для кошельков root, kde и ключей?

    Как применить патч ядра xenomai на debian?

    Qubes (Fedora 23) не войдет в систему

    Моя awk-программа для изменения пробелов в вкладках не работает

    Heartbeat не работает. Порт не открыт

    Установка кросс-инструментальной цепочки для создания бинарных файлов ARM в Debian

    GCC: установить архитектуру для перехода к компоновщику

    Могу ли я использовать Unix для балансировки нагрузки на два сервера Linux?

    Использование пользовательского имени для корневого устройства в GRUB

    Команда для печати содержимого перед символом (последний символ в строке)

    Замените данные на определенный символ, затем измените значение после x строк

    Как удалить Dropbox

    Как установить Fedora 18 без SELinux?

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