联想 Thinkpad X1 Carbon(第 7 代)、英特尔 AC-9560 上的 Ubunutu 18.04 wifi 连接出现问题

联想 Thinkpad X1 Carbon(第 7 代)、英特尔 AC-9560 上的 Ubunutu 18.04 wifi 连接出现问题

我是一名 Ubuntu 新手,我的 wifi 卡有点问题。这是我的设置:我在一台第 7 代 Thinkpad X1 Carbon 上安装了 Windows 10 和 Ubuntu 18.04 双启动系统。2020 年 1 月,我第一次在机器上安装 Ubunutu 时,它无法检测到无线网卡。我尝试安装正确的驱动程序,但没有任何效果,所以我的一位朋友自己编写了一个驱动程序,让 wifi 正常工作。(不幸的是,我没有他编写的副本。)

上周末,我尝试将蓝牙键盘连接到笔记本电脑,但这似乎干扰了 wifi 连接,使其速度大大降低。我没有想到我的朋友编写了一些奇怪的驱动程序,而是尝试按照以下帖子修复蓝牙问题:wifi 和蓝牙不能同时工作。具体来说,我尝试过

sudo tee /etc/modprobe.d/iwlwifi-opt.conf <<< "options iwlwifi bt_coex_active=N"

然后重启。这似乎没用,所以我通过以下方式删除了它

sudo rm /etc/modprobe.d/iwlwifi-opt.conf

这些命令导致互联网连接非常不稳定——连接会断断续续地恢复。经过一番搜索,我偶然发现了这篇文章 升级到 15.04 后,Intel 7260 + iwlwifi 的无线不稳定,这似乎与我的问题几乎完全吻合。因此,我尝试从 [wireless.wiki.kernel.org/en/users/drivers/iwlwifi] 安装适当的驱动程序,但没有解决任何问题。但是,那篇帖子让我想到https://forum.ubuntu-fr.org/viewtopic.php?pid=22251520#p22251520——当我跑步的时候

sudo apt install git build-essential
git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwif/backport-iwlwifi.git
cd backport-iwlwifi
make defconfig-iwlwifi-public
sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config
make -j4
sudo make install
cd /lib/firmware
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-9000-pu-b0-jf-b0-38.ucode
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-9260-th-b0-jf-b0-38.ucode

Ubuntu 完全停止检测任何 wifi 适配器,所以现在我不知道该怎么办。

以下是通过查看类似帖子发现的一些重要的命令的输出:

输出自lspci -knn | grep Net -A3; rfkill list

00:14.3 Network controller [0280]: Intel Corporation Device [8086:02f0]
    Subsystem: Intel Corporation Device [8086:0030]
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi
0: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

输出自dmesg | grep iwl

[    5.317830] Loading modules backported from iwlwifi
[    5.317831] iwlwifi-stack-public:master:8324:9176b151
[    5.385415] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[    5.401853] iwlwifi 0000:00:14.3: Direct firmware load for iwl-dbg-cfg.ini failed with error -2
[    5.402022] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-55.ucode failed with error -2
[    5.402116] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-54.ucode failed with error -2
[    5.402211] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-53.ucode failed with error -2
[    5.402222] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-52.ucode failed with error -2
[    5.402232] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-51.ucode failed with error -2
[    5.402454] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-50.ucode failed with error -2
[    5.402465] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-49.ucode failed with error -2
[    5.404064] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 43.2.23.17
[    5.404066] iwlwifi 0000:00:14.3: Found debug destination: EXTERNAL_DRAM
[    5.404067] iwlwifi 0000:00:14.3: Found debug configuration: 0
[    5.404286] iwlwifi 0000:00:14.3: loaded firmware version 48.13675109.0 QuZ-a0-jf-b0-48.ucode op_mode iwlmvm
[    5.404304] iwlwifi 0000:00:14.3: Direct firmware load for iwl-debug-yoyo.bin failed with error -2
[    5.442441] RIP: 0010:iwl_op_mode_mvm_start+0xa8/0xb50 [iwlmvm]
[    5.442479]  _iwl_op_mode_start.isra.6+0x47/0x80 [iwlwifi]
[    5.442489]  iwl_opmode_register+0x88/0xe0 [iwlwifi]
[    5.442510]  __init_backport+0x3d/0x1000 [iwlmvm]
[    5.442565] Modules linked in: iwlmvm(OE+) snd_soc_core aesni_intel(+) snd_compress ac97_bus snd_pcm_dmaengine btusb crypto_simd mac80211(OE) btrtl cryptd libarc4 btbcm glue_helper drm_kms_helper fjes(-) uvcvideo btintel iwlwifi(OE) intel_cstate snd_hda_intel videobuf2_vmalloc drm bluetooth videobuf2_memops snd_intel_dspcfg videobuf2_v4l2 snd_hda_codec videobuf2_common snd_hda_core snd_seq_midi videodev snd_seq_midi_event thinkpad_acpi(+) snd_hwdep processor_thermal_device i2c_algo_bit intel_lpss_pci(+) ecdh_generic cfg80211(OE) fb_sys_fops intel_lpss nvram intel_wmi_thunderbolt serio_raw wmi_bmof input_leds mc ledtrig_audio ecc snd_pcm snd_rawmidi intel_rapl_common mei_me idma64 syscopyarea compat(OE) virt_dma mei sysfillrect ucsi_acpi sysimgblt intel_soc_dts_iosf typec_ucsi snd_seq typec snd_seq_device snd_timer snd int3403_thermal soundcore int340x_thermal_zone mac_hid int3400_thermal acpi_thermal_rel acpi_pad acpi_tad sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4
[    5.442623] RIP: 0010:iwl_op_mode_mvm_start+0xa8/0xb50 [iwlmvm]

输出自lspci -nnk | grep 0280 -A3

00:14.3 Network controller [0280]: Intel Corporation Device [8086:02f0]
    Subsystem: Intel Corporation Device [8086:0030]
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi

我很乐意发布修复此问题所需的更多输出,但目前我不确定什么才是有用的,所以请告诉我。感谢您的帮助。

答案1

在我们找到更多信息之前,这只是部分答案。

Ubuntu 完全停止检测任何 wifi 适配器,所以现在我不知道该怎么办。

让我们撤消禁用无线的步骤。从终端:

cd backport-iwlwifi
sudo make uninstall

重启。现在无线网络可以正常工作了,尽管不太稳定?

sudo tee /etc/modprobe.d/iwlwifi-opt.conf <<< “选项 iwlwifi bt_coex_active=N”

我认为这个想法是为了让无线驱动程序和蓝牙共存。请尝试:

sudo tee /etc/modprobe.d/iwlwifi-opt.conf <<< "options iwlwifi bt_coex_active=Y"

也就是说,“是的,我确实希望 Wi-Fi 和蓝牙共存。”然后:

sudo modprobe -r iwlwifi
sudo modprobe iwlwifi bt_coex_active=Y   

有沒有改善?

编辑:由于蓝牙频率与 2.4 gHz wifi 信道重叠,您可能会发现在 wifi 中仅使用 5 gHz 信道可以提高性能。由于大多数消费级路由器默认设置为对两个段使用相同的 SSID 或路由器名称,并且还启用了信道的自动选择,因此您的 wifi 很可能在 2.4 和 5 gHz 信道之间漫游。您可以通过将段重命名为不同的名称(例如 chili2.4 和 chili5 等)来避免这种情况。进行此更改后,连接到 chili5;也就是说,仅使用 5 gHz 信道。

您还可以采取几个步骤来优化无线连接。首先,检查路由器中的设置。首选 WPA2-AES;而不是任何 WPA 和 WPA2 混合模式,当然也不是 TKIP。其次,如果您的路由器支持 N 速度,那么在 2.4 GHz 频段使用 20 MHz 的信道宽度(而不是自动 20/40 MHz)可能会获得更好的连接,尽管它可能会影响 N 速度。我建议使用固定信道,1、6 或 11,而不是自动信道选择。此外,请确保路由器未设置为仅使用 N 速度;首选自动 B、G 和 N。进行这些更改后,重新启动路由器。

接下来,我建议明确设置你的监管范围。检查你的:

sudo iw reg get

如果您选择 00,则这是一个通用的设置。请在此处查找您的设置:http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2然后暂时设置一下:

sudo iw reg set IS

当然,如果不是冰岛,请替换您的国家代码。永久设置它:

sudo nano /etc/default/crda

将最后一行改为:

REGDOMAIN=IS

仔细校对,保存并关闭文本编辑器。

编辑2:让我们尝试更新固件文件。从终端:

wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.189_all.deb
sudo dpkg -i linux-*.deb

重新启动并让我们看到另一段粘贴内容:

ping -c10 www.ubuntu.com
dmesg | grep -e wlp -e iwl

http://paste.ubuntu.com

编辑3:我建议您删除经常被证明会带来麻烦的 backport 包:

sudo apt purge backport-iwlwifi-dkms

重新启动并让我们听到结果。

相关内容