pqy 发表于 2014-12-29 21:51:28

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

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

pqy 发表于 2014-12-29 21:52:40

想将无线驱动编译为模块也不行,报kernel_thread 未定义。。

暴走的阿Sai 发表于 2014-12-30 09:25:12

wifi模组一般已经是编译成ko文件了,在内核加载。楼主在对应init.rc应该可以查到,是怎样加载。
另外帮你召唤Linux的版主大神:lol

先品 发表于 2014-12-30 09:42:30

一般来说WiFi驱动会单独编译成ko,Linux内核启动后根据init。rc或是其他脚本来加载wlan.ko。wlan。ko加载后会去文件系统的特定位置加载firmware,再通过接口下载到chip中去。 你可以看一下,是不是编译内核时,内核中引用了wlan.ko中的符号,之间有依赖关系导致的。

pqy 发表于 2014-12-30 11:55:14

官方的配置文件,驱动是直接编译进内核的.我改为模块就编译不出来,说目标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:07

本帖也可以结了,firmware是由网卡驱动自己载入的。

mathias 发表于 2016-1-29 10:47:10

你要说明是怎么加载的啊...

fzuzwl 发表于 2018-8-21 16:45:11

我也有此问题,请问楼主是怎么解决的

mycup 发表于 2018-8-30 14:40:09

有点模糊的感觉
页: [1]
查看完整版本: 求解无线网卡的firmware是怎么加载的?