0

Issue

The kernel I built/compiled, has erros loading the firmware for both the bluetooth and wifi as all modules are inbuilt

I ran

bret@asus:~$ sudo dmesg

Wifi Error

[    2.428254] rtl8723be: Using firmware rtlwifi/rtl8723befw_36.bin
[    2.428546] rtl8723be 0000:03:00.0: Direct firmware load for rtlwifi/rtl8723befw_36.bin failed with error -2
[    2.428596] rtl8723be 0000:03:00.0: Direct firmware load for rtlwifi/rtl8723befw.bin failed with error -2
[    2.428599] rtlwifi: Loading alternative firmware rtlwifi/rtl8723befw.bin
[    2.428601] rtlwifi: Selected firmware is not available

Bluetooth Error

[    3.273984] Bluetooth: hci0: rtl: examining hci_ver=06 hci_rev=000b lmp_ver=06 lmp_subver=8723
[    3.273991] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_config.bin
[    3.274046] bluetooth hci0: Direct firmware load for rtl_bt/rtl8723b_config.bin failed with error -2
[    3.274049] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_fw.bin
[    3.274076] bluetooth hci0: Direct firmware load for rtl_bt/rtl8723b_fw.bin failed with error -2
[    3.274078] Bluetooth: hci0: Failed to load rtl_bt/rtl8723b_fw.bin

I dont wish to compile loadable modules since it would not befit the purpose, like the solution given here

Hence how can I compile the firmware files for the wifi into the kernel itself or better yet make the kernel recognise them in

/lib/firmware/rtlwifi
  • This seems like a bug in that module. I suspect the developers intended it to work properly without recompiling at home. Is this a stock Ubuntu kernel, or did you add this module from someplace? – user535733 Sep 7 '18 at 13:14
  • I doubt the user is using Ubuntu as the linux-firmware package should be installed – Jeremy31 Sep 7 '18 at 14:44
  • I complied the kernel myself. The stock one works just fine. I wanted to make a custom kernel with all necessary mudules. Its the one which is failing to load the wifi driver's firmware – Bret Joseph Sep 7 '18 at 15:08
0

Generate a kernel configuration

After generating a config with

make localmodconfig
# then with a text editor find and replace =m with =y
gedit .config # find and replace =m with =y

or

make localyesconfig

Which I didn't try but i think it does the above a once. I haven't tried it.

Editing the configuration

gedit .config

Find the line with # Firmware loader My new config was edited to reflect

CONFIG_FW_LOADER=y
CONFIG_EXTRA_FIRMWARE="rtlwifi/rtl8723befw_36.bin rtl_bt/rtl8723b_fw.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"

After make and make install, the new kernel loads the firmware correctly and nicely now I am running with a bug-less compact kernel

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.