首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ath5k无线驱动程序中禁用快速帧

如何在ath5k无线驱动程序中禁用快速帧
EN

Stack Overflow用户
提问于 2013-08-07 09:18:25
回答 2查看 96关注 0票数 1

默认情况下,在ath5k中启用快速帧。(http://wireless.kernel.org/en/users/Drivers/ath5k)我找到了禁用它的宏

代码语言:javascript
复制
#define AR5K_EEPROM_FF_DIS(_v)      (((_v) >> 2) & 0x1

问题是我该怎么处理它?我是否把上面的一行换成

代码语言:javascript
复制
#define AR5K_EEPROM_FF_DIS(_v)  1

我是否编译它,传递一些参数?

位移位的表情让我感到困惑。_v是一个变量吗?

关于如何在驱动程序中处理这些宏,这个问题更为普遍。我也在其他密码里见过他们,一直都很困惑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-07 09:46:14

好的,我试着用一个简化的例子来解释

代码语言:javascript
复制
#include <stdio.h>

/* Just for print in binary mode */
char *chartobin(unsigned char c)
{
    static char a[9];
    int i;

    for (i = 0; i < 8; i++)
          a[7 - i] = (c & (1 << i)) == (1 << i) ? '1' : '0';
    a[8] = '\0';
    return a;
}

int main(void)
{
    unsigned char u = 0xf;

    printf("%s\n", chartobin(u)); 
    u >>= 2; // Shift bits 2 positions (to the right)
    printf("%s\n", chartobin(u));       
    printf("%s\n", chartobin(u & 0x1)); // Check if the last bit is on

    return 0;
}

输出:

代码语言:javascript
复制
00001111
00000011
00000001

我用#define AR5K_EEPROM_FF_DIS(_v) 1替换上面的一行吗?

不!!

如果您用0xb而不是0xf初始化0xb,您将得到:

代码语言:javascript
复制
00001011
00000010
00000000

如您所见,(((_v) >> 2) & 0x1 != 1

票数 0
EN

Stack Overflow用户

发布于 2015-04-30 21:38:55

在ath5k上没有启用或使用快速帧。它允许卡同时发送多个帧(将其视为11n 帧聚合的早期版本),该功能是在MadWiFi及其专有驱动程序上实现的,只能与也支持它的接入点一起使用。您所看到的是存储在设备EEPROM上的标志,它指示驱动程序是否可以使用快速帧,您所引用的宏只检查是否设置了该标志。您可以修改头文件以始终返回1,但这不会有任何区别,驱动程序从不使用该信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18099437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档