Kernel khusus: gagal memuat firmware saat modul terpasang


9

Saya ingin memiliki semua modul saya bawaan, tetapi ini gagal dengan iwlagn:

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

File mikrokode ada /lib/firmwaredan semuanya berfungsi dengan baik jika saya kompilasi iwlagnsebagai modul. Saya tidak tahu di mana mencari file atau apa yang salah - ada ide?


Sebaliknya, membuat jawaban baru sebagai komentar; EXTRA_FIRMWARE_DIR terkait dengan lokasi gumpalan firmware di lingkungan build; bukan target. lihat ( cateee.net/lkddb/web-lkddb/EXTRA_FIRMWARE_DIR.html )
orpheuswasrebornhere

Jawaban:


10

Lihat opsi CONFIG_FIRMWARE_IN_KERNEL,, CONFIG_EXTRA_FIRMWAREdan CONFIG_EXTRA_FIRMWARE_DIRkonfigurasi (ditemukan di Device Drivers -> Generic Driver Options ).

Opsi pertama akan mengaktifkan firmware yang dibangun di dalam kernel, yang kedua harus berisi nama file firmware (atau daftar nama yang dipisahkan ruang), dan yang ketiga di mana mencari firmware.

Jadi, dalam contoh Anda, Anda akan mengatur opsi itu ke:

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

Sebuah saran: Mengkompilasi semua modul ke dalam kernel bukanlah ide yang baik . Saya pikir saya mengerti ambisi Anda karena pada titik tertentu saya juga putus asa untuk melakukannya. Masalah dengan pendekatan tersebut adalah bahwa Anda tidak dapat membongkar modul begitu sudah built-in - dan, sayangnya terutama driver nirkabel cenderung buggy yang mengarah pada perlunya memuat ulang modul mereka. Juga, dalam beberapa kasus, versi modul dari driver terbaru tidak akan berfungsi.


Itu tidak lagi benar. Driver Intel stabil dan berfungsi baik selama berhari-hari tanpa perlu intervensi manual.
LtWorf

EXTRA_FIRMWARE hanya bekerja pada kernel 64bit sesuai dengan dokumentasi
dikembangkan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.