8192cu 驱动程序:扫描有时不返回结果

8192cu 驱动程序:扫描有时不返回结果

我通过切换到ath10k驱动程序解决了这个问题,驱动程序现在已经发布了我的卡的驱动程序。我写了一个分步指南我所做的。

我使用 8192cu 驱动程序的 Debian 8 笔记本电脑在扫描 WiFi 网络时间歇性无法返回任何结果。如何解决该问题并让我的计算机在扫描 WiFi 网络时始终返回完整结果?

编辑1:更新我不使用的原因ath10k
编辑2:添加lspci -nnk | grep -iA2 net

我正在运行 Debian 8 笔记本电脑(Lenovo G50-80,更换了预装 Windows),并使用采用 RTL8188CUS/RTL8192CU 芯片组的 Kootek USB 无线适配器。 (我的板载 WiFi 使用ath10k驱动程序,上次我检查时该驱动程序对于我的内核尚不可用 但我上次检查时卡的设备 ID 并未更新,所以我现在被迫使用加密狗。返回的板载 WiFi 的 PCI 设备和制造商 IDlspci -nn168c:0041)我知道我使用的加密狗在 Raspberry Pi 社区中非常受欢迎。

我已经下载了8192cu.ko驱动程序,安装了它们,并成功加载它们并列入黑名单rtl8192cu;中没有出现错误消息,并且无论何时插入加密狗,dmesg -w我都不会出现界面wlan0出现或8192cu模块出现在输出中的问题。lsmod但有时,sudo iwlist wlan0 scan会返回

$ sudo iwlist wlan0 scan
wlan0     No scan results

$

即使我知道我位于多个 WiFi 网络附近。

当我插入加密狗时,它的蓝灯通常会闪烁一下。 LED 在扫描时发出适度明亮的光,在连接到网络时闪烁非常明亮。

WiFi 工作时断时续。有时它可以顺利地工作(“它可以工作”意味着我可以成功扫描并连接到 WiFi 网络)。其他日子我可以使用解决方法:拔下加密狗,重新插入,sudo iwlist wlan0 scan如果我愿意的话,发送垃圾邮件,然后重复直到它起作用。有些日子(就像过去一周一样)它根本不起作用,即使在多次重新启动后也是如此。

我已经进行了几次 Google 查询来尝试解决此问题。我的大部分结果似乎都集中在那些没有让加密狗出现在 上的人lsusb,或者他们的驱动程序版本与内核不匹配,或者在拉起接口时遇到问题的人。这些条件都不适用,这就是我问这个问题的原因。

我知道我应该在已知良好的计算机上测试加密狗。我还没有这样做,但如果你相信我应该这样做的话。

我用来wpa_supplicant连接WiFi;我将 NetworkManager 用于公共网络和 WPA-PSK,并使用自行编写的脚本(基本上运行wpa_supplicantdhclient使用自定义配置文件)来处理更复杂的网络。

我通常不维护我连接的无线接入点。这意味着我无法更改配置或检查设置。

我定期使用 Debian 安全存储库中的软件包更新我的系统。但这从未导致内核升级;仅升级到真正的 .deb 软件包。

文件和成绩单。如上所述,这些配置间歇性地工作。

uname -a:

Linux hamming 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u4 (2016-02-29) x86_64 GNU/Linux

cat /etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/* # [this directory is empty]

# The loopback network interface
auto lo
iface lo inet loopback

lspci -nnk | grep -iA2 net:

02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 10)
    Subsystem: Lenovo Device [17aa:3821]
    Kernel driver in use: r8169
03:00.0 Network controller [0280]: Qualcomm Atheros Device [168c:0041] (rev 20)
    Subsystem: Lenovo Device [17aa:3545]

自己编写的脚本,带有经过审查的识别细节(从互联网上的某个地方摘取,我不记得从哪里 - 也许改编自 Arch wiki 或论坛?从那时起,我出于自己的目的添加了健全性检查和标准输出详细信息):

#!/bin/bash
iface=wlan0

# check if sudo
if [[ "`id -u`" -ne 0 ]]; then
    echo '*** run this as root you idiot'
    exit 1
fi

# stop network manager
echo '*** stopping NM'
service network-manager stop

# stop any persistent wireless wpa2 auth sessions
echo '*** killing all wpa_supplicants'
killall wpa_supplicant

# shut down iface
echo '*** shutting down interface'
ifconfig $iface down

# set working mode of wireless device
echo '*** setting interface mode'
ifconfig $iface mode Managed

# enable iface
echo '*** enabling interface'
ifconfig $iface up

# apply dragonfly3 settings to device
echo '*** running wpa supplicant'
until wpa_supplicant -B -Dwext -i $iface -c ./connect-to-xxx.conf -dd; do
    echo "*** error level $?";
done
echo "*** error level $?"

# obtain an IP address
echo '*** obtaining IP address'
dhclient $iface
echo "*** error level $?"

echo '*** complete'

cat ./connect-to-xxx.conf,并对识别细节进行审查:

ctrl_interface=/var/run/wpa_supplicant

network={
    ssid="xxx"
    key_mgmt=WPA-EAP
    eap=TTLS
    ca_cert="/path/to/ca/cert.cer"
    #scan_ssid=0
    #pairwise=CCMP TKIP
    #group=CCMP TKIP
    identity="myusername"
    password="mypassword"
    phase2="auth=MSCHAPv2"
}

我使用有线以太网连接来发布这个问题,所以我没有实际尝试使用 WiFi 适配器时的日志记录。一旦我尝试在通常给我带来问题的地理位置连接 WiFi,我就会保存这些并在此处发布它们。

答案1

我假设您的 USB 加密狗没有外部天线,也有可能变化的条件和(大量)相邻网络会影响您可以获得的信号(如果有)。像有源微波炉和其他因素也会影响信号,请留意这些因素。

您的内部 WiFi 芯片很可能受益于笔记本电脑屏幕边缘周围的天线,因此它将获得更好的信号。要使 ath10k 驱动程序正常工作,您还需要firmware-atheros从非免费存储库安装该软件包。正如 @Jeremy31 提到的,提出有关 Atheros 芯片安装的新问题(包括其信息)将为您提供获得最佳设置的最佳机会。

答案2

大家似乎一致认为我应该放弃 WiFi 适配器并尝试让ath10k芯片正常工作。有一些更新的向后移植;我将构建它们,看看它们是否支持我的卡,并可能根据结果提出一个新问题。现在,我最初的疑问已经得到解决;感谢大家。

相关内容