kernel module cannot find firmware file on Android device; where should it be?

前端 未结 3 1485
执笔经年
执笔经年 2021-02-10 02:40

I am having trouble placing firmware properly on an Android device, I keep getting:

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


        
3条回答
  •  闹比i
    闹比i (楼主)
    2021-02-10 03:10

    On Android (ICS anyways) it has its own daemon/service (or whatever you want to call it) to manage hotplug events, including firmware requests. In /system/core/init/devices.c, there are two #defines that specify locations where firmware will be checked:

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

    On my initial build of the ICS filesystem, /etc/firmware didn't exist (and the etc directory seems to be a symbolic link created at boot/init time). The directory I had to place firmware in on my NFS mounted rootfs was /system/etc/firmware

    After doing this, request_firmware() calls from my module successfully completed.

提交回复
热议问题