我无法从笔记本电脑连接 WiFi。它一直运行良好,直到最近才恢复。Linux 固件已更新。
我没有立即注意到这一点,因为我通常通过以太网连接我的笔记本电脑 - 这样就可以正常工作。
笔记本这边好像出了点问题。如何排除硬件故障?
细节:
我终于想起来看看 dmesg,发现
它试图加载 iwlwifi-7265D-19.ucode 或 iwlwifi-7265D-18.ucode,但我只有 10,12,13,16,17,21,22,27,29
所以我尝试(作为权宜之计)
sudo ln -sf iwlwifi-7265D-17.ucode iwlwifi-7265D-19.ucode
消除了错误:
bigbird@sananda:/lib/firmware$ dmesg -T | grep wifi
[Sun Feb 18 01:48:52 2018] iwlwifi 0000:07:00.0: loaded firmware version 17.352738.0 op_mode iwlmvm
[Sun Feb 18 01:48:53 2018] iwlwifi 0000:07:00.0: Detected Intel(R) Dual Band Wireless AC 7265, REV=0x210
[Sun Feb 18 01:48:53 2018] iwlwifi 0000:07:00.0: L1 Enabled - LTR Enabled
[Sun Feb 18 01:48:53 2018] iwlwifi 0000:07:00.0: L1 Enabled - LTR Enabled
[Sun Feb 18 01:48:53 2018] iwlwifi 0000:07:00.0 wlp7s0: renamed from wlan0
bigbird@sananda:/lib/firmware$
但没有解决问题。
bigbird@sananda:/lib/firmware$ rfkill unblock wifi
bigbird@sananda:/lib/firmware$ rfkill unblock wlan
bigbird@sananda:/lib/firmware$ rfkill list
0: Toshiba Bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: yes
bigbird@sananda:/lib/firmware$
我发现了这一点,但不太明白:
https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/core_release
虽然上面贴满了“使用寿命终止”的告示,但这台笔记本才几年历史。
硬件:
东芝 Satellite S55 C5274
Ubuntu 16.04
Technicolor Gateway TC8717(BATC8717T V4)
我的智能手机可以正常访问 WiFi,所以它已启动。
我可以通过以太网电缆访问我的网关,并且一切看起来都很好。
跑步
rfkill unblock wifi
或 wlan,无论是否带有 sudo 都只会影响软阻止。
我键盘上的 wifi 开关可以打开和关闭软阻止,但保留硬阻止。
我愿意不是我的笔记本电脑上运行着防火墙,并且使用 iptables 阻止了一个完全外部的 IP。
sudo lshw
显示:
*-pci:1
description: PCI bridge
product: Wildcat Point-LP PCI Express Root Port #3
vendor: Intel Corporation
physical id: 1c.2
bus info: pci@0000:00:1c.2
version: e3
width: 32 bits
clock: 33MHz
capabilities: pci normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:43 memory:b3300000-b33fffff
*-network DISABLED
description: Wireless interface
product: Wireless 7265
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:07:00.0
logical name: wlp7s0
version: 61
serial: dc:53:60:cb:27:17
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=4.4.0-112-generic firmware=17.352738.0 latency=0 link=no mu$
resources: irq:53 memory:b3300000-b3301fff
bigbird@sananda:~/bin$ sudo ip -a link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 54:ab:3a:0d:4f:a4 brd ff:ff:ff:ff:ff:ff
3: wlp7s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether dc:53:60:cb:27:17 brd ff:ff:ff:ff:ff:ff
bigbird@sananda:~/bin$
答案1
终于让 WiFi 可以使用了——使用外部适配器!只花了 11 个月。
首先,我尝试了 Penguin PAU06 适配器,但即使有他们的支持,我还是无法让它工作。
我刚刚从 ThinkPenguin 购买了另一个 WiFi 适配器,一开始,它也没有用。但他们提供了有关如何禁用内置 WiFi 卡(笔记本电脑内部)的说明,这才使得 ThinkPenguin 适配器可以工作。它也使得 Panda 可以工作。
诀窍是:
找到它的ID(我不确定它是什么类型的ID。我认为它是一个硬件设备ID):
bigbird@sananda:~$ realpath /sys/class/ieee80211/phy0 | cut -f 6 -d '/'
0000:07:00.0
然后创建一个udev
禁用它的规则并将其放入/etc/udev/rules.d/81-wireless-pci.rules
:
ACTION=="add", KERNEL=="0000:07:00.0", SUBSYSTEM=="pci", RUN+="/bin/sh -c 'echo 1 > /sys/bus/pci/devices/0000:07:00.0/remove'"
请注意,上述命令中的两个位置都插入了 ID。其他系统上的实际 ID 可能有所不同。
我不确定是否有必要,但我添加上述文件后重新启动了。
由于寻找可以在 Linux 上运行的 USB WiFi 适配器显然比让视频卡运行更困难,因此下面列出了现在在我的系统上运行的两种型号:
Panda PAU06 - N300
ThinkPenguin TPE-N150USB - N150