diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index 89068d3..49c183a 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -99,6 +99,8 @@ BOARD_HOSTAPD_DRIVER := NL80211 BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) BOARD_WPA_SUPPLICANT_DRIVER := NL80211 BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) +TARGET_PROVIDES_WCNSS_QMI := true +TARGET_USES_QCOM_WCNSS_QMI := true TARGET_USES_WCNSS_CTRL := true WPA_SUPPLICANT_VERSION := VER_0_8_X WIFI_DRIVER_FW_PATH_STA := "sta" diff --git a/libwcnss_qmi/Android.mk b/libwcnss_qmi/Android.mk new file mode 100644 index 0000000..b68fd7a --- /dev/null +++ b/libwcnss_qmi/Android.mk @@ -0,0 +1,28 @@ +# Copyright (C) 2015 The CyanogenMod Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := wcnss_qmi_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) diff --git a/libwcnss_qmi/wcnss_qmi_client.c b/libwcnss_qmi/wcnss_qmi_client.c new file mode 100644 index 0000000..31c7260 --- /dev/null +++ b/libwcnss_qmi/wcnss_qmi_client.c @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2015, The CyanogenMod Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//#define LOG_NDEBUG 0 + +#define LOG_TAG "wcnss_qmi" + +#define SUCCESS 0 +#define FAILED -1 + +#define MAC_INFO_FILE "/efs/wifi/.mac.info" + +#include +#include + +int wcnss_init_qmi(void) +{ + /* empty */ + return SUCCESS; +} + +int wcnss_qmi_get_wlan_address(unsigned char *mac) +{ + int i; + int tmp[6]; + FILE *f; + + if ((f = fopen(MAC_INFO_FILE, "r")) == NULL) { + ALOGE("%s: failed to open %s", __func__, MAC_INFO_FILE); + return FAILED; + } + + if (fscanf(f, "%02X:%02X:%02X:%02X:%02X:%02X", &tmp[0], &tmp[1], &tmp[2], &tmp[3], &tmp[4], &tmp[5]) != 6) { + ALOGE("%s: %s: file contents are not valid", __func__, MAC_INFO_FILE); + fclose(f); + return FAILED; + } else { + for (i = 0; i < 6; i++) mac[i] = tmp[i]; + } + + fclose(f); + return SUCCESS; +} + +void wcnss_qmi_deinit(void) +{ + /* empty */ +} diff --git a/msm8226.mk b/msm8226.mk index b619888..960fde8 100644 --- a/msm8226.mk +++ b/msm8226.mk @@ -180,6 +180,7 @@ PRODUCT_PACKAGES += \ libcurl \ libqsap_sdk \ libQWiFiSoftApCfg \ + libwcnss_qmi \ wcnss_service # Inherit from qcom-common