我是 Linux 和 Ubuntu 的新手,我刚刚设法在双启动中将 Ubuntu 18.04.3 LTS 安装到我的 Lenovo X1 Carbon Gen 7 上。从 Windows 设备管理器中,我可以看到我的 WiFi 卡是Intel(R) Wireless AC 9650 160MHz
。问题是,目前我无法连接到 WiFi,因为设置中的 WiFi 面板显示“未找到 WiFi 适配器”。这些是我到目前为止所做的事情:
- 已禁用安全启动
- 从以下位置安装了上述 wifi 卡的驱动程序https://www.intel.com/content/www/us/en/support/articles/000005511/network-and-io/wireless-networking.html并将其放入
/lib/firmware
。
我也无法使用以太网在 Ubuntu 中连接到互联网。我希望有人能为我提供一个解决方案,让我使用 wifi 连接到互联网(也可以使用以太网,但重点是 wifi)。我对 Linux 还很陌生,所以我不知道您还需要什么信息。如果您需要我提供更多信息来更好地帮助我,请告诉我。非常感谢您的帮助。
输出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
输出dmesg | grep iwl
:
[ 2.305197] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 2.323471] iwlwifi 0000:00:14.3: loaded firmware version 43.95eb4e97.0 op_mode iwlmvm
[ 2.352746] iwlwifi 0000:00:14.3: Detected Intel(R) Dual Band Wireless AC 9560, REV=0x354
[ 7.381803] iwlwifi 0000:00:14.3: Failed to load firmware chunk!
[ 7.381815] iwlwifi 0000:00:14.3: iwlwifi transaction failed, dumping registers
[ 7.381820] iwlwifi 0000:00:14.3: iwlwifi device config registers:
[ 7.381874] iwlwifi 0000:00:14.3: 00000000: 02f08086 00100406 02800000 00800000 ea238004 00000000 00000000 00000000
[ 7.381882] iwlwifi 0000:00:14.3: 00000020: 00000000 00000000 00000000 00308086 00000000 000000c8 00000000 000001ff
[ 7.381886] iwlwifi 0000:00:14.3: iwlwifi device memory mapped registers:
[ 7.381925] iwlwifi 0000:00:14.3: 00000000: 00489004 00000040 00000000 00000000 00000000 00000000 00000000 00000000
[ 7.381932] iwlwifi 0000:00:14.3: 00000020: 00000011 0c040005 00000351 d55555d5 d55555d5 d55555d5 80008040 001f0040
[ 7.381952] iwlwifi 0000:00:14.3: Could not load the [0] uCode section
[ 7.381980] iwlwifi 0000:00:14.3: Failed to start INIT ucode: -110
[ 7.381987] iwlwifi 0000:00:14.3: Collecting data: trigger 15 fired.
[ 7.608162] iwlwifi 0000:00:14.3: Failing on timeout while stopping DMA channel 8 [0x0bad1122]
[ 7.620281] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110
编辑:
我按照@chili555 建议的步骤操作,但还是没有效果。下面是dmesg | grep iwl
运行命令后的输出:
[ 2.327945] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 2.339990] iwlwifi 0000:00:14.3: loaded firmware version 43.95eb4e97.0 op_mode iwlmvm
[ 2.383702] iwlwifi 0000:00:14.3: Detected Intel(R) Dual Band Wireless AC 9560, REV=0x354
[ 7.633032] iwlwifi 0000:00:14.3: Failed to load firmware chunk!
[ 7.633042] iwlwifi 0000:00:14.3: iwlwifi transaction failed, dumping registers
[ 7.633047] iwlwifi 0000:00:14.3: iwlwifi device config registers:
[ 7.633235] iwlwifi 0000:00:14.3: 00000000: 02f08086 00100406 02800000 00800000 ea238004 00000000 00000000 00000000
[ 7.633242] iwlwifi 0000:00:14.3: 00000020: 00000000 00000000 00000000 00308086 00000000 000000c8 00000000 000001ff
[ 7.633245] iwlwifi 0000:00:14.3: iwlwifi device memory mapped registers:
[ 7.633282] iwlwifi 0000:00:14.3: 00000000: 00489004 00000040 00000000 00000000 00000000 00000000 00000000 00000000
[ 7.633288] iwlwifi 0000:00:14.3: 00000020: 00000011 0c040005 00000351 d55555d5 d55555d5 d55555d5 80008040 001f0040
[ 7.633307] iwlwifi 0000:00:14.3: Could not load the [0] uCode section
[ 7.633330] iwlwifi 0000:00:14.3: Failed to start INIT ucode: -110
[ 7.633336] iwlwifi 0000:00:14.3: Collecting data: trigger 15 fired.
[ 7.853989] iwlwifi 0000:00:14.3: Failing on timeout while stopping DMA channel 8 [0x0bad1122]
[ 7.866822] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110
我对这个几乎一无所知,但它似乎仍在使用固件版本 43 而不是 46。
编辑2:
我添加了运行的输出sudo dpkg -i linux*.deb
:
architkithania@x1cg7:~/Desktop$ sudo dpkg -i linux*.deb
[sudo] password for architkithania:
(Reading database ... 126754 files and directories currently installed.)
Preparing to unpack linux-firmware_1.183.2_all.deb ...
Unpacking linux-firmware (1.183.2) over (1.183.2) ...
Setting up linux-firmware (1.183.2) ...
update-initramfs: Generating /boot/initrd.img-5.0.0-23-generic
architkithania@x1cg7:~/Desktop$
编辑3:
感谢@chili555和@Pilot6的所有帮助。最后,我决定使用Ubuntu 19.10,WiFi在其中完美运行。这个结果让我相信错误实际上是由Linux固件43引起的。19.10使用Linux固件48,一切正常。我相信使用此更新Linux固件关联@Pilot6 提供的解决方案实际上应该可以让 18.04 上的问题消失,但由于 19.10 上一切正常,而且下一个 LTS 版本即将发布,所以我暂时会坚持使用 19.10,因此无法检查 @Pilot6 解决方案是否有效。感谢您的帮助。Ubuntu 社区真的很棒。
答案1
我们发现您的系统加载了固件版本 -43 并崩溃了。此错误报告建议固件版本 -46 将纠正此问题:https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1828133
-46 版本现已包含在最新版本中Linux 固件包。请在另一台计算机上下载此包,并将其传输到 Ubuntu 计算机上。http://security.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.183.2_all.deb为了方便起见,请将其拖放到 Ubuntu 计算机的桌面上。
现在打开终端并执行:
cd "$(xdg-user-dir DESKTOP)"
sudo dpkg -i linux*.deb
重新启动并显示:
dmesg | grep iwl
答案2
您可以通过更新系统来修复此错误。通过有线方式连接到互联网并运行:
sudo apt update
sudo apt upgrade
该过程完成后,重新启动,Wi-Fi 即可正常工作。
将会linux-firmware
更新为工作版本。
如果没有无线连接,更新系统会很困难,请下载http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.173.12_all.deb,将其复制到您的桌面并运行:
sudo apt remove linux-firmware
cd "$(xdg-user-dir DESKTOP)"
sudo dpkg -i linux-firmware_1.173.12_all.deb
答案3
我无法使用上述任何步骤组合在我的 X1C7 上全新安装的 18.04 版本上运行 wifi,但是这个(从这里复制:https://ubuntuforums.org/showthread.php?t=2400595)成功了
sudo apt install git build-essential
git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/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
答案4
我有一台 Lenovo-IdeaPad-S340-15IIL,在安装 Ubuntu 18.04 时遇到了很多问题,包括这个。
- 我建议不要使用 Rufus 来制作可启动的 USB。只需将 U 盘格式化为 FAT32 并将安装的 ISO 文件复制到 USB 即可。
- 在启动时,按 F2 进入 BIOS 并禁用可切换显卡,否则 USB 将无法启动。
- 安装Ubuntu并启动系统。
- 使用以下命令修复 WiFi:
sudo apt install git build-essential
git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/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