/***********************************************************************
* EP-N8530S USB WIFI 驱动移植
* 说明:
* 测试一下之前给树莓派买的WIFI模块移植在其他的ARM系统上情况怎么样。
*
* 2017-7-13 深圳 龙华樟坑村 曾剑锋
**********************************************************************/


一、驱动下载:
http://www.edup.cn/support/xiazaizhongxin/ep-n8530sjinse-qudong-2/

二、驱动编译:
1. 阅读README:README_STA_usb文档;
2. 修改Makefile:
...
PLATFORM = NXP_TV550
...
ifeq ($(PLATFORM),NXP_TV550)
# LINUX_SRC = /data/tv550/kernel/linux-2.6.28.9
# LINUX_SRC_MODULE = /data/tv550/kernel/linux-2.6.28.9/drivers/net/wireless
# CROSS_COMPILE = /opt/embeddedalley/nxp_tv550/bin/mipsel-linux-

LINUX_SRC = /home/Qt/kernel/linuxQt_kernel
CROSS_COMPILE = arm-fsl-linux-gnueabi-
endif
...
3. 编译输出信息:
Qt@zengjf:~/tools/linux$ make
make -C tools
make[1]: Entering directory `/home/Qt/tools/linux/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory `/home/Qt/tools/linux/tools'
/home/Qt/tools/linux/tools/bin2h
cp -f os/linux/Makefile.6 /home/Qt/tools/linux/os/linux/Makefile
make -C /home/Qt/kernel/linuxQt_kernel SUBDIRS=/home/Qt/tools/linux/os/linux modules
make[1]: Entering directory `/home/Qt/kernel/linuxQt_kernel'
CC [M] /home/Qt/tools/linux/os/linux/../../os/linux/rt_profile.o
/home/Qt/tools/linux/os/linux/../../os/linux/rt_profile.c: In function 'announce_802_3_packet':
/home/Qt/tools/linux/os/linux/../../os/linux/rt_profile.c:331:16: warning: unused variable 'pAd' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../sta/assoc.o
CC [M] /home/Qt/tools/linux/os/linux/../../sta/auth.o
CC [M] /home/Qt/tools/linux/os/linux/../../sta/auth_rsp.o
CC [M] /home/Qt/tools/linux/os/linux/../../sta/sync.o
/home/Qt/tools/linux/os/linux/../../sta/sync.c: In function 'PeerBeacon':
/home/Qt/tools/linux/os/linux/../../sta/sync.c:2181:12: warning: passing argument 8 of 'StaAddMacTableEntry' from incompatible pointer type [enabled by default]
/home/Qt/tools/linux/include/rtmp.h:7892:9: note: expected 'struct IE_LISTS *' but argument is of type 'struct BCN_IE_LIST *'
CC [M] /home/Qt/tools/linux/os/linux/../../sta/sanity.o
CC [M] /home/Qt/tools/linux/os/linux/../../sta/rtmp_data.o
/home/Qt/tools/linux/os/linux/../../sta/rtmp_data.c: In function 'STAHandleRxDataFrame':
/home/Qt/tools/linux/os/linux/../../sta/rtmp_data.c:523:4: warning: passing argument 2 of 'MacTableLookup' from incompatible pointer type [enabled by default]
/home/Qt/tools/linux/include/rtmp.h:8429:18: note: expected 'UCHAR *' but argument is of type 'UCHAR (*)[6]'
CC [M] /home/Qt/tools/linux/os/linux/../../sta/connect.o
CC [M] /home/Qt/tools/linux/os/linux/../../sta/wpa.o
CC [M] /home/Qt/tools/linux/os/linux/../../sta/sta_cfg.o
/home/Qt/tools/linux/os/linux/../../sta/sta_cfg.c: In function 'RTMPIoctlRF':
/home/Qt/tools/linux/os/linux/../../sta/sta_cfg.c:5306:7: warning: format '%X' expects argument of type 'unsigned int', but argument 5 has type 'LONG' [-Wformat]
/home/Qt/tools/linux/os/linux/../../sta/sta_cfg.c:5359:3: warning: passing argument 2 of 'RtmpDrvAllRFPrint' from incompatible pointer type [enabled by default]
/home/Qt/tools/linux/include/rt_os_util.h:668:6: note: expected 'UINT32 *' but argument is of type 'PSTRING'
/home/Qt/tools/linux/os/linux/../../sta/sta_cfg.c:5209:22: warning: unused variable 'rf_bank' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../sta/sta_cfg.c: In function 'RtmpIoctl_rt_ioctl_siwgenie':
/home/Qt/tools/linux/os/linux/../../sta/sta_cfg.c:7610:13: warning: assignment from incompatible pointer type [enabled by default]
CC [M] /home/Qt/tools/linux/os/linux/../../common/crypt_md5.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/crypt_sha2.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/crypt_hmac.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/crypt_aes.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/crypt_arc4.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/mlme.o
/home/Qt/tools/linux/os/linux/../../common/mlme.c: In function 'AsicRxAntEvalTimeout':
/home/Qt/tools/linux/os/linux/../../common/mlme.c:5201:45: warning: unused variable 'rssi_diff' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_wep.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/action.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_data.o
/home/Qt/tools/linux/os/linux/../../common/cmm_data.c: In function 'CmdRspEventCallbackHandle':
/home/Qt/tools/linux/os/linux/../../common/cmm_data.c:2509:8: warning: unused variable 'Ret' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../common/cmm_data.c: In function 'StopDmaTx':
/home/Qt/tools/linux/os/linux/../../common/cmm_data.c:2684:8: warning: unused variable 'IdleNums' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../common/cmm_data.c:2682:20: warning: unused variable 'UsbCfg' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../common/rtmp_init.o
/home/Qt/tools/linux/os/linux/../../common/rtmp_init.c: In function 'NICInitAsicFromEEPROM':
/home/Qt/tools/linux/os/linux/../../common/rtmp_init.c:981:9: warning: unused variable 'i' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../common/rtmp_init.c: In function 'NICInitializeAdapter':
/home/Qt/tools/linux/os/linux/../../common/rtmp_init.c:1292:22: warning: unused variable 'GloCfg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../common/rtmp_init.c: In function 'NICInitializeAsic':
/home/Qt/tools/linux/os/linux/../../common/rtmp_init.c:1367:11: warning: unused variable 'KeyIdx' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../common/rtmp_init.c:1656:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
CC [M] /home/Qt/tools/linux/os/linux/../../common/rtmp_init_inf.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_tkip.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_aes.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_sync.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/eeprom.o
/home/Qt/tools/linux/os/linux/../../common/eeprom.c: In function 'RtmpChipOpsEepromHook':
/home/Qt/tools/linux/os/linux/../../common/eeprom.c:34:9: warning: unused variable 'e2p_csr' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_sanity.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_info.o
/home/Qt/tools/linux/os/linux/../../common/cmm_info.c: In function 'Set_DebugFunc_Proc':
/home/Qt/tools/linux/os/linux/../../common/cmm_info.c:1084:2: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'const char *' [-Wformat]
/home/Qt/tools/linux/os/linux/../../common/cmm_info.c:1084:2: warning: too many arguments for format [-Wformat-extra-args]
/home/Qt/tools/linux/os/linux/../../common/cmm_info.c: In function 'set_rf':
/home/Qt/tools/linux/os/linux/../../common/cmm_info.c:5730:3: warning: format '%x' expects argument of type 'unsigned int *', but argument 5 has type 'UCHAR *' [-Wformat]
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_cfg.o
/home/Qt/tools/linux/os/linux/../../common/cmm_cfg.c: In function 'wmode_valid_and_correct':
/home/Qt/tools/linux/os/linux/../../common/cmm_cfg.c:279:8: warning: unused variable 'mode' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../common/cmm_cfg.c: At top level:
/home/Qt/tools/linux/os/linux/../../common/cmm_cfg.c:264:16: warning: 'wmode_valid' defined but not used [-Wunused-function]
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_wpa.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_radar.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/spectrum.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/rtmp_timer.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/rt_channel.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_profile.o
/home/Qt/tools/linux/os/linux/../../common/cmm_profile.c: In function 'rtmp_read_multest_from_file':
/home/Qt/tools/linux/os/linux/../../common/cmm_profile.c:2671:23: warning: unused variable 'pWdsEntry' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_asic.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/scan.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_cmd.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/uapsd.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/ps.o
CC [M] /home/Qt/tools/linux/os/linux/../../rate_ctrl/ra_ctrl.o
CC [M] /home/Qt/tools/linux/os/linux/../../rate_ctrl/alg_legacy.o
CC [M] /home/Qt/tools/linux/os/linux/../../rate_ctrl/alg_ags.o
CC [M] /home/Qt/tools/linux/os/linux/../../chips/rtmp_chip.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/txpower.o
CC [M] /home/Qt/tools/linux/os/linux/../../mac/rtmp_mac.o
CC [M] /home/Qt/tools/linux/os/linux/../../mgmt/mgmt_hw.o
CC [M] /home/Qt/tools/linux/os/linux/../../mgmt/mgmt_entrytb.o
CC [M] /home/Qt/tools/linux/os/linux/../../phy/rtmp_phy.o
/home/Qt/tools/linux/os/linux/../../phy/rtmp_phy.c: In function 'NICInitBBP':
/home/Qt/tools/linux/os/linux/../../phy/rtmp_phy.c:61:8: warning: unused variable 'R0' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../phy/rlt_phy.o
CC [M] /home/Qt/tools/linux/os/linux/../../phy/rlt_rf.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/ba_action.o
CC [M] /home/Qt/tools/linux/os/linux/../../mgmt/mgmt_ht.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/rt_os_util.o
CC [M] /home/Qt/tools/linux/os/linux/../../os/linux/sta_ioctl.o
CC [M] /home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.o
/home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.c: In function 'RtmpOsUsDelay':
/home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.c:179:8: warning: unused variable 'i' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.c: In function 'RtmpDrvAllRFPrint':
/home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.c:2052:4: warning: passing argument 2 of 'file_w->f_op->write' from incompatible pointer type [enabled by default]
/home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.c:2052:4: note: expected 'const char *' but argument is of type 'UINT32 *'
/home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.c:2037:22: warning: unused variable 'macValue' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.c:2037:9: warning: unused variable 'macAddr' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.c: In function 'RtmpOSIRQRelease':
/home/Qt/tools/linux/os/linux/../../os/linux/rt_linux.c:2173:21: warning: unused variable 'net_dev' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../os/linux/rt_main_dev.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_mac_usb.o
/home/Qt/tools/linux/os/linux/../../common/cmm_mac_usb.c: In function 'RTMPAllocTxRxRingMemory':
/home/Qt/tools/linux/os/linux/../../common/cmm_mac_usb.c:562:31: warning: initialization from incompatible pointer type [enabled by default]
/home/Qt/tools/linux/os/linux/../../common/cmm_mac_usb.c: In function 'RT28XXDMAEnable':
/home/Qt/tools/linux/os/linux/../../common/cmm_mac_usb.c:1371:20: warning: unused variable 'UsbCfg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../common/cmm_mac_usb.c:1370:22: warning: unused variable 'GloCfg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../common/cmm_mac_usb.c: In function 'RT28xxUsbAsicRadioOn':
/home/Qt/tools/linux/os/linux/../../common/cmm_mac_usb.c:1931:22: warning: unused variable 'GloCfg' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../common/cmm_data_usb.o
/home/Qt/tools/linux/os/linux/../../common/cmm_data_usb.c: In function 'ComposeNullFrame':
/home/Qt/tools/linux/os/linux/../../common/cmm_data_usb.c:279:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
/home/Qt/tools/linux/os/linux/../../common/cmm_data_usb.c: At top level:
/home/Qt/tools/linux/os/linux/../../common/cmm_data_usb.c:222:13: warning: 'rlt_usb_update_txinfo' defined but not used [-Wunused-function]
CC [M] /home/Qt/tools/linux/os/linux/../../common/rtusb_io.o
/home/Qt/tools/linux/os/linux/../../common/rtusb_io.c: In function 'RTUSBWriteEEPROM':
/home/Qt/tools/linux/os/linux/../../common/rtusb_io.c:682:9: warning: unused variable 'Value' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../common/rtusb_data.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/rtusb_bulk.o
/home/Qt/tools/linux/os/linux/../../common/rtusb_bulk.c: In function 'RTUSBCancelPendingBulkOutIRP':
/home/Qt/tools/linux/os/linux/../../common/rtusb_bulk.c:1678:15: warning: assignment from incompatible pointer type [enabled by default]
CC [M] /home/Qt/tools/linux/os/linux/../../os/linux/rt_usb.o
/home/Qt/tools/linux/os/linux/../../os/linux/rt_usb.c: In function 'cmd_rsp_event_tasklet':
/home/Qt/tools/linux/os/linux/../../os/linux/rt_usb.c:537:22: warning: assignment from incompatible pointer type [enabled by default]
CC [M] /home/Qt/tools/linux/os/linux/../../common/ee_prom.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/ee_efuse.o
CC [M] /home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.o
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c: In function 'USBLoadIVB':
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c:68:9: warning: unused variable 'Temp' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c:67:9: warning: unused variable 'Index' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c:66:9: warning: unused variable 'Value' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c:65:9: warning: unused variable 'i' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c: In function 'USBLoadFirmwareToAndes':
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c:105:19: warning: unused variable 'MCtrl' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c:104:20: warning: unused variable 'UsbCfg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c: In function 'MCUCtrlExit':
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c:591:8: warning: unused variable 'Ret' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c: In function 'GetCmdRspNum':
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c:634:16: warning: unused variable 'IrqFlags' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c: In function 'AndesLedOP':
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_and.c:2071:9: warning: unused variable 'Value' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.o
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c: In function 'MCUBurstWrite':
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c:32:2: warning: passing argument 3 of 'RTUSBMultiWrite_nBytes' from incompatible pointer type [enabled by default]
/home/Qt/tools/linux/include/rtmp.h:7553:10: note: expected 'PUCHAR' but argument is of type 'UINT32 *'
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c: In function 'ChipOpsMCUHook':
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c:64:25: warning: assignment from incompatible pointer type [enabled by default]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c:71:25: warning: assignment from incompatible pointer type [enabled by default]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c:72:27: warning: assignment from incompatible pointer type [enabled by default]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c: In function 'MCURandomWrite':
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c:41:1: warning: control reaches end of non-void function [-Wreturn-type]
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c: In function 'MCUBurstWrite':
/home/Qt/tools/linux/os/linux/../../mcu/rtmp_mcu.c:33:1: warning: control reaches end of non-void function [-Wreturn-type]
CC [M] /home/Qt/tools/linux/os/linux/../../mcu/rtmp_M51.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/rt_rf.o
CC [M] /home/Qt/tools/linux/os/linux/../../chips/mt7601.o
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601_INIT_CAL':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:888:8: warning: unused variable 'Temperature' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'NICInitMT7601RFRegisters':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1006:9: warning: unused variable 'IdReg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'NICInitMT7601MacRegisters':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1044:9: warning: unused variable 'IdReg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'NICInitMT7601BbpRegisters':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1086:6: warning: unused variable 'IdReg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601_ChipSwitchChannel':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1442:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1272:6: warning: unused variable 'IdReg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601DisableTxRx':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1497:3: warning: 'return' with no value, in function returning non-void [-Wreturn-type]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601UsbAsicRadioOff':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1725:9: warning: unused variable 'Value' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601UsbAsicRadioOn':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1790:16: warning: unused variable 'pChipOps' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1789:22: warning: unused variable 'GloCfg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601_ReadChannelPwr':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:1905:10: warning: unused variable 'bUseDefault' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601AsicTemperatureCompensation':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2282:6: warning: unused variable 'IdReg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601_EnableTSSI':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2478:9: warning: unused variable 'ret' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2477:15: warning: unused variable 'BBPReg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2477:8: warning: unused variable 'RFReg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601_InitDesiredTSSITable':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2611:16: warning: unused variable 'offset' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2611:9: warning: unused variable 'index' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601_GetTssiCompensationParam':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2682:9: warning: unused variable 'ret' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2681:7: warning: unused variable 'count' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2675:8: warning: unused variable 'RFReg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601_AsicTxAlcGetAutoAgcOffset':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:2949:8: warning: unused variable 'BBPReg' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c: In function 'MT7601_Init':
/home/Qt/tools/linux/os/linux/../../chips/mt7601.c:3399:24: warning: assignment from incompatible pointer type [enabled by default]
CC [M] /home/Qt/tools/linux/os/linux/../../mac/ral_omac.o
CC [M] /home/Qt/tools/linux/os/linux/../../os/linux/rt_usb_util.o
/home/Qt/tools/linux/os/linux/../../os/linux/rt_usb_util.c: In function 'rausb_autopm_put_interface':
/home/Qt/tools/linux/os/linux/../../os/linux/rt_usb_util.c:120:7: warning: unused variable 'pm_usage_cnt' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../os/linux/rt_usb_util.c: In function 'rausb_autopm_get_interface':
/home/Qt/tools/linux/os/linux/../../os/linux/rt_usb_util.c:151:7: warning: unused variable 'pm_usage_cnt' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../os/linux/rt_usb_util.c:157:1: warning: control reaches end of non-void function [-Wreturn-type]
CC [M] /home/Qt/tools/linux/os/linux/../../os/linux/usb_main_dev.o
/home/Qt/tools/linux/os/linux/../../os/linux/usb_main_dev.c: In function 'rt2870_suspend':
/home/Qt/tools/linux/os/linux/../../os/linux/usb_main_dev.c:394:21: warning: unused variable 'net_dev' [-Wunused-variable]
/home/Qt/tools/linux/os/linux/../../os/linux/usb_main_dev.c: In function 'rt2870_resume':
/home/Qt/tools/linux/os/linux/../../os/linux/usb_main_dev.c:450:21: warning: unused variable 'net_dev' [-Wunused-variable]
CC [M] /home/Qt/tools/linux/os/linux/../../common/rtusb_dev_id.o
CC [M] /home/Qt/tools/linux/os/linux/../../common/frq_cal.o
/home/Qt/tools/linux/os/linux/../../common/frq_cal.c: In function 'InitFrequencyCalibration':
/home/Qt/tools/linux/os/linux/../../common/frq_cal.c:88:3: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'ULONG' [-Wformat]
/home/Qt/tools/linux/os/linux/../../common/frq_cal.c: In function 'FrequencyCalibrationMode':
/home/Qt/tools/linux/os/linux/../../common/frq_cal.c:130:9: warning: unused variable 'PreRFValue' [-Wunused-variable]
LD [M] /home/Qt/tools/linux/os/linux/mt7601Usta.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/Qt/tools/linux/os/linux/mt7601Usta.mod.o
LD [M] /home/Qt/tools/linux/os/linux/mt7601Usta.ko
make[1]: Leaving directory `/home/Qt/kernel/linuxQt_kernel'
cp -f /home/Qt/tools/linux/os/linux/mt7601Usta.ko /tftpboot 2>/dev/null || :

三、测试驱动:
1. 拷贝驱动配置:cp RT2870STA.dat /etc/Wireless/RT2870STA/RT2870STA.dat
2. 查看当前网卡信息并插入驱动:
root@freescale ~$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 1E:ED:19:27:1A:B3
inet addr:192.168.12.10 Bcast:192.168.12.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:101 errors:0 dropped:0 overruns:0 frame:0
TX packets:101 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:388039 (378.9 KiB) TX bytes:388039 (378.9 KiB)

root@freescale ~$ insmod mt7601Usta.ko
rtusb init rt2870 --->
usbcore: registered new interface driver rt2870

3. 插入USB模块输出信息:
root@freescale ~$ usb 2-1.3: new high speed USB device number 3 using fsl-ehci
usb 2-1.3: New USB device found, idVendor=148f, idProduct=7601
usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
===>rt2870_probe()!
--> RTMPAllocAdapterBlock


=== pAd = c0b3c000, size = 843016 ===

--> RTMPAllocTxRxRingMemory
<-- RTMPAllocTxRxRingMemory, Status=0
<-- RTMPAllocAdapterBlock, Status=0
NumEndpoints=8
BULK IN MaxPacketSize = 512
EP address = 0x84
BULK IN MaxPacketSize = 512
EP address = 0x85
BULK OUT MaxPacketSize = 512
EP address = 0x 8
BULK OUT MaxPacketSize = 512
EP address = 0x 4
BULK OUT MaxPacketSize = 512
EP address = 0x 5
BULK OUT MaxPacketSize = 512
EP address = 0x 6
BULK OUT MaxPacketSize = 512
EP address = 0x 7
BULK OUT MaxPacketSize = 512
EP address = 0x 9
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x8
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x4
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x5
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x6
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x7
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x9
STA Driver version-3.0.0.3
-->MT7601_Init():
Chip specific bbpRegTbSize=0!
Chip VCO calibration mode = 0!
NVM is EFUSE
Efuse Size=0x1d [Range:1e0-1fc]
Endpoint(8) is for In-band Command
Endpoint(4) is for WMM0 AC0
Endpoint(5) is for WMM0 AC1
Endpoint(6) is for WMM0 AC2
Endpoint(7) is for WMM0 AC3
Endpoint(9) is for WMM1 AC0
Endpoint(84) is for Data-In
Endpoint(85) is for Command Rsp
Allocate a net device with private data size=0!
Allocate net device ops success!
The name of the new ra interface is ra0...
RtmpOSNetDevAttach()--->
<---RtmpOSNetDevAttach(), ret=0
<===rt2870_probe()!

4. 查看所生成的网卡节点:
root@freescale ~$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 1E:ED:19:27:1A:B3
inet addr:192.168.12.10 Bcast:192.168.12.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:119 errors:0 dropped:0 overruns:0 frame:0
TX packets:119 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:388975 (379.8 KiB) TX bytes:388975 (379.8 KiB)

ra0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

root@freescale ~$
5. 配置测试:
[zengjf@root ~]# ls
RT2870STA.dat mt7601Usta.ko rt_ioctl_giwrange
[zengjf@root ~]# insmod mt7601Usta.ko
rtusb init rt2870 --->
===>rt2870_probe()!
--> RTMPAllocAdapterBlock


=== pAd = c0b44000, size = 843016 ===

--> RTMPAllocTxRxRingMemory
<-- RTMPAllocTxRxRingMemory, Status=0
<-- RTMPAllocAdapterBlock, Status=0
NumEndpoints=8
BULK IN MaxPacketSize = 512
EP address = 0x84
BULK IN MaxPacketSize = 512
EP address = 0x85
BULK OUT MaxPacketSize = 512
EP address = 0x 8
BULK OUT MaxPacketSize = 512
EP address = 0x 4
BULK OUT MaxPacketSize = 512
EP address = 0x 5
BULK OUT MaxPacketSize = 512
EP address = 0x 6
BULK OUT MaxPacketSize = 512
EP address = 0x 7
BULK OUT MaxPacketSize = 512
EP address = 0x 9
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x8
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x4
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x5
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x6
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x7
RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x9
STA Driver version-3.0.0.3
-->MT7601_Init():
Chip specific bbpRegTbSize=0!
Chip VCO calibration mode = 0!
NVM is EFUSE
Efuse Size=0x1d [Range:1e0-1fc]
Endpoint(8) is for In-band Command
Endpoint(4) is for WMM0 AC0
Endpoint(5) is for WMM0 AC1
Endpoint(6) is for WMM0 AC2
Endpoint(7) is for WMM0 AC3
Endpoint(9) is for WMM1 AC0
Endpoint(84) is for Data-In
Endpoint(85) is for Command Rsp
Allocate a net device with private data size=0!
Allocate net device ops success!
The name of the new ra interface is ra0...
RtmpOSNetDevAttach()--->
<---RtmpOSNetDevAttach(), ret=0
<===rt2870_probe()!
usbcore: registered new interface driver rt2870
[zengjf@root ~]# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.202 netmask 255.255.255.0 broadcast 192.168.1.255
ether 70:b3:d5:10:6f:91 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 46 bytes 3677 (3.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 46 bytes 3677 (3.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ra0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[zengjf@root ~]# ifconfig ra0 up
WlanFunCtrl.word = 0xff200003
MACVersion = 0x76010500
Allocate 8192 memory for BA reordering
MAC[Ver:Rev=0x76010500]
USBLoadFirmwareToAndes
--> NICInitRecv
<-- NICInitRecv()
--> NICInitTransmit
MGMT Ring: total 32 entry allocated
<-- NICInitTransmit(Status=0)
--> MLME Initialize
RTMP_TimerListAdd: add timer obj c0bc1b64!
RTMPInitTimer: c0bc1b64
RTMP_TimerListAdd: add timer obj c0bc1b94!
RTMPInitTimer: c0bc1b94
RTMP_TimerListAdd: add timer obj c0bc1bc4!
RTMPInitTimer: c0bc1bc4
RTMP_TimerListAdd: add timer obj c0bc1b34!
RTMPInitTimer: c0bc1b34
RTMP_TimerListAdd: add timer obj c0bc1aa4!
RTMPInitTimer: c0bc1aa4
RTMP_TimerListAdd: add timer obj c0bc1ad4!
RTMPInitTimer: c0bc1ad4
RTMP_TimerListAdd: add timer obj c0b56cdc!
RTMPInitTimer: c0b56cdc
RTMP_TimerListAdd: add timer obj c0b461a0!
RTMPInitTimer: c0b461a0
RTMP_TimerListAdd: add timer obj c0b461d4!
RTMPInitTimer: c0b461d4
RTMP_TimerListAdd: add timer obj c0b56d7c!
RTMPInitTimer: c0b56d7c
RTMP_TimerListAdd: add timer obj c0b56c7c!
RTMPInitTimer: c0b56c7c
RTMP_TimerListAdd: add timer obj c0b56d4c!
RTMPInitTimer: c0b56d4c
<-- MLME Initialize
--> UserCfgInit
--> UserCfgInit. BACapability = 0x3024040
<-- UserCfgInit
--> NICInitializeAdapter
==> DMAIdle, GloCfg=0x40000050
--> NICInitializeAsic
NICInitializeAsic():MACVersion[Ver:Rev=0x76010500]
< Beacon Information: >
FlgIsSupSpecBcnBuf = FALSE
BcnMaxHwNum = 16
BcnMaxNum = 16
BcnMaxHwSize = 0x2000
WcidHwRsvNum = 127
BcnBase[0] = 0xc000, pAd->BeaconOffset[0]=0xc000
BcnBase[1] = 0xc200, pAd->BeaconOffset[1]=0xc200
BcnBase[2] = 0xc400, pAd->BeaconOffset[2]=0xc400
BcnBase[3] = 0xc600, pAd->BeaconOffset[3]=0xc600
BcnBase[4] = 0xc800, pAd->BeaconOffset[4]=0xc800
BcnBase[5] = 0xca00, pAd->BeaconOffset[5]=0xca00
BcnBase[6] = 0xcc00, pAd->BeaconOffset[6]=0xcc00
BcnBase[7] = 0xce00, pAd->BeaconOffset[7]=0xce00
BcnBase[8] = 0xd000, pAd->BeaconOffset[8]=0xd000
BcnBase[9] = 0xd200, pAd->BeaconOffset[9]=0xd200
BcnBase[10] = 0xd400, pAd->BeaconOffset[10]=0xd400
BcnBase[11] = 0xd600, pAd->BeaconOffset[11]=0xd600
BcnBase[12] = 0xd800, pAd->BeaconOffset[12]=0xd800
BcnBase[13] = 0xda00, pAd->BeaconOffset[13]=0xda00
BcnBase[14] = 0xdc00, pAd->BeaconOffset[14]=0xdc00
BcnBase[15] = 0xde00, pAd->BeaconOffset[15]=0xde00
NICInitMT7601MacRegisters
BBP version = 69
NICInitMT7601BbpRegisters
--->Disable TSF synchronization
<-- NICInitializeAsic
<-- NICInitializeAdapter
CountryRegion=5
CountryRegionABand=7
CountryCode=
RTMPSetProfileParameters::(SSID=11n-AP)
RTMPSetProfileParameters::(NetworkType=1)
Channel=0
cfg_mode=9
Old WirelessMode:B/G(0x6), New WirelessMode:B/G/gN(0xe)!
wmode_band_equal(): Band Equal!
RT_CfgSetWirelessMode(): Set WMODE=B/G/gN(0xe)
PhyMode=14
BeaconPeriod=100
TxPower=100
BGProtection=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=0
WmmCapable=1
AckPolicy[0]=0
AckPolicy[1]=0
AckPolicy[2]=0
AckPolicy[3]=0
IEEE80211H=0
WirelessEvent=0
RTMPSetProfileParameters::(AuthMode=0)
RTMPSetProfileParameters::(EncrypType=1)
DefaultKeyID(0~3)=0
Key1Str is Invalid key length(0) or Type(0)
Key2Str is Invalid key length(0) or Type(0)
Key3Str is Invalid key length(0) or Type(0)
Key4Str is Invalid key length(0) or Type(0)
HT: MIMOPS Mode = 3
HT: BA Decline = Disable
HT: Auto BA = Enable
HT: RDG = Enable(+HTC)
HT: Tx A-MSDU = Disable
HT: MPDU Density = 4
HT: BA Windw Size = 64
HT: Guard Interval = 400
HT: Operate Mode = Mixed Mode
HT: Channel Width = 40 MHz
HT: Ext Channel = BELOW
HT: MCS = AUTO
HT: STBC = 0
HT: Disallow TKIP mode = ON
PSMode=0
MlmeSetPsmBit = 0
AutoRoaming=0
RoamThreshold=-70 dBm
TGnWifiTest=0
BeaconLostTime=400
1. Phy Mode = 14
2. Phy Mode = 14
--> NICReadEEPROMParameters
NVM is Efuse and its size =1d[1e0-1fc]
eFuseGetFreeBlockCount, FirstFreeBlock= 0x1e0
eFuseGetFreeBlockCount, LastFreeBlock= 0x1f2
eFuseGetFreeBlockCount is 19
NVM is Efuse and force to use EEPROM Buffer Mode=0
Initialize MAC Address from E2PROM
E2PROM MAC: =e8:4e:06:22:34:2f
Use the MAC address what is assigned from EEPROM.
Current MAC: =e8:4e:06:22:34:2f
E2PROM: Version = 8, FAE release #0
MT7601_ReadChannelPwr()--->
MT7601_ReadChannelPwr: EEPROM 0xD0 = 0x24
MT7601_ReadChannelPwr: TxPower[0].Power = 0x24, TxPower[1].Power = 0x24
MT7601_ReadChannelPwr: TxPower[2].Power = 0x24, TxPower[3].Power = 0x24
MT7601_ReadChannelPwr: TxPower[4].Power = 0x24, TxPower[5].Power = 0x24
MT7601_ReadChannelPwr: TxPower[6].Power = 0x24, TxPower[7].Power = 0x24
MT7601_ReadChannelPwr: TxPower[8].Power = 0x24, TxPower[9].Power = 0x24
MT7601_ReadChannelPwr: TxPower[10].Power = 0x24, TxPower[11].Power = 0x24
MT7601_ReadChannelPwr: TxPower[12].Power = 0x24, TxPower[13].Power = 0x24
MT7601_AsicAntennaDefaultReset
NICReadEEPROMParameters: RxPath = 1, TxPath = 1
E2PROM: RF FreqOffset=0x55
Txpower per Rate
Gpwrdelta = 0, Apwrdelta = 0 .
20MHz BW, 2.4G band-3f3f0404, Adata = 3f3f0404, Gdata = 3f3f0404
20MHz BW, 2.4G band-3f3f0000, Adata = 3f3f0000, Gdata = 3f3f0000
20MHz BW, 2.4G band-3f3f0000, Adata = 3f3f0000, Gdata = 3f3f0000
20MHz BW, 2.4G band-3f3f0000, Adata = 3f3f0000, Gdata = 3f3f0000
20MHz BW, 2.4G band-ffff0000, Adata = ffff0000, Gdata = ffff0000
TXALC> bInternalTxALC = 1
NICReadEEPROMParameters: pAd->Antenna.field.BoardType = 0, IS_MINI_CARD(pAd) = 1
<-- NICReadEEPROMParameters
3. Phy Mode = 14
--> NICInitAsicFromEEPROM
AntCfgInit: primary/secondary ant 0/1
pAd->TemperatureRef25C = 0xfffffff6
NICInitMT7601RFRegisters
==>MT7601_INIT_CAL
Boot up temperature = 0x1
tssi0_db_hvga = 5c5
tssi0_db = 43f
TssiDC0 = -1 (0xffffffff)
TssiDC0_HVGA = -4 (0xffffffff)
TSSI_DBOFFSET_HVGA = 186
MT7601AsicTemperatureCompensation::Change to TEMPERATURE_MODE_HIGH
<==MT7601_INIT_CAL
NICInitAsicFromEEPROM: pAd->TxPowerCtrl.bInternalTxALC = 1
Use Hw Radio Control Pin=0; if used Pin=0;
NICInitAsicFromEEPROM: pAd->FreqCalibrationCtrl.bEnableFrequencyCalibration = 1
TxPath = 1, RxPath = 1, RFIC=15
<-- NICInitAsicFromEEPROM
TSSI slope = 0x80, offset[0] = 0x0, offset[1] = 0x0, offset[2] = 0x0, TSSI_USE_H
TSSI T0 Delta offset = 0
Init MAC 13b4: 0xc9540029
PAModeCCK[0] = -5734
PAModeCCK[1] = -5734
PAModeCCK[2] = -5734
PAModeCCK[3] = -5734
PAModeOFDM[0] = 8847
PAModeOFDM[1] = 8847
PAModeOFDM[2] = 8847
PAModeOFDM[3] = 8847
PAModeOFDM[4] = 0
PAModeOFDM[5] = 0
PAModeOFDM[6] = 0
PAModeOFDM[7] = 0
PAModeHT[0] = 8847
PAModeHT[1] = 8847
PAModeHT[2] = 8847
PAModeHT[3] = 8847
PAModeHT[4] = 0
PAModeHT[5] = 0
PAModeHT[6] = 0
PAModeHT[7] = 0
PAModeHT[8] = 8847
PAModeHT[9] = 8847
PAModeHT[10] = 8847
PAModeHT[11] = 8847
PAModeHT[12] = 0
PAModeHT[13] = 0
PAModeHT[14] = 0
PAModeHT[15] = 0
---> InitFrequencyCalibration
InitFrequencyCalibrationMode:Unknow mode = 3
---> StopFrequencyCalibration
StopFrequencyCalibration: pAd->FreqCalibrationCtrl.AdaptiveFreqOffset = 0x55
<--- StopFrequencyCalibration
InitFrequencyCalibration: frequency offset in the EEPROM = 85(0x55)
<--- InitFrequencyCalibration
RTMPSetPhyMode : PhyMode=14, channel=0
country code=5/7, RFIC=15, PHY mode=14, support 14 channels
BuildChannel # 1 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 2 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 3 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 4 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 5 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 6 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 7 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 8 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 9 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 10 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 11 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 12 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 13 :: Pwr0 = 36, Pwr1 =0, Flags = 0
BuildChannel # 14 :: Pwr0 = 36, Pwr1 =0, Flags = 0
RTMPSetPhyMode: channel is out of range, use first channel=1
RTMPSetHT : HT_mode(0), ExtOffset(3), MCS(33), BW(1), STBC(0), SHORTGI(1)
RTMPSetHT : RxBAWinLimit = 64
RTMPSetHT : AMsduSize = 0, MimoPs = 3, MpduDensity = 4, MaxRAmpduFactor = 2
EDCA [#0]: AIFSN CWmin CWmax TXOP(us) ACM
AC_BE 3 4 6 0 0
AC_BK 7 4 10 0 0
AC_VI 1 3 4 3008 0
AC_VO 1 2 3 1504 0
RTMPSetIndividualHT : Desired MCS = 33
MlmeUpdateHtTxRates()===>
MlmeUpdateHtTxRates():<---.AMsduSize = 0
TX: MCS[0] = ff (choose 7), BW = 1, ShortGI = 1, MODE = 2,
MlmeUpdateHtTxRates():<===
MCS Set = ff 00 00 00 01
[zengjf@root ~]# NDIS_STATUS_MEDIA_DISCONNECT Event B!
RTUSBBulkReceive!
<==== rt28xx_init, Status=0
==> RTMPEnableRxTx
==> DMAIdle, GloCfg=0x40000050
<== RTMPEnableRxTx
0x1300 = 00064300
RTMPDrvOpen(1):Check if PDMA is idle!
==> DMAIdle, GloCfg=0x40000050
Driver auto reconnect to last OID_802_11_SSID setting - 11n-AP, len - 6
RTMPDrvOpen(2):Check if PDMA is idle!
==> DMAIdle, GloCfg=0x40000050
CntlOidSsidProc():CNTL - 0 BSS of 0 BSS match the desire (6)SSID - 11n-AP
CNTL - All roaming failed, restore to channel 1, Total BSS[00]

[zengjf@root ~]# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.202 netmask 255.255.255.0 broadcast 192.168.1.255
ether 70:b3:d5:10:6f:91 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 69 bytes 5510 (5.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 69 bytes 5510 (5.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ra0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether e8:4e:06:22:34:2f txqueuelen 1000 (Ethernet)
RX packets 4218 bytes 856078 (836.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[zengjf@root ~]# iwlist ra0 scan
===>rt_ioctl_giwrange
SCANNING, suspend MSDU transmission ...
SYNC - BBP R4 to 20MHz.l
MT7601_ChipSwitchChannel: SwitchChannel#1(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#2(RF=15, 1T)
===>rt_ioctl_giwscan. 5(5) BSS returned, data->length = 751
ra0 Scan completed :
Cell 01 - Address: F4:83:CD:FF:46:01
Protocol:11b/g/n BW40
ESSID:"zengjf-AP"
Mode:Managed
Frequency:2.412 GHz (Channel 1)
Quality=100/100 Signal level=-44 dBm Noise level=-92 dBm
Encryption key:on
Bit Rates:300 Mb/s
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
MT7601_ChipSwitchChannel: SwitchChannel#3(RF=15, 1T)
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Cell 02 - Address: 5A:C2:DD:BC:98:FD
Protocol:11b/g/n BW40
ESSID:"360WIFI"
Mode:Managed
Frequency:2.412 GHz (Channel 1)
Quality=24/100 Signal level=-80 dBm Noise level=-86 dBm
Encryption key:on
Bit Rates:150 Mb/s
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Cell 03 - Address: 00:36:76:04:AC:24
Protocol:11b/g/n BW40
ESSID:"360\xE5\x85\x8D\xE8\xB4\xB9WiFi-24"
Mode:Managed
Frequency:2.412 GHz (Channel 1)
Quality=20/100 Signal level=-82 dBm Noise level=-89 dBm
Encryption key:on
Bit Rates:150 Mb/s
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Cell 04 - Address: E8:4E:06:2B:7A:DD
PMT7601_ChipSwitchChannel: SwitchChannel#4(RF=15, 1T)
rotocol:11g/n BW40
ESSID:"N8508GS"
Mode:Managed
Frequency:2.412 GHz (Channel 1)
Quality=39/100 Signal level=-74 dBm Noise level=-69 dBm
Encryption key:on
Bit Rates:150 Mb/s
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Cell 05 - Address: 00:B0:C6:0F:24:B0
Protocol:11b/g/n BW40
ESSID:"zengjf-AP3"
Mode:Managed
Frequency:2.412 GHz (Channel 1)
Quality=60/100 Signal level=-66 dBm Noise level=-92 dBm
Encryption key:on
Bit Rates:300 Mb/s
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK

[zengjf@root ~]# MT7601_ChipSwitchChannel: SwitchChannel#5(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#6(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#7(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#8(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#9(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#10(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#11(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#12(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#13(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#14(RF=15, 1T)
MT7601_ChipSwitchChannel: SwitchChannel#1(RF=15, 1T)
SYNC - End of SCAN, restore to 20MHz channel 1, Total BSS[15]
SCAN done, resume MSDU transmission ...
CNTL - All roaming failed, restore to channel 1, Total BSS[15]
TSSI = 0x57
temperature = 0x2
PacketType = 0xBD
tx_11g_rate: b
Channel PWR + MCS PWR = 23000
TargetPower: 0x2528f(152207)
tssi_m_dc: 88
TssiLinear0: 87
TssiDC0: -1
tssi_offset: 0
tssi_offset<<9: 0
TssiSlope: 128
tssi_db: 1245
CurrentPower: 159360
PowerDiff: -7153
final PowerDiff: -2(0xfffffffe)
MAC 13b4: 0xc9540027

[zengjf@root ~]#