我正在通过 BuildRoot 为手臂目标构建内核版本 2.6.39.4。
我正在使用自定义defconfig
文件,并在其中添加了以下 3 个选项:
CONFIG_WIRELESS=y
CONFIG_WEXT_PRIV=y
CONFIG_WIRELESS_EXT=y
在内核生成的 .config
文件中,我在添加到defconfig
的 3 个文件中看到的唯一选项是CONFIG_WIRELESS=y
这正常吗?我知道一些内核配置选项是"隐藏的",但这会阻止它们出现在内核的最终.config
中吗?
WEST_PRIV
和 WIRELESS_EXT
都是盲选项(即它们没有提示,它们在 menuconfig/xconfig 中不可见(。
因此,您不能简单地在 .config(或 defconfig(文件中设置它们的值。
仅当另一个选项select
它们时,才会启用它们。
因此,您必须启用一些可见的相关选项,然后该选项将自动select
WEXT_PRIV
并WIRELESS_EXT
。
我遇到了同样的问题,我通过设置 CONFIG_HOSTAP=y 解决了它。此选项还会导致设置以下选项:
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_WLAN=y
CONFIG_LIB80211=y
CONFIG_LIB80211_CRYPT_WEP=y
CONFIG_LIB80211_CRYPT_CCMP=y
CONFIG_LIB80211_CRYPT_TKIP=y
我已经验证了在使用 buildroot 时,仅在 defconfig 中设置 CONFIG_HOSTAP=y 确实会导致在 .config 中启用上述选项。
以下是某些内核版本的解决方案:https://lkml.org/lkml/2019/9/6/787
此修补程序添加了选择 wext_* 配置的父级。稍后您需要转到主板配置,即:拱门/臂/配置/imx_v7_android_defconfig并添加行:CONFIG_WIRELESS_ALLCONFIG=y
然后重新编译内核,即:在安卓上,你这样做:制作 -J32 内核映像