现在的位置: 首页 > 综合 > 正文

如何自己编译wireless tool

2018年04月16日 ⁄ 综合 ⁄ 共 5595字 ⁄ 字号 评论关闭

如何自己编译wireless tool

[DESCRIPTION]

由于涉及到license的问题,在ICS2版本之后,MTK默认不提供wireless tools

客户可以自行下载代码进行编译,为了应对可能的编译问题,本文将提供编译的方法。

[SOLUTION]

代码下载地址:http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz

 

 1    首先将解压的目录改名为wireless-tools,并放到/mediatek/source/external/目录下。

    (ALPS.JB.MP及之后的版本,放到如下目录:/mediatek/external/)

 

 2    Makefile文件内容相同,不用修改,而下载的代码缺少Android.mk文件,需要添加。

Android.mk的内容如下:

# Copyright Statement:

#

# This software/firmware and related documentation ("MediaTek Software") are

# protected under relevant copyright laws. The information contained herein

# is confidential and proprietary to MediaTek Inc. and/or its licensors.

# Without the prior written permission of MediaTek inc. and/or its licensors,

# any reproduction, modification, use or disclosure of MediaTek Software,

# and information contained herein, in whole or in part, shall be strictly prohibited.

 

# MediaTek Inc. (C) 2010. All rights reserved.

#

# BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES

# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")

# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON

# AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,

# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF

# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.

# NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE

# SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR

# SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH

# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES

# THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES

# CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK

# SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR

# STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND

# CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,

# AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,

# OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO

# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.

#

# The following software/firmware and/or related documentation ("MediaTek Software")

# have been modified by MediaTek Inc. All revisions are subject to any receiver's

# applicable license agreements with MediaTek Inc.

 

 

LOCAL_PATH:=$(call my-dir)

 

# iwlib

 

include $(CLEAR_VARS)

 

LOCAL_SRC_FILES := iwlib.c

LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC

LOCAL_STATIC_LIBRARIES := libcutils libc libm

LOCAL_MODULE := libiw

include $(BUILD_STATIC_LIBRARY)

 

# iwconfig

 

include $(CLEAR_VARS)

 

LOCAL_SRC_FILES := iwconfig.c

LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC

LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw

#LOCAL_FORCE_STATIC_EXECUTABLE := true

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)  # install to system/xbin

#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)

#LOCAL_MODULE_TAGS := eng user

LOCAL_MODULE:= iwconfig

include $(BUILD_EXECUTABLE)

 

# iwevent

 

include $(CLEAR_VARS)

 

LOCAL_SRC_FILES := iwevent.c

LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC

LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw

#LOCAL_FORCE_STATIC_EXECUTABLE := true

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)  # install to system/xbin

#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)

#LOCAL_MODULE_TAGS := eng user

LOCAL_MODULE:= iwevent

include $(BUILD_EXECUTABLE)

 

# iwgetid

 

include $(CLEAR_VARS)

 

LOCAL_SRC_FILES := iwgetid.c

LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC

LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw

#LOCAL_FORCE_STATIC_EXECUTABLE := true

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)  # install to system/xbin

#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)

#LOCAL_MODULE_TAGS := eng user

LOCAL_MODULE:= iwgetid

include $(BUILD_EXECUTABLE)

 

# iwlist

 

include $(CLEAR_VARS)

 

LOCAL_SRC_FILES := iwlist.c

LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC

LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw

#LOCAL_FORCE_STATIC_EXECUTABLE := true

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)  # install to system/xbin

#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)

#LOCAL_MODULE_TAGS := eng user

LOCAL_MODULE:= iwlist

include $(BUILD_EXECUTABLE)

 

# iwpriv

 

include $(CLEAR_VARS)

 

LOCAL_SRC_FILES := iwpriv.c

LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC

LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw

#LOCAL_FORCE_STATIC_EXECUTABLE := true

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)  # install to system/xbin

#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)

#LOCAL_MODULE_TAGS := eng user

LOCAL_MODULE:= iwpriv

include $(BUILD_EXECUTABLE)

 

# iwspy

 

include $(CLEAR_VARS)

 

LOCAL_SRC_FILES := iwspy.c

LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC

LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw

#LOCAL_FORCE_STATIC_EXECUTABLE := true

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)  # install to system/xbin

#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)

#LOCAL_MODULE_TAGS := eng user

LOCAL_MODULE:= iwspy

include $(BUILD_EXECUTABLE)

 

(JB2的版本内容稍有不同,请在上面6处
include $(BUILD_EXECUTABLE)和

 1处include $(BUILD_STATIC_LIBRARY)前面加上LOCAL_MODULE_TAGS :=optional这句

 

wireless.22.h改名为wireless.h

 

 4  iwlib.h文件内容略有不同,有些包含的头文件不同,也有些预定义内容不同,

修改如下两个地方:

#include <net/ethernet.h>     
/* struct ether_addr */

改为:

#include <net/if_ether.h>       
/* struct ether_addr */

 

#endif      
/* IW_EV_LCP_PK_LEN */

放到

#define IW_EV_POINT_PK_LEN      
(IW_EV_LCP_PK_LEN + 4)

后面

 

 

下载下来的代码多了一个 ifrename.c文件,可以删掉

抱歉!评论已关闭.