赞
踩
1. 平台 还是rk3399(am40)
2. 内核:linux5.10
3. 文件系统: firefly ubuntu20.04
4. 需要加载的驱动 rtl8822be (pci)接口
root@firefly:~# dmesg | grep 8822
[ 6.983329] rtw_8822be 0000:01:00.0: Direct firmware load for rtw88/rtw8822b_fw.bin failed with error -2
[ 6.992886] rtw_8822be 0000:01:00.0: enabling device (0000 -> 0002)
[ 7.006063] rtw_8822be 0000:01:00.0: failed to request firmware
[ 7.012028] rtw_8822be 0000:01:00.0: failed to load firmware
[ 7.017706] rtw_8822be 0000:01:00.0: failed to setup chip efuse info
[ 7.024072] rtw_8822be 0000:01:00.0: failed to setup chip information
[ 7.034789] rtw_8822be: probe of 0000:01:00.0 failed with error -22
放到了/lib/firmware/rtw88/目录下(没有目录的则新建一个)
重启后,无法加载,故障提示依旧。
又拷贝了一份到这个目录中
重启后,无法加载,故障提示依旧。
等到系统启动后,再分别加载对应的4个驱动,成功了。
cdn-dp fec00000.dp: Direct firmware load for rockchip/dptx.bin failed with error -2
但是,这个驱动不能改为模块了!!!!没法加载了
明明在/lib/firmware目录有这个文件,同时我也复制一份到/usr/local/lib下,
重启,故障依旧。
这个驱动加载的时候,文件系统还没有挂载,肯定没法找到对应的固件了。
那就必须把这个固件编译到内核中才行。说干就干!!!
firmware目录里面放两个文件夹(目前我只需要两个),分别是rockchip和rtw88
然后把对应的bin文件放到对应的目录中
make menuconfig
-> Device Drivers
-> Generic Driver Options
-> Firmware loader
-> Firmware loading facility (FW_LOADER [=y])
多个固件按空格分开,需要包含目录
烧录后,加载成功。
2.1 开始一直是在想应该放在哪个目录才能加载呢?其实方向错了,那个时间点,文件系统还没有挂载,放哪都找不到
2.2 对于Direct firmware load for xxxxxxx failed with error -2 这种类似的错误,应该都可以用这个方法解决。
2.3 cdn-dp的问题没有解决,驱动是成功加载了bin文件,但是依然是不能显示,待查吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。