原创 11n、11ac和11ax速率表

1. 速率計算方式 Wi-Fi理論帶寬 =(符號位長×碼率×子載波數量×空間流)÷ 傳輸時間 符號位長 一個Symbol能承載的bit數量,這個與調試有關。 碼率 Wi-Fi在傳輸時,根據空口環境的好壞,會加入不同數量的糾錯碼,

原创 Wi-Fi信號干擾問題該怎麼解決

本文轉載至:http://www.ciotimes.com/net/rdjs/WI-FI/201006301920.html 射頻干擾英文:RFI,(Radio Frequency Interference) 日文:電波障害 摘要:  關

原创 linux內核sk_buff的結構分析

我看的內核版本是2.6.32.  在內核中sk_buff表示一個網絡數據包,它是一個雙向鏈表,而鏈表頭就是sk_buff_head,在老的內核裏面sk_buff會有一個list域直接指向sk_buff_head也就是鏈表頭,現在在2.6

原创 linux 軟中斷和tasklet

1. 軟中斷是什麼 ?  軟中斷是一種延時機制,代碼執行的優先級比進程要高,比硬中斷要低。相比於硬件中斷,軟中段是在開中斷的環境中執行的(長時間關中斷對系統的開銷太大), 代碼是執行在中斷/線程上下文的,是不能睡眠的,雖然每個cpu都

原创 linux Loadavg和CPU利用率是如何算出來的

相信很多人都對Linux中top命令裏“load average”這一欄困惑過,到底什麼是Load,Load代表了什麼含義,Load高會有什麼後果?“%CPU”這一欄爲什麼會超過100%,它是如何計算的? 帶着這些問題,我們通過一些測試

原创 IP頭,TCP頭,UDP頭,MAC幀頭定義

IP頭,TCP頭,UDP頭,MAC幀頭定義   一、MAC幀頭定義 /*數據幀定義,頭14個字節,尾4個字節*/ typedef struct _MAC_FRAME_HEADER {  char m_cDstMacAddress

原创 linux /proc/loadavg(平均負載)

from : http://hi.baidu.com/mengyun8/blog/item/bd424531451b98e71a4cffc0.html 一、什麼是系統平均負載(Load average)?在Linux系統中,uptime

原创 undefined reference to `__udivdi3'

【問題】 編譯Linux下面的代碼,經常會遇到這種錯誤: undefined reference to `__udivdi3' 【解決過程】 之前遇到過幾次了,都是類似的原因導致此問題的。後來才瞭解,其根本原因: 嵌入式中,3

原创 A-MSDU 和 AMPDU

MSDU - MAC Service Data Unit,MAC服務數據單元 。       在無線網絡安全中,MSDU經過添加完整性校驗MIC、分幀、添加IV、加密、添加MAC頭部後,成爲MPDU - MAC Protocol Dat

原创 八種排序算法

原文鏈接:juejin.im/post/5cb6b8f551882532c334bcf2     作者:靜默虛空 juejin.im/post/5cb6b8f551882532c334bcf2

原创 c語言-運算符優先級

優先級 運算符 名稱或含義 使用形式 結合方向 說明 1 [] 數組下標 數組名[整型表達式] 左到右   () 圓括號 (表達式)/函數名(形參表)   . 成員選擇(對象)

原创 shell 判斷文件夾或文件是否存在

  文件夾不存在則創建 1 2 3 4 5 if [ ! -d "/data/" ];then mkdir /data else echo "文件夾已經存在" fi 文件存在則刪除 1 2 3 4 5 if [ ! -f "

原创 linux shell遍歷目錄下每個文件

#!/bin/bash function read_dir() { for file in `ls $1` do     if [ -d $1"/"$file ]      then     read_dir $1"/"$file    

原创 source insight 4.0括號自動對齊設置

1. Options -> File Type Options... 2. 點擊Auto Indent...自動縮進按鈕; 3. 按照下圖配置,點擊OK即可。

原创 linux BOOTIME、MONOTONIC以及REALTIME之間的關係

HRTIMER_BASE_BOOTTIME= HRTIMER_BASE_MONOTONIC+timekeeper.total_sleep_time= HRTIMER_BASE_REALTIME+timekeeper.wall_to_mon