编译OpenWrt时缺少btusb.ko模块

编译OpenWrt时缺少btusb.ko模块

我想按照本教程构建 OpenWrt:

https://devzone.nordicsemi.com/blogs/663/6lowpan-for-bluetooth-low-energy-on-openwrt/

但是在编译过程中我收到以下错误:ERROR: module '/home/mkru/Desktop/lowpan/openwrt/build_dir/target-mipsel_mips32_musl-1.1.14/linux-brcm47xx_generic/linux-3.18.29/drivers/bluetooth/btusb.ko' is missing.

我尝试过使用 menuconfig,但 btusb 没有出现在内核模块 -> USB 支持或内核模块 -> 其他模块选项卡中。

在目录中/home/mkru/Desktop/lowpan/openwrt/build_dir/target-mipsel_mips32_musl-1.1.14/linux-brcm47xx_generic/linux-3.18.29/drivers/bluetooth/

我可以找到文件 btusb.c 但看起来它在构建过程中没有编译到 btusb.ko 中。

我不熟悉所有 Linux 内核构建问题,也不知道如何以正确的方式解决我的问题。我可以手动编译这个文件吗?

答案1

Linux 内核有一个构建配置文件,使您能够选择您想要和不想要的功能。您需要选择该功能。

如果您的源树从根开始,您可以执行以下操作:

# make menuconfig

此时,您可以输入/并按CONFIG_BT_HCIBTUSB回车键。您应该会看到类似以下内容的内容:

Symbol: BT_HCIBTUSB [=n]                                                                                                                                          
Type  : tristate
Prompt: HCI USB driver
Location:
  -> Networking support (NET [=y])
(1)   -> Bluetooth subsystem support (BT [=n])
        -> Bluetooth device drivers
  Defined at drivers/bluetooth/Kconfig:21
  Depends on: NET [=y] && BT [=n] && USB [=y]
  Selects: BT_INTEL [=n]

此时,按下1将带您进入标记为的配置选项(1)

< > HCI USB driver (NEW)

按一次空格键将其配置为构建为模块。第二次按空格键将选择将其内置到内核映像中:

<*> HCI USB driver (NEW)

现在,当您退出配置工具并重建内核时,该可选功能将包含在构建中。

相关内容