Kernel 我的无线接口似乎可以缓冲传入的消息并定期接收它们

Kernel 我的无线接口似乎可以缓冲传入的消息并定期接收它们,kernel,io-buffering,corewlan,802.11p,Kernel,Io Buffering,Corewlan,802.11p,我的无线网络接口有问题。 如果我尝试发送数据包,它似乎工作得很好,当我必须接收一些东西时,麻烦就开始了。这就像它缓冲传入的数据包,直到IF被用来发送一些东西,它才将它们传递到上层,在这一点上,直到那一刻收到的所有数据包都被处理。 (在本例中,它们是CAMv1数据包,但它适用于任何其他类型的数据包) 另一个奇怪的行为是,如果我尝试在该接口上ping我自己的地址,我会收到所有ICMP回复,但每几秒钟会随机收到4-5-6组回复 我的第一个猜测是关于一些电源管理设置,但即使禁用它,问题也没有解决 接下来

我的无线网络接口有问题。 如果我尝试发送数据包,它似乎工作得很好,当我必须接收一些东西时,麻烦就开始了。这就像它缓冲传入的数据包,直到IF被用来发送一些东西,它才将它们传递到上层,在这一点上,直到那一刻收到的所有数据包都被处理。 (在本例中,它们是CAMv1数据包,但它适用于任何其他类型的数据包)

另一个奇怪的行为是,如果我尝试在该接口上ping我自己的地址,我会收到所有ICMP回复,但每几秒钟会随机收到4-5-6组回复

我的第一个猜测是关于一些电源管理设置,但即使禁用它,问题也没有解决

接下来,我查看了中断日志,发现该接口上从未调用过发送或接收中断:

因此,传输和接收似乎是由某种轮询机制处理的。经过一些研究,我发现了内核配置CONFIG\u NET\u RX\u BUSY\u POLL,我试图禁用它,但运气不好,因为我无法通过执行此操作,如果我尝试编辑内核/NET/Kconfig手动禁用它(CONFIG\u NET\u RX\u BUSY\u POLL=n),生成的映像不会因为内核死机而启动,所以我想我应该满足一些依赖性

我还尝试了以下操作,但menuconfig和.config文件将config\u NET\u RX\u BUSY\u POLL保持为“yes”。我还尝试从menuconfig编辑PREEMPT\u RT\u FULL,可能是因为我有不同的内核版本

到目前为止,我已经走了这么远,有没有人有相同或类似的问题,或者能想出我可以尝试的方法?遵循我的环境的细节

:基于variscite mx8m的定制板()

Tranceiver:Compex WLE200NX,Atheros AR9280芯片组,由ath9k驱动程序处理


操作系统和内核:Debian 10,内核4.14.78

您是否尝试使用几种模式(例如ap/sta、ad-hoc等)设置无线接口?是的,我尝试了所有模式,行为相同。我最初也尝试过OCB模式,因为这是我的目标。要激活OCB模式,我必须根据需要对内核进行更改。不幸的是,无论有没有补丁,问题都会存在,所以这不是问题所在。。。