Спеціальне ядро: не вдається завантажити прошивку при вбудованому модулі


9

Я б хотів, щоб усі мої модулі були вбудовані, але це не вдається iwlagn:

iwlagn 0000:03:00.0: request for firmware file 'iwlwifi-6000-4.ucode' failed.
iwlagn 0000:03:00.0: no suitable firmware found!

Файл мікрокоду існує, /lib/firmwareі все це працює чудово, якщо я компілюю iwlagnяк модуль. Я поняття не маю, де він шукає файл, або що не так - якісь ідеї?


Створення нової відповіді замість коментаря; EXTRA_FIRMWARE_DIR відповідає місцям блоку прошивки у середовищі збирання; не ціль. див. ( cateee.net/lkddb/web-lkddb/EXTRA_FIRMWARE_DIR.html )
orpheuswrebornhere

Відповіді:


10

Ознайомтеся з параметрами CONFIG_FIRMWARE_IN_KERNEL, CONFIG_EXTRA_FIRMWAREта CONFIG_EXTRA_FIRMWARE_DIRконфігурації (знайдені у драйверах пристроїв -> Загальні параметри драйвера ).

Перший варіант дозволить вбудувати прошивку в ядро, другий повинен містити назву файлу мікропрограмного забезпечення (або список розділених пробілом імен), а третій, де шукати прошивку.

Отже, у своєму прикладі ви встановите ці параметри:

CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE='iwlwifi-6000-4.ucode'
CONFIG_EXTRA_FIRMWARE_DIR='/lib/firmware'

Слово поради: компілювати всі модулі в ядро ​​- це не дуже гарна ідея . Я думаю, що я розумію твої амбіції, тому що я в якийсь момент теж відчайдушно став це робити. Проблема такого підходу полягає в тому, що ви не можете вивантажити модуль, коли він вбудований - і, на жаль, особливо бездротові драйвери мають тенденцію бути помилковими, що призводить до необхідності повторного завантаження їх модулів. Також у деяких випадках версія модуля недавнього драйвера просто не працюватиме.


Це вже не так. Драйвери Intel стабільні і працюють нормально протягом днів, не потребуючи жодного ручного втручання.
LtWorf

EXTRA_FIRMWARE працює лише на 64-бітових ядрах згідно з документацією
заарештовано
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.