我的 Ubuntu 中的 wifi 有问题。它在 W10 中运行良好,但在 Ubuntu 中没有可见的适配器。我尝试了不同版本的 Ubuntu,现在我用的是20.04
。
uname -a
Linux F6-Plus 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
当我lspci
在终端执行时,没有有关网络控制器的信息。
之后我执行:
echo 1 | sudo tee /sys/bus/pci/rescan
如果我lspci
在此之后执行,将显示有关网络控制器的信息
02:00.0 Network controller: Intel Corporation Wireless 3165 (rev 79)
Wi-Fi 仍然无法使用,但控制器似乎在那里。如果我重新启动并执行,则lspci
不会再出现有关网络控制器的信息。
我很迷茫,不知道该如何解决这个问题。
谢谢
编辑1添加更多信息
sudo dmesg modprobe iwlwifi && dmesg | grep -e wlp -e iwl
没有什么。
做完之后echo 1 | sudo tee /sys/bus/pci/rescan
sudo dmesg modprobe iwlwifi && dmesg | grep -e wlp -e iwl
[ 159.974862] iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
[ 159.975268] iwlwifi 0000:02:00.0: HW_REV=0xFFFFFFFF, PCI issues?
[ 159.998862] iwlwifi: probe of 0000:02:00.0 failed with error -5
dmesg | grep 02:00
[ 4.545917] Goodix-TS i2c-GDIX1002:00: i2c-GDIX1002:00 supply AVDD28 not found, using dummy regulator
[ 4.545940] Goodix-TS i2c-GDIX1002:00: i2c-GDIX1002:00 supply VDDIO not found, using dummy regulator
[ 4.548360] Goodix-TS i2c-GDIX1002:00: i2c test failed attempt 1: -121
[ 4.573798] Goodix-TS i2c-GDIX1002:00: i2c test failed attempt 2: -121
[ 4.601624] Goodix-TS i2c-GDIX1002:00: I2C communication failure: -121
[ 4.601749] Goodix-TS: probe of i2c-GDIX1002:00 failed with error -121
[ 159.971421] pci 0000:02:00.0: [8086:3165] type 00 class 0x028000
[ 159.971817] pci 0000:02:00.0: reg 0x10: [mem 0x00000000-0x00001fff 64bit]
[ 159.972300] pci 0000:02:00.0: Upstream bridge's Max Payload Size set to 128 (was 256, max 256)
[ 159.972318] pci 0000:02:00.0: Max Payload Size set to 128 (was 128, max 128)
[ 159.973158] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[ 159.974677] pci 0000:02:00.0: BAR 0: assigned [mem 0x80100000-0x80101fff 64bit]
[ 159.974862] iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
[ 159.975268] iwlwifi 0000:02:00.0: HW_REV=0xFFFFFFFF, PCI issues?
[ 159.998862] iwlwifi: probe of 0000:02:00.0 failed with error -5
无线网卡焊接在主板上,它不是外部 pci 适配器。
答案1
我最终让我的适配器在 Teclast F6 plus 上工作。
关键是更新 BIOS 设置。以下是适合我的配置:
BIOS
- 确保 D3Cold 已启用(默认配置即可)
- 芯片组 > PCI Express 配置 > PCI Express 根端口2(这是卡使用的)
- 热插拔:
enabled
- 发射器半摆:
enabled
- 额外预留巴士:7
- 热插拔:
强制 PCI 重新扫描
正如 OP 所说,除非强制进行 pci 重新扫描,否则不会列出该卡。
我设置了一个小型的 systemd 服务,在启动时启用
/opt/pci/rescan.sh
#!/bin/sh
set -e
echo 1 | tee /sys/bus/pci/rescan
lspci | grep 02:00.0
/etc/systemd/system/pci-rescan.service
[Unit]
Description=PCI rescan
[Service]
Type=oneshot
ExecStart=/opt/pci/rescan.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
# setup and enable as root
chmod a+x /opt/pci/rescan.sh
systemctl enable pci-rescan
systemctl start pci-rescan
现在界面出现了,我可以使用它了(wls1
在我的 Arch 系统上命名)。例如使用 nmcli:
nmcli d wifi connect <SSID> password <password> ifname wls1