ifup启动网卡wlxf4f26d13b2bd提示RTNETLINK设备或资源忙故障排查
故障触发原因
- 执行顺序冲突:从ifup的调试日志可以看出,
if-pre-up.d目录下的wpa_supplicant启动脚本会先执行,启动wpa_supplicant进程占用无线网卡,之后系统才会执行interfaces文件中配置的hwaddressMAC地址修改操作,此时网卡已被占用,修改MAC的ip link set命令触发「Device or resource busy」报错。 - MAC地址格式错误:你配置的MAC地址
2a:bf:x9:53:38:9d中包含非法字符x,MAC地址每段均为两位十六进制数,仅支持0-9、a-f、A-F字符,即使顺序正确也无法修改成功。 - 额外排查点:如果存在其他未关闭的网络管理服务(如systemd-networkd)接管了该无线网卡,也会触发设备忙报错。
解决方案
步骤1:修正网络配置
修改/etc/network/interfaces中无线网卡的配置,删除原有hwaddress行,新增pre-up提前执行MAC修改操作,同时修正MAC地址为合法值(将x替换为对应十六进制字符,示例中替换为c9,可根据实际需求调整):
# The wifi network interface iface wlxf4f26d13b2bd inet manual pre-up /sbin/ip link set dev wlxf4f26d13b2bd address 2a:bf:c9:53:38:9d wpa-driver nl80211 wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
pre-up指定的命令会在wpa_supplicant启动前执行,此时网卡未被占用,可正常修改MAC地址。
步骤2:清理残留状态
执行以下命令清理残留的进程和网卡状态:
# 先关闭网卡 ifdown wlxf4f26d13b2bd # 杀掉残留的wpa_supplicant进程 killall wpa_supplicant # 确认网卡处于关闭状态 ip link set wlxf4f26d13b2bd down
步骤3:重新激活网卡
执行以下命令激活无线网卡即可:
ifup wlxf4f26d13b2bd
额外排查
如果仍然报错,执行以下命令确认是否有其他服务占用网卡:
systemctl status systemd-networkd
如果systemd-networkd处于运行状态且配置了该网卡,可停止服务或删除对应网卡的配置文件后重试。
内容的提问来源于stack exchange,提问作者gioretikto
相关产品推荐
相关产品推荐

