3

Ubuntu WIFI hardware-disable 解决办法

 2 years ago
source link: https://www.r9it.com/20211128/wifi-hardware-disable.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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-wirelessphy0,所以猜测这两个模块可能有冲突。

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK