全功能 WLAN USB 适配器

全功能 WLAN USB 适配器

我正在寻找一个 WLAN USB 适配器,它可以用作接入点以及纯粹的客户端和在 AdHoc 设置中。它应该支持 IEEE 802.11n 并且传输速度相当快(300Mbps)。

当我为我的机器编译自定义内核时,驱动程序应该作为当前内核(撰写本文时为 3.7.1)的一部分,并且不需要在外部构建。如果可能的话,我什至想避免安装外部固件。驱动程序和硬件应支持省电模式。

目前,我使用的是 AVM Fritz Wlan Stick N,它几乎具有所有功能,但在负载下每隔几分钟就会崩溃,必须重新启动。所以稳定性也是一个要求。

这样奇妙的装置真的存在吗?

答案1

与此同时,我购买并测试了一些设备。我的选择受到了很大的启发列表由@Renat 建议。在这里,我整理了我的发现。

AVM弗里茨

小变体AVM Fritz Wlan Stick N 的仅支持 2.4 GHz,而大的一个具有 2.4 和 5 GHz 多频段支持。两者都依赖于卡尔9170驱动模块。作为客户,他们都是一场灾难。他们经常崩溃。内核会在不到一秒的时间内重新启动它们,但重新连接是必要且耗时的。实时连接是不可能的,更不用说像 SSH 这样的东西了。而且,问题似乎正在累积。我使用这些棍子的时间越长,它们崩溃的频率就越高,导致棍子最多只能工作几分钟。调整模块参数,没有密码诺特为减少设备硬件造成的负载,仅进行临时修改。

然而,在 AP 模式下测试多频段时,它工作得完美无缺。视频流和 sftp 文件传输可达到 300 MBit/s。

TP-Link

有了 TP-Link,我再次面临以下选择:TL-WDN3200双频变体和仅限 2.4 GHzTL-WN821N。第一个需要编译树外驱动程序,因此我立即跳到单频段模型。 TL-WN821N 使用ath9k_htc模块包含在linux内核中。甚至具有比 Fritz 型号稍高的传输速度和连接质量,并在两层楼和一些墙壁上进行了测试。它的崩溃也比这些少得多,一天只有几次。但当发生这种情况时,它会通过冻结大部分网络子系统来补偿其性能。每个尝试访问网络设备(包括许多 IPC 解决方案所依赖的环回)的系统调用都会停止并且不会返回,直到拔掉设备或删除内核模块。我将它捐赠给了一些 Windows 用户,从那时起它就作为客户端工作。

水牛

最后,我尝试了水牛 WLI-UC-G300HP。虽然它也标有 300 MBit/s,但它的性能比前面提到的要慢一些。在某些墙壁和地板上,连接质量仍然很好,特别是在使用其小型可调节天线时,当空间紧张时,天线也可以完全展开。我现在已经使用它几个月了,非常满意。

它唯一的缺陷是没有驱动程序会自动感到对该设备负责。事实上,它可以与经过充分测试的RT2800USB模块。有两种方法可以将其传授给内核。

在运行时

以 root 身份发出

modprobe rt2800usb
echo 0411 01a8 > /sys/bus/usb/drivers/rt2800usb/new_id

第一行插入模块。第二个告诉驱动程序设备和产品 ID。这些编号可以通过 找到lsusb,但应该是为 WLI-UC-G300HP 提供的编号。然后,驱动程序接管模块的命令。这可以通过 udev 规则持久化。就我而言,我选择另一种方法

编译内核

无论如何,当您自己构建内核时,只需应用以下补丁即可。

diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 098613e..2ded919 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -953,6 +953,7 @@ static struct usb_device_id rt2800usb_device_table[] = {
        { USB_DEVICE(0x0411, 0x016f) },
        { USB_DEVICE(0x0411, 0x01a2) },
        { USB_DEVICE(0x0411, 0x01ee) },
+       { USB_DEVICE(0x0411, 0x01a8) },
        /* Corega */
        { USB_DEVICE(0x07aa, 0x002f) },
        { USB_DEVICE(0x07aa, 0x003c) },

它将 ID 添加到模块的内部数据库中,以便从本质上激励模块管理设备。

答案2

我使用的大多数高速 WLAN USB 适配器都是基于 Ralink 芯片组的。我不确定他们是否在 3.7.1 内核中支持开箱即用,但一些维护者默认在其发行版中包含对此 WLAN USB 的支持。也可能是这个关联对你来说很有趣。

相关内容