亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? zddebug.c

?? GW-US54GXS_Linux_v2.15.0.0_CE zd1211原碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
		{	
                    if (valid_uid[UserIdBase+jj])
		    {
			printk(KERN_ERR "UID:%d Mac:%02x:%02x:%02x:%02x:%02x:%02x\n",UserIdBase+jj, MACINCAM[0]&255, MACINCAM[1]&255, MACINCAM[2]&255, MACINCAM[3]&255,MACINCAM[4]&255,MACINCAM[5]&255);
	 	    }
		    MACINCAM[0]=MACINCAM[0]>>8;
		    MACINCAM[1]=MACINCAM[1]>>8;
		    MACINCAM[2]=MACINCAM[2]>>8;
		    MACINCAM[3]=MACINCAM[3]>>8;
		    MACINCAM[4]=MACINCAM[4]>>8;
		    MACINCAM[5]=MACINCAM[5]>>8;
		}
		UserIdBase = UserIdBase+4;
	}
	// Dump Encryption type: CAM location: 60-65
	//tmpRollCallTblLow=RollCallTblLow;
	//tmpRollCallTblHigh=RollCallTblHigh;
	for(ii=60; ii<66; ii++)
	{
	    data = HW_CAM_Read(&dot11Obj, ii);
	    UserIdBase=(ii-60)*8; //One location for 8 users.
	    if (UserIdBase >= 40)
	    {
	        {//location 65:For default key
	            printk(KERN_ERR "DefaultKeySet:%s\n",EncTypeStr[data&7]);
	        }
	    }
	    else
	    {
	        for(jj=0; jj<8; jj++)
	        {
		    if (valid_uid[UserIdBase+jj])
		    {
			printk(KERN_ERR "UID:%02d:%s\n",UserIdBase+jj,EncTypeStr[data&7]);
			valid_uid[UserIdBase+jj] |= ((data & 7)<<1);
		    }
                    data = data >> 4; // Next user.
	        }
	    }
        }   
	printk(KERN_ERR "KeyContents:\n");
	for (ii=0; ii<40; ii++)
	{
	    u32 keylen;
	    u32 keytype;
		
	    if (valid_uid[ii])
	    {
		keytype=valid_uid[ii]>>1;
		switch(keytype){
		case 2://TKIP
		    keylen=32;
		    break;
		case 4://AES
		    keylen=16;
		    break;
		case 1://WEP64
		    keylen=8;
		    break;
		case 5://WEP128
		    keylen=16;
		    break;
		default:
		    keylen=0;
		    break;
		}
		keylen = keylen >> 2;
		printk(KERN_ERR "UID:%02d\n", ii);
		for (jj=0; jj<keylen; jj++)
		{    
	    	    data = HW_CAM_Read(&dot11Obj, (66+(8*ii))+jj);
		    printk(KERN_ERR "%08x\n", data);
		}
	    }	
	}		
	printk(KERN_ERR "\n");
}
void zd1205_cam_read(struct zd1205_private *macp, u32 addr)
{
	u32 value = HW_CAM_Read(&dot11Obj, addr);
	printk(KERN_ERR "Addr: 0x%08x, value = 0x%08x\n", addr, value);
}

void zd1205_cam_write(struct zd1205_private *macp, u32 addr, u32 value)
{
	HW_CAM_Write(&dot11Obj, addr, value);
	printk(KERN_ERR "Write value: 0x%08x to CAM address: 0x%08x\n", value, addr);
}

void zd1205_cam_rest(struct zd1205_private *macp, int mode)
{

}

int zd1205_zd_dbg_ioctl(struct zd1205_private *macp, struct zdap_ioctl *zdreq)
{
	void *regp = macp->regp;
	u16 zd_cmd;
	u32 tmp_value;
	u32 tmp_addr;
	u32 CRn;
 
	zd_cmd = zdreq->cmd;

	switch(zd_cmd) {
	case ZD_IOCTL_DEBUG_FLAG:
		macp->debugflag = zdreq->addr;
		mDebugFlag = zdreq->value;
		break;
	case ZD_IOCTL_REG_READ:
		LockPhyReg(&dot11Obj);
		tmp_value = zd_readl(zdreq->addr);
		UnLockPhyReg(&dot11Obj);
		zdreq->value = tmp_value;

		printk(KERN_DEBUG "zd1211 read register:  reg = 0x%04x, value = 0x%08x\n",
			zdreq->addr, zdreq->value);
		//if (copy_to_user(ifr->ifr_data, &zdreq, sizeof (zdreq)))
		//return -EFAULT;
		break;

	case ZD_IOCTL_REG_WRITE:
		LockPhyReg(&dot11Obj);
		zd_writel(zdreq->value, zdreq->addr);
		UnLockPhyReg(&dot11Obj); 

		if (zdreq->addr == RX_OFFSET_BYTE)
			macp->rxOffset = zdreq->value;
		break;

	case ZD_IOCTL_MEM_DUMP:
		zd1205_dump_data("mem", (u8 *)zdreq->addr, zdreq->value);
		//memcpy(&zdreq->data[0], (u8 *)zdreq->addr, zdreq->value);
		//if (copy_to_user(ifr->ifr_data, &zdreq, sizeof (zdreq)))
		//return -EFAULT;
		break;

	case ZD_IOCTL_RATE:
		/* Check for the validation of vale */
		if(zdreq->value > 3 || zdreq->value < 0)
		{
			printk(KERN_DEBUG "zd1205: Basic Rate %x doesn't support\n", zdreq->value);
			break;
		}

		printk(KERN_DEBUG "zd1205: Basic Rate = %x\n", zdreq->value);
		zd1205_update_brate(macp, zdreq->value);
		break;

        case ZD_IOCTL_SNIFFER:
		macp->sniffer_on = zdreq->value;
		printk(KERN_DEBUG "zd1205: sniffer_on = %x\n", macp->sniffer_on);
		zd1205_set_sniffer_mode(macp);
		break;
 
 	case ZD_IOCTL_CAM_DUMP://Arg1: Location, Arg2: Length
	{
		u32 startAddr, length;
		startAddr=((zdreq->addr & 0xF00)>>8)*100+
			((zdreq->addr & 0xF0)>>4)*10+
			(zdreq->addr & 0xF);
		length=((zdreq->value & 0xF00)>>8)*100+
			((zdreq->value & 0xF0)>>4)*10+
			(zdreq->value & 0xF);
 		printk(KERN_DEBUG "zd1205: dump cam\n");
 		zd1205_dump_cam(macp,startAddr,length);
 		break;
 	}
        case ZD_IOCTL_DUMP_PHY:
		printk(KERN_DEBUG "zd1205: dump phy\n");
		zd1205_dump_phy(macp);
		break;
		case ZD_IOCTL_READ_PHY:
		case ZD_IOCTL_WRITE_PHY:	
			LockPhyReg(&dot11Obj);
			tmp_addr = zdreq->addr;
			CRn=    ((tmp_addr & 0xF00)>>8)*100+
				((tmp_addr & 0xF0)>>4)*10+
				(tmp_addr & 0xF);
			if (CRn >= 4 && CRn <= 8)//Special handling for CR4 to CR8
			{
				u8 cnvtbl1[]={0x20, 0x10, 0x14, 0x18, 0x1c};
				tmp_addr = cnvtbl1[CRn-4];
			}
			else
			{
				tmp_addr = CRn*4;
			}
			if (zd_cmd == ZD_IOCTL_READ_PHY)
			{	
				zdreq->value = zd_readl(tmp_addr);
				printk(KERN_DEBUG "CR%d=0x%x\n",CRn, zdreq->value);
			}
			else
			{// ZD_IOCTL_WRITE_PHY
				zd_writel(zdreq->value, tmp_addr);
				printk(KERN_DEBUG "set CR%d=0x%x\n",CRn, zdreq->value);
			}
			UnLockPhyReg(&dot11Obj);
			break;

        case ZD_IOCTL_CARD_SETTING:
		printk(KERN_DEBUG "zd1205: card setting\n");
		zd1205_show_card_setting(macp);
		break;

	case ZD_IOCTL_HASH_DUMP:
		printk(KERN_DEBUG "zd1205: aid = %x\n", zdreq->value);
		zd1205_show_hash(macp, zdreq->value);
		break;    

	case ZD_IOCTL_RFD_DUMP:
		printk(KERN_DEBUG "===== zd1205 rfd dump =====\n");
		zd1205_dump_rfds(macp);
		break;
                                            
	case ZD_IOCTL_MEM_READ: {
		u32 *p;

		p = (u32 *) bus_to_virt(zdreq->addr);
		printk(KERN_DEBUG "zd1205: read memory addr: 0x%08x value: 0x%08x\n", zdreq->addr, *p);
		break;
	}

        case ZD_IOCTL_MEM_WRITE: {
		u32 *p;

		p = (u32 *) bus_to_virt(zdreq->addr);
		*p = zdreq->value;
		printk(KERN_DEBUG "zd1205: write value: 0x%08x to memory addr: 0x%08x\n", zdreq->value, zdreq->addr);
		break;
        }
         	
	case ZD_IOCTL_TX_RATE:
		printk(KERN_DEBUG "zd1205: set tx rate = %d\n", zdreq->value);

		if (zdreq->value < 0x0c){
			macp->cardSetting.FixedRate = zdreq->value;
			macp->bFixedRate = 1;
		}
		else
			macp->bFixedRate = 0;    
		break;

	case ZD_IOCTL_EEPROM:
		printk(KERN_DEBUG "zd1205: dump eeprom\n");
		zd1205_dump_eeprom(macp);
		break;

	/* Generate the beacon */
	case ZD_IOCTL_BCN:
		dot11Obj.dbg_cmd |= DBG_CMD_BEACON;
		printk(KERN_DEBUG "zd1205: configuration beacon\n");
		ConfigBcnFIFO();
		break;

	case ZD_IOCTL_REG_READ16:
		tmp_value = zd1211_readl(zdreq->addr, false);
		zdreq->value = tmp_value & 0xffff;
		printk(KERN_DEBUG "zd1205 read register:  reg = %4x, value = %4x\n",
			zdreq->addr, zdreq->value);
		break;

        case ZD_IOCTL_REG_WRITE16:
		tmp_value = zdreq->value & 0xffff;
		zd1211_writel(zdreq->addr, tmp_value, false);
		printk(KERN_DEBUG "zd1205 write register: reg = %4x, value = %4x\n",
                           zdreq->addr, zdreq->value);
		break;

	case ZD_IOCTL_CAM_READ:
		printk(KERN_ERR "zd1205: cam read, addr: 0x%08x\n", zdreq->addr);
		zd1205_cam_read(macp, zdreq->addr);
		break;

	case ZD_IOCTL_CAM_WRITE:
		printk(KERN_ERR "zd1205: cam write, addr: 0x%08x value: 0x%08x\n", zdreq->addr, zdreq->value);
		zd1205_cam_write(macp, zdreq->addr, zdreq->value);
		break;
	
	case ZD_IOCTL_CAM_RESET:
		printk(KERN_ERR "zd1205: reset cam\n");
		zd1205_cam_rest(macp, zdreq->value);
		break;

	case ZD_IOCTL_CONT_TX:
		zd1205_cont_tx(macp, zdreq->value);
		break;
	case ZD_IOCTL_SET_MIC_CNT_ENABLE:
		dot11Obj.MIC_CNT = zdreq->value>0?1:0;
        printk("WPA MIC Counter Measure Feature : %s\n",
                dot11Obj.MIC_CNT ? "Enable":"Disalbe");

		break;
	case ZD_IOCTL_GET_MIC_CNT_ENABLE:
		printk("WPA MIC Counter Measure Feature : %s\n",
				dot11Obj.MIC_CNT ? "Enable":"Disalbe");
		break;
    case ZD_IOCTL_UW_PWR :
        if(zdreq->addr == 0)
            printk("Current Level : %d\n",dot11Obj.UWCurrentTxLevel);
        else if(zdreq->addr == 1)
        {
            printk("Set Current Level : %d\n", zdreq->value);
            if(zdreq->value < 19 && zdreq->value >= 0)
            {
                dot11Obj.UWCurrentTxLevel = zdreq->value;
                dot11Obj.UWDefaulTxLevel  = zdreq->value;
                PHY_UWTxPower(&dot11Obj, dot11Obj.UWDefaulTxLevel);
            }
        }
        else
            printk("Unknown Command : %d\n", zdreq->addr);
        break;
	default :
		printk(KERN_ERR "zd_dbg_ioctl: error command = %x\n", zd_cmd);
		break;
	}

	return 0;
}    

int zd1205_wpa_ioctl(struct zd1205_private *macp, struct zydas_wlan_param *zdparm)
{
	card_Setting_t *pSetting = &macp->cardSetting;
	int ret = 0;
	u8 keylen;
	u8 idx;
	u8 *pkey;
	u8 CamEncryType=0;
	u8 tmpDynKeyMode;

#ifdef HOSTAPD_SUPPORT
    u8 mac_addr[80];
#endif

//Test write permission
	switch(zdparm->cmd) {
		case ZD_CMD_SET_ENCRYPT_KEY:
				{// Dump key info:
					WPADEBUG("SET_ENCRYPT_KEY: alg=%s key_idx=%d set_tx=%d key_len=%d ,WPAIeLen=%d, for " MACSTR "\n", zdparm->u.crypt.alg, zdparm->u.crypt.idx, zdparm->u.crypt.flags, zdparm->u.crypt.key_len, macp->cardSetting.WPAIeLen, MAC2STR(zdparm->sta_addr));
				}
				keylen = zdparm->u.crypt.key_len;
				idx = zdparm->u.crypt.idx;
				pkey = zdparm->u.crypt.key;

				if (!strcmp(zdparm->u.crypt.alg, "NONE")) 
				{
					U8 zero_mac[]={0,0,0,0,0,0};
				
                                        CamEncryType = NO_WEP;
				//	pSetting->DynKeyMode = 0;
                                  //      pSetting->EncryMode=0;
                                    //    mKeyFormat=0;
					
					zd_SetKeyInfo(zdparm->sta_addr, CamEncryType, keylen, idx, pkey);
					if (zdparm->sta_addr[0] & 1)//del group key
					{
						if (macp->cardSetting.WPAIeLen==0)
						{//802.1x dynamic WEP
							mDynKeyMode = 0;
							mKeyFormat = 0;
							mPrivacyInvoked=FALSE;
							mCap &= ~CAP_PRIVACY;
							macp->cardSetting.EncryOnOff=0;
						}
						mWpaBcKeyLen = mGkInstalled = 0;
					}
					else
					{
						if (memcmp(zero_mac,zdparm->sta_addr, 6)==0)
						{
							mDynKeyMode=0;
							mKeyFormat=0;
							pSetting->DynKeyMode=0;
							pSetting->EncryMode=0;
							mDynKeyMode=0;
						}
					}
					return ret;
				}
				else if (!strcmp(zdparm->u.crypt.alg, "TKIP")) 
				{
                                        CamEncryType = TKIP;
					//if (idx == 0)
					{// Pairwise key
						mKeyFormat = CamEncryType;
						mDynKeyMode = pSetting->DynKeyMode = DYN_KEY_TKIP;
					}
				}
				else if (!strcmp(zdparm->u.crypt.alg, "CCMP"))
				{
                                        CamEncryType = AES;
					//if (idx == 0)
					{// Pairwise key
						mKeyFormat = CamEncryType;
						mDynKeyMode = pSetting->DynKeyMode = DYN_KEY_AES;
					}
				}
				else if (!strcmp(zdparm->u.crypt.alg, "WEP"))
				{
					if (keylen == 5)
					{ // WEP 64

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频一区二区三区在线播放| 精品三级在线看| 欧美色男人天堂| 亚洲人午夜精品天堂一二香蕉| 日韩成人免费看| 精品久久久久久最新网址| 欧美日本在线一区| 777午夜精品视频在线播放| 亚洲三级视频在线观看| 成人国产精品免费| 亚洲欧洲www| 波多野结衣中文字幕一区 | 色综合久久久久综合| 国产亚洲欧美中文| 香港成人在线视频| 91碰在线视频| 国产精品久线在线观看| 麻豆久久一区二区| 在线一区二区三区四区| 日韩午夜精品电影| 亚洲一区二区在线观看视频| 国产精品18久久久久久vr| 欧美群妇大交群的观看方式| 国产欧美日韩激情| 日韩av成人高清| 91福利在线播放| 中文字幕一区免费在线观看 | 国产成a人亚洲精品| 欧美r级电影在线观看| 一区二区激情小说| 99九九99九九九视频精品| 国产欧美视频在线观看| 国产一区二区伦理| 精品国产a毛片| 国产一区欧美二区| 久久精品在这里| 国产99一区视频免费| 国产午夜亚洲精品羞羞网站| 精品亚洲porn| 久久综合999| 成人午夜激情视频| 国产精品欧美一级免费| 91免费观看视频| 亚洲制服丝袜av| 制服视频三区第一页精品| 日精品一区二区三区| 欧美电影免费观看高清完整版 | 免费欧美高清视频| 91麻豆精品国产91久久久久久 | 日本一区二区三区久久久久久久久不 | 亚洲成人自拍一区| 欧美久久久久中文字幕| 婷婷成人综合网| 国产人成一区二区三区影院| 91丨porny丨国产入口| 五月开心婷婷久久| 欧美mv日韩mv| 色哟哟一区二区在线观看| 亚洲一区二区中文在线| 亚洲精品一区二区三区蜜桃下载| 韩国精品一区二区| 亚洲激情中文1区| 欧美v日韩v国产v| 成人av一区二区三区| 亚洲丶国产丶欧美一区二区三区| 精品国产乱码久久久久久牛牛| 99国产精品久久久久久久久久久| 一二三区精品福利视频| 国产区在线观看成人精品| 欧美精品久久久久久久久老牛影院| 久久99精品久久久久久久久久久久| 国产精品女主播在线观看| 欧美剧情片在线观看| 91老师片黄在线观看| 美国十次综合导航| 日韩精品一卡二卡三卡四卡无卡| 国产精品伦一区| 中文乱码免费一区二区| 日韩片之四级片| 91精品国产综合久久久久久漫画| 日本丶国产丶欧美色综合| 99久久精品免费| 色天天综合久久久久综合片| 99视频在线精品| 色偷偷久久人人79超碰人人澡| 国产成人免费视频精品含羞草妖精 | 欧美日韩精品系列| 日韩女优av电影在线观看| 精品毛片乱码1区2区3区| 26uuu国产一区二区三区| 精品乱码亚洲一区二区不卡| 国产亚洲综合性久久久影院| 欧美精品久久天天躁| 91麻豆精品国产91久久久| 欧美丰满高潮xxxx喷水动漫| 日韩一区二区在线观看| 日韩精品一区二区三区中文不卡| 欧美一区二区三区在线| 日韩三级伦理片妻子的秘密按摩| 日韩欧美在线1卡| 久久精品视频在线看| 国产精品私人自拍| 亚洲一区二区三区小说| 奇米影视7777精品一区二区| 国产真实乱对白精彩久久| 国产成人福利片| 一本色道久久综合亚洲91| 欧美日韩一区二区欧美激情| 91精品国产一区二区三区蜜臀 | 国产精品第四页| 亚洲一区二区成人在线观看| 免费精品视频最新在线| 成人av在线资源网站| 欧美精品乱人伦久久久久久| 久久久久久久久久电影| 一区二区成人在线视频| 久久国产欧美日韩精品| 在线观看亚洲成人| 国产欧美一区二区精品久导航 | 一区二区三区日韩欧美精品| 日韩激情一区二区| 成人av手机在线观看| 精品国产免费一区二区三区香蕉| 国产精品第四页| 激情综合色播激情啊| 欧美日韩美女一区二区| 国产欧美久久久精品影院| 亚洲1区2区3区4区| 色综合网色综合| 国产人成亚洲第一网站在线播放| 日韩精品一区第一页| 色婷婷久久一区二区三区麻豆| 久久久久久亚洲综合| 青青草原综合久久大伊人精品 | 国产日韩欧美精品电影三级在线 | 99这里只有久久精品视频| 日韩丝袜美女视频| 丝袜亚洲另类丝袜在线| 色婷婷综合五月| 亚洲毛片av在线| 色婷婷亚洲综合| 亚洲狠狠丁香婷婷综合久久久| 不卡的电视剧免费网站有什么| 久久精品人人做人人爽人人| 看电影不卡的网站| 日韩欧美第一区| 久久国产综合精品| 欧美成人精品3d动漫h| 美国精品在线观看| 精品嫩草影院久久| 国产一区二区三区综合| 久久亚洲精精品中文字幕早川悠里 | 91.com视频| 美女视频网站黄色亚洲| 日韩欧美综合一区| 麻豆精品一区二区三区| 久久久久免费观看| 91福利区一区二区三区| 天天av天天翘天天综合网| 日韩精品专区在线| 国产精品一级片在线观看| 国产精品福利一区| 欧美日韩在线播放三区| 精品一区二区在线看| 国产精品乱码一区二区三区软件 | 国产麻豆欧美日韩一区| 国产精品乱码一区二三区小蝌蚪| 日本电影亚洲天堂一区| 美脚の诱脚舐め脚责91 | 另类小说欧美激情| 日本一区二区成人| 欧美精品成人一区二区三区四区| 国产一区二区三区电影在线观看| 亚洲欧美在线视频| 日韩精品一区国产麻豆| 99久久精品99国产精品| 日韩精品乱码免费| 尤物视频一区二区| 亚洲激情自拍视频| 欧美一级二级三级蜜桃| 97久久精品人人爽人人爽蜜臀| 蜜桃视频在线一区| 亚洲综合小说图片| 中文字幕乱码久久午夜不卡| 日韩一区二区中文字幕| 91精品办公室少妇高潮对白| 成人一道本在线| 国模套图日韩精品一区二区| 日韩激情在线观看| 亚洲二区在线视频| 一区二区三区在线视频观看| 国产精品免费网站在线观看| 国产欧美一区二区精品秋霞影院| 欧美大胆人体bbbb| 日韩精品一区二区三区在线| 日韩欧美成人一区二区| 日韩一区二区三区高清免费看看| 欧美日本一区二区在线观看| 在线中文字幕一区| 欧美日韩一级二级|