最近我在 MSI GS63VR 笔记本电脑上安装了 Ubuntu 16.04,并安装了双启动(Windows 10)。这台笔记本电脑配有 Killer 1535 Wi-Fi 适配器(带 QCA6174 芯片)。我遵循指示在他们的官方网站上:
Ubuntu 16.04
内置驱动程序无需任何更改即可工作,但您可能需要更新无线固件:
wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.162_all.deb sudo dpkg -i linux-firmware*.deb sudo modprobe -r ath10k_pci && sudo modprobe ath10k_pci
不过有一点需要注意——提及的文件不再存在,因此信息有点过时。所以我检查了一下完整列表并使用最新可用版本(1.164)反而。
连 Wi-Fi 网络都看得见,可惜我连不上家里的 Wi-Fi。我检查了好几遍密码,确定是正确的。
奇怪的是,我可以连接到智能手机上设置的 Android 接入点。家里的其他设备也可以毫无问题地连接到此 Wi-Fi,并且在同一台笔记本电脑上的 Windows 10 上从相同距离运行良好。所以我现在被迫使用 Android 接入点作为临时解决方法。
路由器放在大厅(安装在距离地板约1米半的墙壁上)。距离为:大厅-客厅-我的房间(约8-9米)。如果我靠近路由器,我可以立即连接到家庭Wi-Fi,速度相当不错。即使在我的房间里,如果我来到门口(距离我的办公桌约1米半),我能够连接并且速度相当不错。将笔记本电脑放在办公桌上,我根本无法连接,或者如果我很幸运地连接上(这种情况很少发生),网络也无法使用。如果我将笔记本电脑移到床上,连接的几率会更高一些,但速度非常慢,所以也无法使用。
移动路由器(或者将自己移近路由器)现在对我来说不是一个选择,而且这只能在本地解决这个问题(仅适用于我的环境)。
所以我认为原因要么是驱动程序,要么是 Ubuntu 的特定设置,因为在与这台笔记本电脑相同的距离下,Windows 10 上运行正常。
重要的提示:在发布此文之前,我搜索了很多内容,并尝试了类似问题中的建议。但这些建议对我都不起作用。
相关输出:
sudo lshw -c network
是:
description: Wireless interface
product: QCA6174 802.11ac Wireless Network Adapter
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:3e:00.0
logical name: wlp62s0
version: 32
serial: **:**:**:**:**:**
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=ath10k_pci driverversion=4.8.0-36-generic firmware=WLAN.RM.2.0-00180-QCARMSWPZ-1 ip=***.***.**.* latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:132 memory:df200000-df3fffff
输出:
dmesg | grep ath10k
是:
[ 3.086898] ath10k_pci ****:**:**.*: enabling device (0000 -> 0002)
[ 3.087198] ath10k_pci ****:**:**.*: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 3.372179] ath10k_pci ****:**:**.*: Direct firmware load for ath10k/pre-cal-pci-****:**:**.*.bin failed with error -2
[ 3.372184] ath10k_pci ****:**:**.*: Direct firmware load for ath10k/cal-pci-****:**:**.*.bin failed with error -2
[ 3.372360] ath10k_pci ****:**:**.*: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-5.bin failed with error -2
[ 3.372361] ath10k_pci ****:**:**.*: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin': -2
[ 3.373277] ath10k_pci ****:**:**.*: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 1a56:1535
[ 3.373277] ath10k_pci ****:**:**.*: kconfig debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[ 3.373623] ath10k_pci ****:**:**.*: firmware ver WLAN.RM.2.0-00180-QCARMSWPZ-1 api 4 features wowlan,ignore-otp,no-4addr-pad crc32 75dee6c5
[ 3.436610] ath10k_pci ****:**:**.*: board_file api 2 bmi_id N/A crc32 8c15898f
[ 5.561030] ath10k_pci ****:**:**.*: htt-ver 3.26 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[ 5.656429] ath10k_pci ****:**:**.* wlp62s0: renamed from wlan0
以下是与 Android 接入点的连接日志:
[ 107.007374] wlp62s0: authenticate with **:**:**:**:**:**
[ 107.057897] wlp62s0: send auth to **:**:**:**:**:** (try 1/3)
[ 107.059728] wlp62s0: authenticated
[ 107.061296] wlp62s0: associate with **:**:**:**:**:** (try 1/3)
[ 107.064661] wlp62s0: RX AssocResp from **:**:**:**:**:** (capab=0x411 status=0 aid=1)
[ 107.067985] wlp62s0: associated
[ 107.068042] IPv6: ADDRCONF(NETDEV_CHANGE): wlp62s0: link becomes ready
以下是家庭 Wi-Fi 连接日志:
[ 101.628172] wlp62s0: authenticate with **:**:**:**:**:**
[ 101.674946] wlp62s0: send auth to **:**:**:**:**:** (try 1/3)
[ 101.679850] wlp62s0: send auth to **:**:**:**:**:** (try 2/3)
[ 101.684955] wlp62s0: send auth to **:**:**:**:**:** (try 3/3)
[ 101.690259] wlp62s0: authentication with **:**:**:**:**:** timed out
[ 102.308700] IPv6: ADDRCONF(NETDEV_UP): wlp62s0: link is not ready
我用了:
dmesg | grep wlp62s0
命令来检索该信息。
一些建议建议更换固件文件kvalo/ath10k-固件repo 所以我决定也尝试一下:
cd ~/programs/
git clone https://github.com/kvalo/ath10k-firmware.git
sudo rm -rf /lib/firmware/ath10k/QCA6174/
sudo cp -r ath10k-firmware/QCA6174 /lib/firmware/ath10k/
cd /lib/firmware/ath10k/QCA6174/hw2.1/
sudo mv firmware-5.bin_SW_RM.1.1.1-00157-QCARMSWPZ-1 firmware-5.bin
cd ../hw3.0
sudo mv firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 firmware-4.bin
sudo modprobe -r ath10k_pci && sudo modprobe ath10k_pci
reboot
不幸的是这也没有帮助。
这是我另外尝试的:
1)我使用禁用了 IPv6此方法。现在这些错误 - “IPv6:ADDRCONF(NETDEV_UP):wlp62s0:链接未准备好”已经消失,但身份验证仍然超时:
2)我按照建议更改了电源管理设置杰里米31在这个答案。现在有时这个过程会更进一步:
[ 76.352810] wlp62s0: authenticate with **:**:**:**:**:**
[ 76.400120] wlp62s0: send auth to **:**:**:**:**:** (try 1/3)
[ 76.405250] wlp62s0: authenticated
[ 76.407644] wlp62s0: associate **:**:**:**:**:** (try 1/3)
[ 76.418128] wlp62s0: RX AssocResp from **:**:**:**:**:** (capab=0x431 status=0 aid=2)
[ 76.421150] wlp62s0: associated
[ 122.364346] wlp62s0: deauthenticating **:**:**:**:**:** by local choice (Reason: 3=DEAUTH_LEAVING)
在其他情况下我会超时,例如更新 1。
3)已将路由器设置更改为仅使用 WPA2 加密。尝试了其他设置,如模式、信道、信道带宽。尝试按照提供商的建议手动设置连接属性(地址、网络、网关和 DNS)。
4)将无线监管域设置为我的国家代码(KZ,代表哈萨克斯坦)。
应用后的日志内容:
[ 5.958257] ath: EEPROM regdomain: 0x6c
[ 5.958258] ath: EEPROM indicates we should expect a direct regpair map
[ 5.958259] ath: Country alpha2 being used: 00
[ 5.958259] ath: Regpair used: 0x6c
[ 5.963073] ath10k_pci 0000:3e:00.0 wlp62s0: renamed from wlan0
5)尝试改变skip_otp
选项:
echo "options ath10k_pci skip_otp=y" > /etc/modprobe.d/ath10k.conf
这没有帮助,并且在日志中另外给出了这一行:
[ 3.381182] ath10k_pci: unknown parameter 'skip_otp' ignored
6)尝试使用其他固件版本,1.157.9例如。
我也问了同样的问题Ubuntu 论坛,但仍然没有成功。这对我来说是现在最大的问题,因为如果没有良好的网络连接,我无法正常工作。
任何帮助和建议都非常感谢。如果您需要更多信息,请告诉我。
答案1
尽管在发布此问题时 QCA6174 存在错误,但这些错误已得到修复。当然,可能仍会出现新的错误。要修复这些旧错误,请使用:
sudo apt update
sudo apt upgrade
新安装将不会有上面列出的旧错误,并且不需要做任何事情来修复旧错误。
与您在网络管理器省电上的链接相反,我的卡设置方式相反:
$ cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
wifi.powersave = 3
# Slow sleep fix: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670041
#wifi.powersave = 2
答案2
答案3
dmesg 的输出表明:
无法获取固件文件“ath10k/QCA6174/hw3.0/firmware-5.bin”
但是,您尝试使用 kvalo 固件解决此问题,/lib/firmware/ath10k/QCA6174/hw2.1/
但将 firmware-5.bin 文件放在..../ath10k/QCA6174/hw3.0
了预期的 / 位置。除此之外的所有内容可能都是多余的,因为找不到请求的固件。