openwrt (一):特殊的WiFi驱动移植方法

news/2024/7/20 15:54:47 标签: 开源软件, 信息与通信

        openwrt的去驱动移植灵活多样,总体来说只要掌握了官方提供的操作方法即可可简单上手,但是也有一些稍微比较特殊的操作。比如说backport模块。

        由于需要兼容很多不同版本的Linux驱动,很多时候需要用到backport。因此,如果已有的项目WiFi驱动是在backport模块上编译的,那后续需要在原有硬件平台继续开发移植新的设备驱动,那具体的操作方法就会跟常规的openwrt 驱动移植不一样了。
        关于Backport,它是是将一个软件的补丁应用到比此补丁所对应的版本更老的版本的行为。
由于很多WiFi驱动只能运行在早期的内核,所以就需要移植到backport上。

        一般这种移植是属于mac80211模块使用到了backport,所以对应的WiFi也需要移植到backport上才能保证各种库和依赖文件的正确使用,而不是把它移植到linux的内核上。
主要步骤:
第一,将原有的backport模块下载到dl目录下;

第二,解压该模块,将需要移植的WiFi驱动源码放进backport的WiFi驱动目录;

第三,修改WiFi驱动的编译规则。比如说,如果原backport模块用的是EXTRA_CFLAGS在编译过程制定或者插入相关的编译选项和内容,那就要就要将移植的驱动的ccflags-y替换成EXTRA_CFLAGS,反之则将EXTRA_CFLAGST替换成ccflags-y,否则需要移植的驱动源码的二级或者三级目录可能会编译不进去或者部分功能编译失败。


第四,修改package/kernel模块下的mac80211里面的Makefile,将第三步修改好的WiFi源码打包存放地址写到此处Makefile上,在编译openwrt的时候,系统将源码包download下来然后再拷贝到backport模块里面。在这一步,对于mac80211的Makefile的修改需要做成一个path,保证openwrt系统的开源可操作性。


最后,按常规操作编译即可。


http://www.niftyadmin.cn/n/5064027.html

相关文章

MySQL 索引优化实践(单表)

目录 一、前言二、表数据准备三、常见业务无索引查询耗时测试3.1、通过订单ID / 订单编号 查询指定订单3.2、查询订单列表 四、订单常见业务索引优化实践4.1、通过唯一索引和普通索引优化通过订单编号查询订单信息4.2、通过普通联合索引优化订单列表查询4.2.1、分析查询字段的查…

【第十四届蓝桥杯单片机组】个人笔记汇总

第十四届蓝桥杯单片机组全国总决赛二等奖 所有代码和资料整合为一个开源库已经上传:仓库链接 链接:https://github.com/MrSu18/IAP15F2K61S2 如果觉得有用麻烦点个star支持一下,谢谢! 【第十四届蓝桥杯单片机组】学习笔记&#x…

《C和指针》笔记30:函数声明数组参数、数组初始化方式和字符数组的初始化

文章目录 1. 函数声明数组参数2. 数组初始化方式2.1 静态初始化2.2 自动变量初始化 2.2 字符数组的初始化 1. 函数声明数组参数 下面两个函数原型是一样的: int strlen( char *string ); int strlen( char string[] );可以使用任何一种声明,但哪个“更…

【Oracle】Oracle系列之十四--触发器

文章目录 往期回顾前言1. 基本概念2. 行级触发器3. 语句级触发器4. 系统级触发器5. 替代触发器 往期回顾 【Oracle】Oracle系列之一–Oracle数据类型【Oracle】Oracle系列之二–Oracle数据字典【Oracle】Oracle系列之三–Oracle字符集【Oracle】Oracle系列之四–用户管理【Ora…

数据分析:人工智能篇

文章目录 第三章 数据可视化库matplotlib3.1 matplotlib基本绘图操作3.2 plot的线条和颜色3.3 条形图分析3.4 箱型图分析3.5 直方图分析3.6 散点图分析3.7 图表的美化 第四章 数据预测库Sklearn4.1 sklearn预测未来4.2 回归数据的预测4.2.1 回归数据的切分4.2.2 线性回归数据模…

设计模式——9. 桥接模式

1. 说明 桥接模式(Bridge Pattern)是一种结构型设计模式,它用于将抽象部分和具体实现部分分离,以便它们可以独立地变化而不互相影响。桥接模式通过将抽象和实现分离来解决类的多层次继承结构问题,使得系统更加灵活。 在桥接模式中,有两个关键角色: 2. 抽象类(Abstract…

解决Invalid bound statement (not found)错误~

报错如下所示: 找了好久,刚开始以为是名称哪里写的有问题,但仔细检查了好多遍都不是 最后发现了问题如下所示: UserMapper里面的内容被我修改了,但classes中的内容还是原来的内容,所以才导致了编译器报错n…

Ubantu 20.04 卸载与安装 MySQL 5.7 详细教程

文章目录 卸载 MySQL安装 MySQL 5.71.获取安装包2.解压并安装依赖包3.安装 MySQL4.启动 MySQL 扩展开启 gtid 与 binlog 卸载 MySQL 执行以下命令即可一键卸载,包括配置文件目录等。 # 安装sudo软件 apt-get install sudo -y # 卸载所有以"mysql-"开头的…