求解无线网卡的firmware是怎么加载的?
官方内核不给力,连nfs客户端模块都没有,自己编译的内核又卡在无线网卡上了,不知道firmware是怎么加载的,仿照ubuntu镜像放在/system/etc/firmware下也没用。我的内存盘是buildroot制作的。
有没有人知道啊?求攻城狮啊!
想将无线驱动编译为模块也不行,报kernel_thread 未定义。。 wifi模组一般已经是编译成ko文件了,在内核加载。楼主在对应init.rc应该可以查到,是怎样加载。
另外帮你召唤Linux的版主大神:lol 一般来说WiFi驱动会单独编译成ko,Linux内核启动后根据init。rc或是其他脚本来加载wlan.ko。wlan。ko加载后会去文件系统的特定位置加载firmware,再通过接口下载到chip中去。 你可以看一下,是不是编译内核时,内核中引用了wlan.ko中的符号,之间有依赖关系导致的。 官方的配置文件,驱动是直接编译进内核的.我改为模块就编译不出来,说目标ko文件里的符号kernel_thread未定义。开机信息太多,不容易找到无线驱动部分,搞成模块来自己加载应该更容易找问题,但是编不成模块啊。
kernel/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c打印两行与firmware路径有关的字符串,但也只是打印而已,并没有进行具体的载入操作。奇怪的是刷了官方发布的ubuntu镜像,启动日记dmesg|grep firmware是可以看到打印出来的字符串的。而我自己编译的内核并没有打印任何包含firmware的字符串。
这个firmware到底是由内核模块加载的还是由用户态程序加载的? 本帖也可以结了,firmware是由网卡驱动自己载入的。 你要说明是怎么加载的啊... 我也有此问题,请问楼主是怎么解决的 有点模糊的感觉
页:
[1]