This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] WL1837MOD:WL1837MOD

Guru**** 2382630 points
Other Parts Discussed in Thread: WL18XXCOM82SDMMC
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/732641/wl1837mod-wl1837mod

器件型号:WL1837MOD
Thread 中讨论的其他器件:WL18XXCOM82SDMMC

你(们)好

我会向您提供有关我们的应用/产品的一些信息。
在我们的应用中、有两个器件(手持终端和接收器)在 WiFi 中相互通信。 特别是这两个设备交换一些非常重要和关键的安全流量(UDP)和其他非安全流量(UDP)、TCP/IP、HTTP、...):监控数据、浏览器、 流视频,...
WiFi 安全流量(每个器件每隔10ms 在 UDP 中传输一个200字节的数据包)必须以最高优先级进行传输、必须尽快传输、并且必须是定期且确定的;其他非安全流量并不重要、并且必须以较低优先级进行传输。
我们有2款产品:
-已在大规模生产的产品、包括 Atheros AR9462、ath9k 驱动程序、ad hoc 模式、Linux 3.14.28、imx6 Solo、 5 GHz 频率。  
-目前正在开发的新产品:Linux 4.1、imx6双 lite、ad hoc 模式或 WiFi Direct 模式、USB 或 SDIO 主机接口。 对于该产品、我们将评估 WL18xx。
我们在这两种产品上都需要以下特性:
-频谱扫描或自动信道选择;离线搜索"最佳"信道。 想法是在设置/配置时搜索最佳(拥塞较少)信道、然后运行 ad hoc (或 WiFi Direct)模式、强制使用先前检测到的最佳信道。
—QoS 运行时间监控功能。 我们的客户需要动态地了解 WiFi 通信目前在三个层面上的工作情况:良好、平均、糟糕。 驱动程序应动态提供一些有关 WiFi 链路质量的信息。
-ETCA (增强型分布式信道访问)。 安全数据包的传输优先级必须高于其他 WiFi 流量。

我在一个配置中做了一些测试、在这个配置中、在基础设施模式下、只有一个发送器每10ms 传输200字节 UDP 消息。 测试条件几乎是理想的:空闲的通道44、CPU 空闲80%、两个器件非常接近。

通常、WiFi 通信足够常规、但有时接收器中会出现大约20/30ms 的延迟。

我附加了2张有振荡的图片、其中:

  • 绿色信号是每10ms 定期传输一次的应用
  • 黄色信号是发送器中的 IRQ (WL18xxCOM82SDMMC 引脚 IRQ_3V3)
  •  浅蓝色信号是接收器中的 IRQ (WL18xxCOM82SDMMC 引脚 IRQ_3V3)

我的问题是:

1.这些延迟是否正常? 请注意、此信道上没有其他 WiFi 流量。

2.是否有办法消除这些延迟?

3.默认情况下是否启用 ETCA?

谢谢

Marco Raiteri

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    是否在启用省电的情况下运行系统?
    如果您执行的操作超过了长时间延迟、则当工作站在信标之间睡眠时、这种情况是正常的。

    尝试关闭 POWER_SAVE 并查看您是否看到了差异:

    iw wlan0将 power_save 设置为 off

    BR、
    Eyal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好

    在我的系统上、默认启用省电。

    我在 imx6上运行带有 AP 和内核4.1.39的客户端的配置

    在客户端、我按照您的建议成功关闭了 POWER_SAVE。

    在 AP 侧、当我尝试关闭 POWER_SAVE 时、我收到此错误:

    命令失败:不支持操作(-95)

    你有什么想法吗?

    是否有另一种方法可以禁用节电功能?

    谢谢

    Marco

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    还可以。 此命令仅适用于站点侧。
    AP 始终处于活动状态。

    此致、
    Eyal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好
    我已关闭药柜上的 POWER_SAVE、但系统行为未发生变化。
    你有其他想法吗?
    谢谢
    此致、
    Marco
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    UDP 流量高度依赖于系统(IP 协议栈、网络等)、因此我不确定您在这里看到的是真正的问题。
    系统中运行的其他一些进程/线程可能会由于某些其他系统活动而导致此延迟。

    如果您有一个无线监听器捕获(Wireshark)捕获无线 WLAN UDP 流量、您可以验证 UDP 数据包是否被无线延迟。

    BR、
    Eyal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Eyal、
    我们想了解您的想法是否正确、即延迟是由某些其他系统活动引起的。
    这是发送器顶部的输出:

    root@nedNS01kit:~# top

    顶部- 17:12:22向上51分钟、1个用户、负载平均值:0.00、0.00、0.32
    任务:总共114个、1个正在运行、113个正在睡眠、0个停止、0个僵尸
    %CPU:0.4us、4.2 sy、0.0 ni、95.4 id、0.0 wa、 0.0 hi, 0.0 si, 0.0 st
    KiB Mem:总共507596个,356588可用,82024个,68984个缓冲器/高速缓存
    KiB 交换: 共0个 0免费、 0已使用。 413400可用内存

    PID 用户 PR NI virt RES SHR S %CPU %MEM time+命令
    931根 20 0 28104 1392 1276 S 7.1 0.3 0:03.83 SAFETY_simulato
    926根 20 0 0 0 0 S 2.3 0.0 0:02.49 kworker/U2:0
    936根 20 0 3020 1936 1560 R 2.3 0.4 0:00.79顶部
    382根 -52 0 0 0 0 S 1.9 0.0 0:46.25 IRQ/126-s-wl18x
    4根 -2 0 0 0 0 S 1.3 0.0 0:31.15 ktimersoftd/0
    78根 -51 0 0 0 0 S 1.3 0.0 0:34.89 IRQ/26-mmc0
    3根 20 0 0 0 0 S 0.3 0.0 0:05.53 ksoftirqd/0
    8根 -2 0 0 0 0 S 0.3 0.0 0:09.07 RCU_PRETER
    12根 -2 0 0 0 0 S 0.3 0.0 0:10.60 rcuc/0
    63根 -51 0 0 0 0 S 0.3 0.0 0:08.12 IRQ/201-20b4000
    380根 -51 0 0 0 0 S 0.3 0.0 0:12.68 IRQ/126-wl18xx
    910根 20 0 0 0 0 S 0.3 0.0 0:00.25 kwork/0:2
    917根 20 0 5404 3760 3332 S 0.3 0.7 0:00.74 sshd
    1根 20 0 1724 1092 1028 S 0.0 0.2 0:00.76初始化
    2根 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
    6根 0 -20 0 0 0 S 0.0 0.0 0:00.00 kwork/0:0H
    9根 -2 0 0 0 0 S 0.0 0.0 0:00.00 RCU_sched
    10根 -2 0 0 0 0 S 0.0 0.0 0:00.00 RCU_BH
    11根 -2 0 0 0 0 S 0.0 0.0 0:00.00 rcub/0
    13根 20 0 0 0 0 S 0.0 0.0 0:00.00 kclksetdelayd
    14根 RT 0 0 0 0 S 0.0 0.0 0:00.00 posixcputmr/0
    15根 20 0 0 0 0 S 0.0 0.0 0:00.00 kcmosdelayd
    16根 RT 0 0 0 0 S 0.0 0.0 0:00.00迁移/0
    17根 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
    18根 20 0 0 0 0 S 0.0 0.0 0:00.01 kdevtmpfs
    19根 20 0 0 0 0 S 0.0 0.0 0:00.00 kswork
    20根 0 -20 0 0 0 S 0.0 0.0 0:00.00 perf
    21根 0 -20 0 0 0 S 0.0 0.0 0:00.00写回
    22根 0 -20 0 0 0 S 0.0 0.0 0:00.00加密
    23根 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
    24根 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
    25根 0 -20 0 0 0 S 0.0 0.0 0:00.00 ata_SFF
    26根 -51 0 0 0 0 S 0.0 0.0 0:00.00 IRQ/231-21f8000
    28根 0 -20 0 0 0 S 0.0 0.0 0:00.00 cfg80211
    29根 0 -20 0 0 0 S 0.0 0.0 0:00.00 rpciod

    PID 931的过程是我的测试应用;它具有正常的优先级、但我们看不到
    示波器在该级别传输中产生有意义的抖动。
    PID 382 (IRQ/126-s-wl18x)和 PID 380 (IRQ/126-wl18xx)的处理似乎与驱动程序相关、并且具有高优先级。
    是否可以识别与 TI 驱动程序相关的其他流程?
    如果答案是肯定的话,是否可以提高他们的优先地位?
    它是否提供了有关 TI 驱动程序结构(线程、进程...)的任何文档? ?
    谢谢
    BR
    Marco
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TI 驱动程序是 Linux mac80211层的一部分。 我们的驱动器只是其中的一小部分(较低级别、与硬件相关)。
    我不知道有关 Linux mac80211层的文档是否达到您要求的级别。

    此致、
    Eyal