Hi3518EV100 切HI3518EV200後,wifi在ap模式下報如下錯誤.
V100的核心版本linux3.0.y ,V200為linux3.4.5.
一是版本不對,而是缺少接口支援
ERROR!!! MT7601 E2PROM: WRONG VERSION 0xc, should be 9
nl80211: Failed to set channel (freq=2437): -95 (Operation not supported)
Could not set channel for kernel driver
~ # insmod /ko/hi3518ev200_platform.ko
hi3516cv200_platform() Jun 22 2017 09:42:02 init OK!
~ #
~ # usb 1-1: new high-speed USB device number 2 using hiusb-ehci
~ # insmod /ko/hi3518ev200_platform.ko usbdev11 -> /dev/usbdev1.2
~ # insmod mt7601Usta.ko
rtusb init rt2870 —>
=== pAd = c3294000, size = 1581168 ===
<– RTMPAllocTxRxRingMemory, Status=0
<– RTMPAllocAdapterBlock, Status=0
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-JEDI.MP1.mt7601u.v1.5
Compile time-Jun 22 2017,17:29:19
==>WaitForAsicReady MAC_CSR0=0x76010500
==>WaitForAsicReady MAC_CSR0=0x76010500
NVM is EFUSE
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
80211> RFICType = 3
NumOfChan ===> 58
80211> Number of channel = 0x44
80211> Number of rate = 12
80211> CurTxPower = 0 dBm
80211> TxStream = 0
crda> requlation requestion by core: 00
80211> CFG80211_Register
usbcore: registered new interface driver rt2870
~ #
~ # ./hostapd hostap.conf -d
random: Trying to read entropy from /dev/random
Configuration file: hostap.conf
nl80211: Could not add multicast membership for vendor events: -2 (No such file or directory)
rfkill: initial event: idx=0 type=1 op=0 soft=0 hard=0
nl80211: Supported cipher 00-0f-ac:1
nl80211: Supported cipher 00-0f-ac:5
nl80211: S================> UP : RTMP_SEM_EVENT_WAIT(STA)
upported cipher 00-0f-ac:2
nl80211: Supported c1. LDO_CTR0(6c) = a64799, PMU_OCLEVEL c
ipher 00-0f-ac:4
nl80211: Disable use_m2. LDO_CTR0(6c) = a6478d, PMU_OCLEVEL 6
onitor with device_ap_sme since no monit==>WaitForAsicReady MAC_CSR0=0x76010500
or mode support detected
nl80211: interface wlan0 in phy phy0
nl80211: Set mode ifindex 3 iftype 3 (APFW Version:0.1.00 )
nl80211: Setup AP(wlan0) - device_ap_Build:7640
sme=1 use_monitor=0
nl80211: Subscribe Build Time:to mgmt frames with AP handle 0xe17250 (2device SME)
nl80211: Register frame typ0e=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=10xe17250 match=
nl80211: Enable Probe R3equest reporting nl_preq=0xe17548
nl802011: Register frame type=0x40 (WLAN_FC_ST1YPE_PROBE_REQ) nl_handle=0xe17548 match=0
40941____
ILM Length = 44276(bytes)
DLM Length = 0(bytes)
Loading FW….
RTMP_TimerListAdd: add timer obj c33bc764!
RTMP_TimerListAdd: add timer obj c33bc794!
RTMP_TimerListAdd: add timer obj c33bc7c4!
RTMP_TimerListAdd: add timer obj c33bc734!
RTMP_TimerListAdd: add timer obj c33bc6a4!
RTMP_TimerListAdd: add timer obj c33bc6d4!
RTMP_TimerListAdd: add timer obj c3350cdc!
RTMP_TimerListAdd: add timer obj c333d5d0!
RTMP_TimerListAdd: add timer obj c333d604!
RTMP_TimerListAdd: add timer obj c3350d7c!
RTMP_TimerListAdd: add timer obj c333ff80!
RTMP_TimerListAdd: add timer obj c333f7c0!
RTMP_TimerListAdd: add timer obj c333ff4c!
RTMP_TimerListAdd: add timer obj c334029c!
RTMP_TimerListAdd: add timer obj c333ffb4!
RTMP_TimerListAdd: add timer obj c333ffe8!
RTMP_TimerListAdd: add timer obj c334001c!
RTMP_TimerListAdd: add timer obj c329840c!
RTMP_TimerListAdd: add timer obj c3297c4c!
RTMP_TimerListAdd: add timer obj c32983d8!
RTMP_TimerListAdd: add timer obj c3298728!
RTMP_TimerListAdd: add timer obj c329865c!
RTMP_TimerListAdd: add timer obj c32cf684!
RTMP_TimerListAdd: add timer obj c32ceec4!
RTMP_TimerListAdd: add timer obj c32cf650!
RTMP_TimerListAdd: add timer obj c32cf9a0!
RTMP_TimerListAdd: add timer obj c32cf6b8!
RTMP_TimerListAdd: add timer obj c32cf6ec!
RTMP_TimerListAdd: add timer obj c32cf720!
RTMP_TimerListAdd: add timer obj c3350c7c!
RTMP_TimerListAdd: add timer obj c3350d4c!
RTMP_TimerListAdd: add timer obj c3413d20!
RTMP_TimerListAdd: add timer obj c3413d50!
RTMP_TimerListAdd: add timer obj c3413d80!
RTMP_TimerListAdd: add timer obj c3413db0!
RTMP_TimerListAdd: add timer obj c3413de0!
RTMP_TimerListAdd: add timer obj c3413e14!
RTMP_TimerListAdd: add timer obj c33bc704!
RTMP_TimerListAdd: add timer obj c333c5ec!
RTMP_TimerListAdd: add timer obj c333c5bc!
RTMP_TimerListAdd: add timer obj c333c58c!
RTMP_TimerListAdd: add timer obj c3350cac!
P2pGroupTabInit .
P2pScanChannelDefault <=== count = 3, Channels are 1, 6,11 separately
P2pCfgInit::
==>WaitForAsicReady MAC_CSR0=0x76010500
cfg_mode=9
cfg_mode=9
wmode_band_equal(): Band Equal!
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)
Force at HT20 (BW_20) mode !!!
- 1. Phy Mode = 14 2. Phy Mode = 14 NVM is Efuse and its size =1d[1e0-1fc] ERROR!!! MT7601 E2PROM: WRONG VERSION 0xc, should be 9 3. Phy Mode = 14 AntCfgInit: primary/secondary ant 0/1 —> InitFrequencyCalibration InitFrequencyCalibrationMode:Unknow mode = 3 InitFrequencyCalibration: frequency offset in the EEPROM = 113(0x71)
wme_enabled=1
ieee80211n=1
ht_capab=[SHORT-GI-20][SHORT-GI-40][HT40+]
ignore_broadcast_ssid=0
wpa=3
wpa_pairwise=TKIP CCMP
wpa_passphrase=123456789
~ #
— ./old1/cfg80211.c
+++ ./new1/cfg80211.c
@@ -275,7 +275,7 @@
========================================================================
*/
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32))
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
static int CFG80211_OpsChannelSet(
IN struct wiphy *pWiphy,
IN struct net_device *pDev,
@@ -3005,6 +3005,9 @@
.start_ap = CFG80211_OpsStartAp,
.change_beacon = CFG80211_OpsChangeBeacon,
.stop_ap = CFG80211_OpsStopAp,
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
+ .set_channel = CFG80211_OpsChannelSet,
+#endif
#endif
/* set channel for a given wireless interface */