Ubuntu WIFI hardware-disable 解决办法
和菜头
大多数时候,人不能被举起来摔在地上,人都是被自己的重量所绊倒的。
最近由于工作需要,拿出妻子在 2011 年买的那款古老的 GateWay
(acer) 笔记本来使用。这台 10 年前的笔记本今天来用确实是比较卡,但是把机械硬盘换成 SSD, 加了一根内存之后发现速度也还勉强能用。
拿到机器第一件事情就是把 Window7 格式化,装了 Ubuntu20.04,系统装完之后发现无线网卡没法启用,报错是 wifi hardware disabled
。
# 排查尝试
遇到这个问题,我首先瞪大眼睛巡视了电脑一圈,没有发现有小的硬件开关,然后又在键盘的 FN 键上找了一圈,没有发现类似关闭 WIFI 的键,最后又不甘心的每个 FN 组合件都试了一下,发现依然无效。
直觉高速我,应该不是网卡硬件故障,否则应该无法识别硬件,而我使用 ifconfig -a
命令查询的时候明显能够列出那张无线网卡。
ifconfig -a
wlp3s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 20:6a:8a:54:a4:5e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19
但是此时有点病急乱投医了,想进一步确定到底是硬件原因还是软件原因,于是去京东商城买了一张支持 Linux 的 USB 无线网卡,我首先在我的台式机上编译了驱动装上之后,WIFI 能够正常工作。
然后再到笔记本上装一下,发现 USB WIFI 也提示 wifi hardware disabled
。此时我已经能基本肯定是系统而并非硬件问题了。
应该是系统内核禁用了 WIFI 的功能,使用 rfkill
检查一下:
0: acer-wireless: Wireless LAN
Soft blocked: no
Hard blocked: no
1: acer-bluetooth: Bluetooth
Soft blocked: yes
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: yes
显然当前 Wireless 设备是被 Hard blocked
了。
# 解决方案
网上一顿搜索,看到有网友提醒说可能是硬件冲突了。回想一下我运行 rfkill list
的时候显示了两个无线模块: acer-wireless
和 phy0
,所以猜测这两个模块可能有冲突。
lsmod | grep acer
发现系统启动了 acer_wmi
模块:
root@YSS:~# lsmod | grep acer
acer_wmi 24576 0
sparse_keymap 16384 1 acer_wmi
wmi 32768 2 acer_wmi,wmi_bmof
video 53248 2 acer_wmi,i915
于是果断禁用 acer_wmi
模块:
vim /etc/modprobe.d/blacklist.conf
# 在文件末尾增加 `blacklist acer_wmi`,保存并退出。
其实发现系统默认还禁用了很多过时或者弃用的模块,blacklist.conf
完整配置如下:
# This file lists those modules which we don't want to be loaded by
# alias expansion, usually so some other driver will be loaded for the
# device instead.
# evbug is a debug tool that should be loaded explicitly
blacklist evbug
# these drivers are very simple, the HID drivers are usually preferred
blacklist usbmouse
blacklist usbkbd
# replaced by e100
blacklist eepro100
# replaced by tulip
blacklist de4x5
# causes no end of confusion by creating unexpected network interfaces
blacklist eth1394
# snd_intel8x0m can interfere with snd_intel8x0, doesn't seem to support much
# hardware on its own (Ubuntu bug #2011, #6810)
blacklist snd_intel8x0m
# Conflicts with dvb driver (which is better for handling this device)
blacklist snd_aw2
# replaced by p54pci
blacklist prism54
# replaced by b43 and ssb.
blacklist bcm43xx
# most apps now use garmin usb driver directly (Ubuntu: #114565)
blacklist garmin_gps
# replaced by asus-laptop (Ubuntu: #184721)
blacklist asus_acpi
# low-quality, just noise when being used for sound playback, causes
# hangs at desktop session start (Ubuntu: #246969)
blacklist snd_pcsp
# ugly and loud noise, getting on everyone's nerves; this should be done by a
# nice pulseaudio bing (Ubuntu: #77010)
blacklist pcspkr
# EDAC driver for amd76x clashes with the agp driver preventing the aperture
# from being initialised (Ubuntu: #297750). Blacklist so that the driver
# continues to build and is installable for the few cases where its
# really needed.
blacklist amd76x_edac
# added by rock 2021-11-26 for WIFI hardware-disable bug
blacklist acer_wmi
重启之后发现 WIFI 已经能够自动开启了,rfkill 结果也正常了。
root@YSS:~# rfkill list all
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
# 参考链接
如果您觉得本文对您有用,可以请作者喝杯咖啡。 如需商务合作请加微信(点击右边链接扫码): RockYang
版权申明 : 本站博文如非注明转载则均属作者原创文章,引用或转载请注明出处,如要商用请联系作者,谢谢。