Linux系统wlan0/wlan1未显示,加载compat-wireless执行make load时出现蓝牙相关错误求助
Linux系统wlan0/wlan1未显示,加载compat-wireless执行make load时出现蓝牙相关错误求助
兄弟,折腾两天确实够闹心的,我来帮你一步步拆解问题,先解决眼前的执行错误,再搞定无线网卡不显示的根源:
一、先解决make load的直接报错
1. 处理modprobe参数无效问题
你碰到的/sbin/modprobe: invalid option -- 'l',是因为这个2010年的compat-wireless脚本用了过时的modprobe参数,现在的系统已经不支持-l选项了:
- 打开compat-wireless目录下的
config.mk文件(路径:/home/dragonices/Downloads/compat-wireless-2010-10-10/config.mk),找到调用modprobe -l的代码行; - 把
-l参数删掉,或者替换成当前系统modprobe支持的参数:先执行modprobe --help查看可用选项,如果是要列出模块,换成lsmod或者modprobe --show-modversions即可; - 保存修改后重新执行
make load。
2. 处理蓝牙停止失败的问题
这个错误纯粹是脚本硬要停止蓝牙,但你的蓝牙本来就没在运行,两种解决方式:
- 先手动启动蓝牙服务:如果是systemd系统(比如Ubuntu 16.04+、CentOS 7+),执行
sudo systemctl start bluetooth;老sysvinit系统则执行sudo service bluetooth start,之后再跑make load; - 直接修改compat-wireless的加载脚本,找到停止蓝牙的代码段,注释掉跳过即可。
二、解决无线网卡不显示的核心问题
你用的compat-wireless-2010-10-10是13年前的老版本,和现在的Linux内核兼容性极差,这大概率是无线网卡不显示的根本原因,建议直接放弃这个老驱动包,换用适配当前内核的方案:
1. 先确认你的无线网卡型号
执行以下命令查看硬件信息:
# 查看PCI接口的无线网卡 lspci | grep Network # 查看USB接口的无线网卡 lsusb | grep Wireless
记下输出里的网卡型号(比如Realtek RTL8188EU、Broadcom BCM43142等)。
2. 安装对应型号的适配驱动
- Debian/Ubuntu系发行版:直接用包管理器装对应驱动,比如Realtek部分网卡可以装
rtl8xxxu-dkms,Broadcom网卡可以装bcmwl-kernel-source; - 其他发行版:根据网卡型号找官方适配的驱动,或者用dkms工具编译安装(dkms会自动适配当前内核版本)。
3. 检查无线模块加载情况
执行以下命令确认无线相关模块是否加载:
lsmod | grep wifi lsmod | grep wlan
如果没看到对应模块,手动加载试试(比如sudo modprobe rtl8188eu,替换成你的网卡模块名)。
三、关于CONFIG_CFG80211_WEXT的警告
这个警告是因为你的内核编译时关闭了旧的无线扩展接口(CONFIG_WIRELESS_EXT=n),导致iwconfig这类旧工具用不了,但现在新系统都用iw命令管理无线,执行iw dev就能查看无线网卡,没必要强行开启旧接口,除非你必须用老工具,那才需要重新编译内核开启CONFIG_WIRELESS_EXT。
备注:内容来源于stack exchange,提问作者Milton Santos
相关产品推荐
相关产品推荐

