Firefly开源社区

标题: 求解无线网卡的firmware是怎么加载的? [打印本页]

作者: pqy    时间: 2014-12-29 21:51
标题: 求解无线网卡的firmware是怎么加载的?
官方内核不给力,连nfs客户端模块都没有,自己编译的内核又卡在无线网卡上了,不知道firmware是怎么加载的,仿照ubuntu镜像放在/system/etc/firmware下也没用。
我的内存盘是buildroot制作的。
有没有人知道啊?求攻城狮啊!

作者: pqy    时间: 2014-12-29 21:52
想将无线驱动编译为模块也不行,报kernel_thread 未定义。。
作者: 暴走的阿Sai    时间: 2014-12-30 09:25
wifi模组一般已经是编译成ko文件了,在内核加载。楼主在对应init.rc应该可以查到,是怎样加载。
另外帮你召唤Linux的版主大神:lol
作者: 先品    时间: 2014-12-30 09:42
一般来说WiFi驱动会单独编译成ko,Linux内核启动后根据init。rc或是其他脚本来加载wlan.ko。wlan。ko加载后会去文件系统的特定位置加载firmware,再通过接口下载到chip中去。 你可以看一下,是不是编译内核时,内核中引用了wlan.ko中的符号,之间有依赖关系导致的。
作者: pqy    时间: 2014-12-30 11:55
官方的配置文件,驱动是直接编译进内核的.我改为模块就编译不出来,说目标ko文件里的符号kernel_thread未定义。开机信息太多,不容易找到无线驱动部分,搞成模块来自己加载应该更容易找问题,但是编不成模块啊。

kernel/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c打印两行与firmware路径有关的字符串,但也只是打印而已,并没有进行具体的载入操作。奇怪的是刷了官方发布的ubuntu镜像,启动日记dmesg|grep firmware是可以看到打印出来的字符串的。而我自己编译的内核并没有打印任何包含firmware的字符串。
这个firmware到底是由内核模块加载的还是由用户态程序加载的?
作者: pqy    时间: 2014-12-30 23:20
本帖也可以结了,firmware是由网卡驱动自己载入的。
作者: mathias    时间: 2016-1-29 10:47
你要说明是怎么加载的啊...
作者: fzuzwl    时间: 2018-8-21 16:45
我也有此问题,请问楼主是怎么解决的
作者: mycup    时间: 2018-8-30 14:40
有点模糊的感觉




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1