#define VIAWGET_WPA_MAX_BUF_SIZE 1024
-
-
static const int frequency_list[] = {
2412, 2417, 2422, 2427, 2432, 2437, 2442,
2447, 2452, 2457, 2462, 2467, 2472, 2484
/*--------------------- Static Functions --------------------------*/
-
-
-
/*--------------------- Export Variables --------------------------*/
static void wpadev_setup(struct net_device *dev)
{
return 0;
}
-
/*
* Description:
* unregister net_device (wpadev)
return 0;
}
-
-
-
-
/*
* Description:
* Set enable/disable dev for wpa supplicant daemon
return wpa_release_wpadev(pDevice);
}
-
/*
* Description:
* Set WPA algorithm & keys
int ret = 0;
int uu, ii;
-
if (param->u.wpa_key.alg_name > WPA_ALG_CCMP ||
param->u.wpa_key.key_len >= MAX_KEY_LEN ||
param->u.wpa_key.seq_len >= MAX_KEY_LEN)
//spin_unlock_irq(&pDevice->lock);
if (param->u.wpa_key.key && fcpfkernel) {
memcpy(&abyKey[0], param->u.wpa_key.key, param->u.wpa_key.key_len);
- }
- else {
+ } else {
spin_unlock_irq(&pDevice->lock);
if (param->u.wpa_key.key &&
copy_from_user(&abyKey[0], param->u.wpa_key.key, param->u.wpa_key.key_len)) {
if (param->u.wpa_key.alg_name == WPA_ALG_WEP) {
if (dwKeyIndex > 3) {
return -EINVAL;
- }
- else {
+ } else {
if (param->u.wpa_key.set_tx) {
pDevice->byKeyIndex = (unsigned char)dwKeyIndex;
pDevice->bTransmitKey = true;
//spin_unlock_irq(&pDevice->lock);
if (param->u.wpa_key.seq && fcpfkernel) {
memcpy(&abySeq[0], param->u.wpa_key.seq, param->u.wpa_key.seq_len);
- }
- else {
+ } else {
spin_unlock_irq(&pDevice->lock);
if (param->u.wpa_key.seq &&
copy_from_user(&abySeq[0], param->u.wpa_key.seq, param->u.wpa_key.seq_len)) {
if (param->u.wpa_key.set_tx)
dwKeyIndex |= (1 << 31);
-
if (pDevice->eEncryptionStatus == Ndis802_11Encryption3Enabled)
byKeyDecMode = KEY_CTL_CCMP;
else if (pDevice->eEncryptionStatus == Ndis802_11Encryption2Enabled)
*/
return ret;
-
}
-
/*
* Description:
* enable wpa auth & mode
static int wpa_set_wpa(PSDevice pDevice,
struct viawget_wpa_param *param)
{
-
PSMgmtObject pMgmt = pDevice->pMgmt;
int ret = 0;
return ret;
}
-
-
-
/*
* Description:
* set disassociate
return ret;
}
-
-
/*
* Description:
* enable scan process
return ret;
}
-
-
/*
* Description:
* get bssid
memcpy(param->u.wpa_associate.bssid, pMgmt->abyCurrBSSID , 6);
return ret;
-
}
-
/*
* Description:
* get bssid
return ret;
}
-
-
/*
* Description:
* get scan results
unsigned char *ptempBSS;
-
-
ptempBSS = kmalloc(sizeof(KnownBSS), (int)GFP_ATOMIC);
if (ptempBSS == NULL) {
-
printk("bubble sort kmalloc memory fail@@@\n");
ret = -ENOMEM;
}
for (ii = 0; ii < MAX_BSS_NUM; ii++) {
-
for (jj = 0; jj < MAX_BSS_NUM - ii - 1; jj++) {
-
if ((pMgmt->sBSSList[jj].bActive != true) ||
((pMgmt->sBSSList[jj].uRSSI > pMgmt->sBSSList[jj + 1].uRSSI) && (pMgmt->sBSSList[jj + 1].bActive != false))) {
-
memcpy(ptempBSS, &pMgmt->sBSSList[jj], sizeof(KnownBSS));
memcpy(&pMgmt->sBSSList[jj], &pMgmt->sBSSList[jj + 1], sizeof(KnownBSS));
}
kfree(ptempBSS);
-
- // printk("bubble sort result:\n");
-
- //for (ii = 0; ii < MAX_BSS_NUM; ii++)
-
- // printk("%d [%s]:RSSI=%d\n",ii,((PWLAN_IE_SSID)(pMgmt->sBSSList[ii].abySSID))->abySSID,
-
- // pMgmt->sBSSList[ii].uRSSI);
-
#endif
//******mike:bubble sort by stronger RSSI*****//
-
-
-
count = 0;
pBSS = &(pMgmt->sBSSList[0]);
for (ii = 0; ii < MAX_BSS_NUM; ii++) {
return ret;
}
-
-
/*
* Description:
* set associate with AP
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "mode = %d\n", param->u.wpa_associate.mode);
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "wpa_ie_len = %d\n", param->u.wpa_associate.wpa_ie_len);
-
if (param->u.wpa_associate.wpa_ie_len) {
if (!param->u.wpa_associate.wpa_ie)
return -EINVAL;
// set bssid
if (memcmp(param->u.wpa_associate.bssid, &abyNullAddr[0], 6) != 0)
memcpy(pMgmt->abyDesireBSSID, param->u.wpa_associate.bssid, 6);
- else
- {
+ else {
bScheduleCommand((void *)pDevice, WLAN_CMD_BSSID_SCAN, pItemSSID->abySSID);
}
pDevice->eEncryptionStatus = Ndis802_11Encryption1Enabled;
//pMgmt->eAuthenMode = WMAC_AUTH_SHAREKEY;
pMgmt->bShareKeyAlgorithm = true;
- }
- else if (pMgmt->eAuthenMode == WMAC_AUTH_OPEN) {
+ } else if (pMgmt->eAuthenMode == WMAC_AUTH_OPEN) {
if (!bWepEnabled) pDevice->eEncryptionStatus = Ndis802_11EncryptionDisabled;
else pDevice->eEncryptionStatus = Ndis802_11Encryption1Enabled;
//pMgmt->eAuthenMode = WMAC_AUTH_OPEN;
return ret;
}
-
/*
* Description:
* wpa_ioctl main function supported for wpa supplicant
return ret;
}
-