Firefly开源社区

打印 上一主题 下一主题

求解无线网卡的firmware是怎么加载的?

273

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
273

求解无线网卡的firmware是怎么加载的?

发表于 2014-12-29 21:51:28      浏览:13119 | 回复:8        打印      只看该作者   [复制链接] 楼主
官方内核不给力,连nfs客户端模块都没有,自己编译的内核又卡在无线网卡上了,不知道firmware是怎么加载的,仿照ubuntu镜像放在/system/etc/firmware下也没用。
我的内存盘是buildroot制作的。
有没有人知道啊?求攻城狮啊!
回复

使用道具 举报

273

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
273
发表于 2014-12-29 21:52:40        只看该作者  沙发
想将无线驱动编译为模块也不行,报kernel_thread 未定义。。
回复

使用道具 举报

发表于 2014-12-30 09:25:12        只看该作者  板凳
wifi模组一般已经是编译成ko文件了,在内核加载。楼主在对应init.rc应该可以查到,是怎样加载。
另外帮你召唤Linux的版主大神:lol
暴走的创客!
回复

使用道具 举报

14

积分

0

威望

0

贡献

游客

积分
14
发表于 2014-12-30 09:42:30        只看该作者  地板
一般来说WiFi驱动会单独编译成ko,Linux内核启动后根据init。rc或是其他脚本来加载wlan.ko。wlan。ko加载后会去文件系统的特定位置加载firmware,再通过接口下载到chip中去。 你可以看一下,是不是编译内核时,内核中引用了wlan.ko中的符号,之间有依赖关系导致的。
回复

使用道具 举报

273

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
273
发表于 2014-12-30 11:55:14        只看该作者  5#
官方的配置文件,驱动是直接编译进内核的.我改为模块就编译不出来,说目标ko文件里的符号kernel_thread未定义。开机信息太多,不容易找到无线驱动部分,搞成模块来自己加载应该更容易找问题,但是编不成模块啊。

kernel/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c打印两行与firmware路径有关的字符串,但也只是打印而已,并没有进行具体的载入操作。奇怪的是刷了官方发布的ubuntu镜像,启动日记dmesg|grep firmware是可以看到打印出来的字符串的。而我自己编译的内核并没有打印任何包含firmware的字符串。
这个firmware到底是由内核模块加载的还是由用户态程序加载的?
回复

使用道具 举报

273

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
273
发表于 2014-12-30 23:20:07        只看该作者  6#
本帖也可以结了,firmware是由网卡驱动自己载入的。
回复

使用道具 举报

45

积分

0

威望

0

贡献

技术小白

积分
45
发表于 2016-1-29 10:47:10        只看该作者  7#
你要说明是怎么加载的啊...
回复

使用道具 举报

79

积分

0

威望

0

贡献

技术小白

积分
79
发表于 2018-8-21 16:45:11        只看该作者  8#
我也有此问题,请问楼主是怎么解决的
回复

使用道具 举报

19

积分

0

威望

0

贡献

技术小白

积分
19
发表于 2018-8-30 14:40:09        只看该作者  9#
有点模糊的感觉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表