Linux编译Ralink无线网卡驱动

0x00 自行下载网卡驱动,一般购买无线网卡会附赠驱动。

0x01 修改config.mk文件,一般在os/linux/config.mk下。

将“HAS_WPA_SUPPLICANT=n”改为“HAS_WPA_SUPPLICANT=y”;
“HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n”改为“HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y”。

0x02 终端切换进入解压目录,执行编译命令:sudo make,编译出现错误,

 解决方法一:将 os/linux/rt_linux.c文件的pOSFSInfo->fsuid= current_fsuid();和pOSFSInfo->fsgid=current_fsgid(); 用#号注释掉即可。

 解决方法二:强制类型转换。
将“pOSFSInfo->fsuid= current_fsuid(); ”改为“pOSFSInfo->fsuid= *(int *)¤t_fsuid(); ”
将“pOSFSInfo->fsgid=current_fsgid(); ”改为“pOSFSInfo->fsgid= *(int *)¤t_fsgid();

0x03 如果报错是这样的话;

sta_cfg.c:5766:85: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
             snprintf(extra, size, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, __DATE__, __TIME__ );
                                                                                     ^
sta/sta_cfg.c:5766:95: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
             snprintf(extra, size, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, __DATE__, __TIME__ );  

这个错误是因为编译选项开启了-Werror,这样可以解决。

修改/lib/modules/`uname -r`/build/Makefile
#gedit /lib/modules/`uname -r`/build/Makefile
查找-Werror 用#号注释或者删掉下面4段文本
<span style="display: none; width: 0px; height: 0px;" id="transmark"></span>-Werror-implicit-function-declaration
,-Werror=implicit-int
,-Werror=strict-prototypes
,-Werror=date-time

0x04 编译安装

sudo make
sudo make install

0x05 禁用系统自带驱动

/etc/modprobe.d/blacklist.conf

在里面写入需要禁用的驱动。如:

sudo echo "blacklist rt2800usb">>/etc/modprobe.d/blacklist.conf

0x06 重启

reboot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值