gpt4 book ai didi

android - 内核模块在 Android 设备上找不到固件文件;它应该在哪里?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:49 26 4
gpt4 key购买 nike

我在 Android 设备上正确安装固件时遇到问题,我不断收到:

<3>[ 3590.997375] usb 3-1.4: ath9k_htc: Firmware - htc_7010.fw not found

如果在运行 Ubuntu 的标准 Linux 机器上,我将 htc_7010.fw 放在/lib/firmware 中,那么我不会收到此错误。

但是,如果我将此固件放在 Android 上的/lib/firmware 中,我仍然会收到错误消息。我已经尝试了以下所有目录,但仍然收到错误:

/lib/firmware
/etc/firmware
/system/lib/modules
/system/lib/firmware
/system/etc

没有这样的运气......什么决定了固件应该在哪里,我如何确定它正在扫描哪些目录以查找固件?

最佳答案

在 Android(无论如何是 ICS)上,它有自己的守护进程/服务(或任何你想调用它的东西)来管理热插拔事件,包括固件请求。在 <android>/system/core/init/devices.c , 有两个 #define s 指定检查固件的位置:

#define FIRMWARE_DIR1   "/etc/firmware"
#define FIRMWARE_DIR2 "/vendor/firmware"

在我最初构建 ICS 文件系统时,/etc/firmware不存在(并且 etc 目录似乎是在启动/初始化时创建的符号链接(symbolic link))。我必须将固件放在我的 NFS 安装 rootfs 上的目录是 <mount point>/system/etc/firmware

执行此操作后,我的模块的 request_firmware() 调用成功完成。

关于android - 内核模块在 Android 设备上找不到固件文件;它应该在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6019915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com