EP-N8530S USB WIFI 驱动移植
/*********************************************************************** * 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 ~]#