Linux移植wifi驱动

本文详细介绍了如何将特定的无线驱动程序编译进嵌入式系统的内核中,包括驱动源码的放置、Kconfig和Makefile的修改、内核配置及模块编译等步骤,并解决了一些常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:需要更换wifi厂家提供的驱动程序,此驱动不是insmod测试程序,而是需要编译进内核,开机自动挂载的。insmod挂载驱动通常是将驱动源码,使用对应的交叉编译工具链编为xx.ko的文件,手动insmod xx.ko进行使用。


1:将驱动源码放入内核目录下的/drivers/net/wireless/realtek目录。

2:查看驱动源码目录下的KconfigMakefile是否齐全,一般厂家提供时会全部提供。

3: realtek目录中打开Kconfig,添加source "drivers/net/wireless/realtek/rtl8723BU/Kconfig"

4:realtek目录中打开Makefile,添加obj-$(CONFIG_RTL8723BU)        += rtl8723BU/

5:使用make menuconfig勾选配置。

6:使用make zImage重新编译内核。

7:使用make modules编译模块.

8:使用make INSTALL_MOD_PATH=mods modules_install设置模块安装路径。

9:全部传到设备上即可。


常见问题:

1.*** No rule to make target `  /hal/phydm/phydm.mk

修改rtl8723BU文件夹下的makefile:

export TopDIR ?= $(shell pwd)修改为

export TopDIR ?= $(shell pwd)/drivers/net/wireless/realtek/rtl8723BU

2.此驱动依赖一些底层驱动,需要在配置的时候选中cfg80211。

未完,待续。

### Linux移植 WiFi 驱动程序开发指南 #### 准备工作 为了成功移植 WiFi 驱动Linux 系统,需先准备好必要的环境。这包括获取目标系统的内核源码,并确保拥有相应的交叉编译工具链。 对于特定硬件平台(如 NXP i.MX6),可以通过终端进入该内核源码的根目录下[^3]: ```bash cd ~/path_to_kernel_source/ ``` #### 添加驱动文件 将待移植WiFi 驱动代码放置于合适的位置,通常为 `drivers/net/wireless/` 路径之下。例如,针对 SSV6x5x 设备而言,则应将其存储在此处以便后续集成操作[^1]。 #### 修改 Kconfig 文件 为了让新加入的无线网络适配器能够在菜单配置选项中显示出来,必须编辑位于 `drivers/net/wireless/Kconfig` 的文件,在其中适当位置添加描述此设备支持情况的相关条目[^2]。这样做可以使得开发者能够方便地启用或禁用对应的特性而无需手动修改 Makefile 或其他构建脚本。 #### 编辑 Makefile 文件 除了更新 Kconfig 外,还需要向同一级别的 Makefile 中引入新的子模块定义语句,从而允许编译系统识别新增加的部分并正确处理它们。一般情况下只需简单追加一行类似于下面这样的指令即可满足需求: ```makefile obj-$(CONFIG_SSV6XXX_WIFI) += ssv6xxx_wifi/ ``` 这里假设已经为即将安装进去的那个组件指定了名为 CONFIG_SSV6XXX_WIFI 的宏开关来控制其存在与否;实际应用时请依据具体情况做相应调整。 #### 使用 menuconfig 工具进行配置 完成上述准备工作之后,便可通过运行 `make menuconfig` 启动图形化的交互式界面来进行更细致的选择与定制化设定过程。在这个过程中应当遵循提示找到对应节点并将之设为 M 模式即作为可加载模块的形式参与最终镜像打包流程。 #### 构建与测试 最后一步便是执行完整的编译任务以及验证整个方案的有效性。前者涉及调用标准命令序列如 `make zImage modules dtbs` 完成核心部分及其附属功能包的整体组装作业;后者则可能涉及到烧录固件映像到目标板卡之上进而观察预期效果是否达成——比如能否顺利连接互联网资源等基本性能指标检测活动[^5]。 ```bash make zImage modules dtbs sudo make modules_install firmware_install INSTALL_MOD_PATH=/target_rootfs/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雲烟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值