赞
踩
应该是2016年之前的记录,之前没有写文档记录的习惯,都是随手记录的txt文件,所以没有图片、格式等。甚至现在看来有些地方逻辑不通(可能还因为年少轻狂,有些偏颇的话语),但是这些与现在的我不重要了,所以也不打算再复现、推理,重新编辑等,仅仅是在旧硬盘中发现,删除之前觉得可能还有点价值,记录下来吧。
参考find5的部分源码https://github.com/CyanogenMod/android_device_oppo_apq8064-common/tree/cm-11.0/wcnss_oppo
Android.mk和wcnss_oppo_client.c内容如下。
1:Android.mk
ifeq (
(
B
O
A
R
D
V
E
N
D
O
R
)
,
o
p
p
o
)
i
f
e
q
(
(BOARD_VENDOR),oppo) ifeq (
(BOARDVENDOR),oppo)ifeq((TARGET_BOARD_PLATFORM),msm8960)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := wcnss_oppo_client.c
LOCAL_C_INCLUDES += hardware/qcom/wlan/wcnss_service
LOCAL_CFLAGS += -Wall
LOCAL_SHARED_LIBRARIES := libc libcutils libutils liblog
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libwcnss_qmi
include $(BUILD_SHARED_LIBRARY)
endif
endif
2:wcnss_oppo_client.c
//#define LOG_NDEBUG 0
#define LOG_TAG “wcnss_oppo”
#define SUCCESS 0
#define FAILED -1
#define MAC_ADDR_PATH “/data/opponvitems/4678”
#define MAC_ADDR_SIZE 6
#define MAX_WAIT_COUNT 5
#define WAIT_TIME 500000
#include <cutils/log.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
int wcnss_init_qmi(void)
{
/* empty */
return SUCCESS;
}
int wcnss_qmi_get_wlan_address(unsigned char *pBdAddr)
{
int fd, ret, i;
char buf[MAC_ADDR_SIZE];
struct stat mac_stat;
do { usleep(WAIT_TIME); } while (stat(MAC_ADDR_PATH, &mac_stat) && i < MAX_WAIT_COUNT); if (i == MAX_WAIT_COUNT) { ALOGE("Failed to obtain MAC address from NV\n"); return FAILED; } fd = open(MAC_ADDR_PATH, O_RDONLY); if (fd < 0) { ALOGE("Failure opening MAC path: %d\n", errno); return FAILED; } ret = read(fd, buf, MAC_ADDR_SIZE); if (ret < 0) { ALOGE("Failure to read MAC data: %d\n", errno); close(fd); return FAILED; } /* swap bytes */ for (i = 0; i < MAC_ADDR_SIZE; i++) { pBdAddr[i] = buf[MAC_ADDR_SIZE - 1 - i]; } ALOGI("Found MAC address: %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx\n", pBdAddr[0], pBdAddr[1], pBdAddr[2], pBdAddr[3], pBdAddr[4], pBdAddr[5]); close(fd); return SUCCESS;
}
void wcnss_qmi_deinit(void)
{
/* empty */
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。