- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这个问题可以被标记为与这个“kernel module cannot find firmware file on Android device; where should it be?”重复,但由于我无法解决我的问题,所以我想发布这个问题。
我在 Android LOllipop 和我的内核模块中工作,wifi 模块 8192du.ko 被复制到/system/lib/modules 文件夹,固件 rtl81992dufw.bin 被复制到“/system/etc/firmware/rtlwifi/”根据 system/core/init/devices.c 文件。
但我收到“E/WifiHW ( 161): Failed to open wlan fw path param (No such file or directory)”错误。
int wifi_change_fw_path(const char *fwpath){
int len;
int fd;
int ret = 0;
if (!fwpath)
return ret;
fd = TEMP_FAILURE_RETRY(open(WIFI_DRIVER_FW_PATH_PARAM, O_WRONLY));
if (fd < 0) {
ALOGE("Failed to open wlan fw path param (%s)", strerror(errno));
return -1;
}
len = strlen(fwpath) + 1;
if (TEMP_FAILURE_RETRY(write(fd, fwpath, len)) != len) {
ALOGE("Failed to write wlan fw path param (%s)", strerror(errno));
ret = -1;
}
close(fd);
return ret;}
这是我的 wifi.c 代码,我已将 WIFI_DRIVER_FW_PATH_PARAM 宏定义为“/system/etc/firmware/rtlwifi/”。
当我根据内核中的驱动程序 Makefile 将固件复制到/system/lib/firmware/rtlwifi/路径时,出现只读文件系统错误。
我遇到固件路径问题的两种方式....有什么帮助吗?
最佳答案
该错误消息指的是另一个问题。在我的 hardware/libhardware_legacy/wifi/wifi.c
我有:
#ifndef WIFI_DRIVER_FW_PATH_PARAM
#define WIFI_DRIVER_FW_PATH_PARAM "/sys/module/wlan/parameters/fwpath"
#endif
我认为 sysfs 条目允许固件更改状态。更多信息在这里:https://www.reddit.com/r/oneplusone/comments/3c4nen/debian_running_on_oneplus_one_lxde_desktop/
wcnss_service runs fine after all this madness and no more errors in kernel log. Now to start the WiFi card, after some more trial and error and luck, it turns out you have to write "sta" to /sys/module/wlan/parameters/fwpath echo sta > /sys/module/wlan/parameters/fwpath Then the WiFi interface is finally visible with ifconfig -a. In my case, my driver loads as
/sys/module/rtl8192cu/parameters
, but there is no fwpath parameter there. I'm still trying to figure out how to handle that case.
至于rtl81992dufw.bin
,当wifi运行
内核加载它。检查 dmesg 而不是 logcat 以查看它是否正确加载。如果没有,请检查驱动程序代码以查看它期望在何处找到固件。insmod
时,它可能会被你的驱动程序8192du.ko
正确加载.c
关于android - 无法在 Android 中加载固件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33807981/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!