2016年12月27日 星期二

Expat.xs:12:19: fatal error: expat.h: No such file or directory

$ sudo apt-get install libexpat1-dev

'YAML' not installed

$ cpan YAML

Can't locate XML/Parser.pm in @INC

Source: https://github.com/Rub21/osm_visualization/issues/1

$ sudo perl -e shell -MCPAN
[CPAN] install XML::Parser

***: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ***)

Source: http://stackoverflow.com/questions/19386651/how-to-fix-usr-lib-libstdc-so-6-version-glibcxx-3-4-15-not-found

$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install libstdc++6-4.7-dev

2016年12月4日 星期日

'repo' doesn't work

echo $PATH
find / -type f -name repo -exec ls -l {} \;

My and very likely the solution is:
rm ~/bin/repo

2016年10月15日 星期六

IGMP Snooping to block broadcast packets.

來源: http://averykao.pixnet.net/blog/post/25972602

一般有軟體廣播的電腦教室,通常都會廣播封包亂竄的問題(SWITCH燈號一直閃)。我用的這套軟體廣播系統,平均一個client每秒送5~10個UDP 的Class D 封包,對網路廣播自己的IP位置。



當電腦教室全部開啟時(電腦教師主機上廣播軟體未開),這個時候區網內全是235.xxx.xxx.xxx的封包,因為一般Switch 屬Layer 2設備,所以235.xxx.xxx.xxx封包會被轉送到所有區網上的電腦。

我們可以利用,Layer 3的switch 做一些管制:



Limiten Multiicast Address Range Setting這個選項:



如果區網內除了廣播軟體外,不會再有任何MultiCast的Services ,那我們就把所有的port deny掉那些Multicast的封包,只在電腦教室的Uplink Port端作 Permit(其實我認為沒差,可以直接Deny掉全部)

改完之後,從區網端其他電腦就sniffer不到Multicast 的封包了~

Layer 3 Switch (第三層交換器)

Layer 3 Switch (第三層交換器)
Layer 3 Switch 又稱為IP Switch 或Switch Router, 意即其工作於第三層網路層的通信協定(如IP),並藉由解析第三層表頭(Header)將封包傳至目的地,有別於傳統的路由器以軟體的方式來執行路由運算與傳送,Layer 3 Switch是以硬體的方式(通常由專屬ASIC構成)來加速路由運算與封包傳送率並結合Layer 2 的彈性設定,因此其效能通常可達每秒數百萬封包(Million packet per second)的傳送率,並具備數十個至上百個以上的高速乙太網路(Fast Ethernet)連接埠,或數個至數十個超高速乙太網路(Gigabit Ethernet)連接埠之容量。 

傳統路由器通常可處理Multiprotocal 多重協定路由運算(如IP,IPX AppleTalk,DEC Net...etc)但Layer 3 Switch 通常只處理IP 及IPX,此乃為簡化設計,降低路由運算與軟體的複雜性以提昇效能,並配合網路協定發展的單純化(多重協定慢慢簡化至IP一種協定)趨勢所致。 

由於Layer 2 的Switch 並無法有效的阻絕廣播域(Broadcast Domain)如ARP (Address Resolution Protocol)及Win95/98 中大量使用的NetBEUI協定均大量使用廣播封包,因此就算Layer 2 Switch 以VLAN (Virtual LAN)的方式(虛擬網路)將經常要通訊的群組構成一廣播域(Broadcast Domain)來試圖降低broadcast封包對網路層的影響,但仍無法完全避免廣播風暴問題(同一個VLAN間仍會產生廣播風暴),再加上現今網路(尤其是Campus內部間流量及對外的Internet/Intranet流量)已不是80/20規則(80%流量在本地,20%是外地),而是漸漸成為20/80規則,且加上Client/Server 及Distributor Server之運用,因此單靠Layer 2 Switch或傳統Router路由器便無法符合對效能(傳統路由器變成瓶頸)及Intranet上對安全顧忌(Layer 2 Broadcast Domain,對因廣播而使資訊傳送被盜取的安全疑慮)之要求,因此Layer 3 Switch便大量興起,初期只運用Core端(骨幹),現在的趨勢已漸漸走向桌面(Layer 3 down to desktop)。 

如同傳統路由器(Router),Layer 3 Switch的每一個連接埠(port)都是一個子網路(Subnet),而一個子網路就單獨是一個Broadcast Domain廣播域,因此每一個port的廣播封包並不會流竄到另一個port,其僅負責傳送要跨越子網路的封包(Routing Forward),並以目的地的IP位址(目的地子網路的網路號碼)來決定封包要轉送至哪一個port,並以Routing Protocol(如RIP或OSPF)來交換Routing Table並學習網路拓蹼,其通常存放於Layer 3 Switch的Routing Forward Data-Base(FDB),並以硬體及Route Cache的方式來加速IP table lookup並予以定址與更新(目前大多以ASICIC來執行),因此才得以提昇運算效能達成Wiring Speed Forward之目的。 

Layer 3 Switch通常提供較大頻寬的交換核心(Switch Fabric)以提供較大的容量(Port Capacity)與較高的交換效能,近來各廠家並不斷附以Layer 3 Switch更強大的支援能力,如Class of Service(服務等級優先權),Quality of Service(服務品質保證),Policy Management(策略分級品質與頻寬管制與管理),Multicast Routing(群組廣播路由傳送)等功能,以符合網路環境的快速變化與應用。
 

Note for WiFi

AP模式:
Access Point,提供無線接入服務,允許其它無線設備接入,提供數據訪問,一般的無線路由/網橋工作在該模式下。 AP和AP之間允許相互連接
STA模式: 
Station, 類似於無線終端,STA本身並不接受無線的接入,它可以連接到AP,一般無線網卡即工作在該模式。

RADIUS (Remote Authentication Dial-In User Service)

2016年9月26日 星期一

Exception: AttributeError: 'module' object has no attribute 'addtask'

### Upon errors shown in  bottom, try below procedures to fix:
cd oe-core/build/
mv conf .conf
rm -fr *
git checkout -f
mv .conf conf

########################################################################
ulin@WNC:/work/yulin/mdm9640le/apps_proc/oe-core/build$ buildboth9640
Pseudo is not present but is required, building this first before the main build
WARNING: Getting checksum for cne-mdm SRC_URI entry : file not found except in DL_DIR                                                                   | ETA:  --:--:--
ERROR: Error executing a python function in :

The stack trace of python calls that resulted in this exception/failure was:
File: '', lineno: 9, function:
     0005:__anon_419__work_yulin_mdm9640le_apps_proc_oe_core_meta_classes_package_ipk_bbclass(d)
     0006:__anon_27__work_yulin_mdm9640le_apps_proc_oe_core_meta_classes_devshell_bbclass(d)
     0007:__anon_77__work_yulin_mdm9640le_apps_proc_oe_core_meta_classes_sstate_bbclass(d)
     0008:__anon_124__work_yulin_mdm9640le_apps_proc_oe_core_meta_classes_siteinfo_bbclass(d)
 *** 0009:__anon_26__work_yulin_mdm9640le_apps_proc_oe_core_meta_qcom_classes_qcommon_bbclass(d)
File: '__anon_26__work_yulin_mdm9640le_apps_proc_oe_core_meta_qcom_classes_qcommon_bbclass', lineno: 2, function: __anon_26__work_yulin_mdm9640le_apps_proc_oe_core_meta_qcom_classes_qcommon_bbclass
     0001:def __anon_26__work_yulin_mdm9640le_apps_proc_oe_core_meta_qcom_classes_qcommon_bbclass(d):
 *** 0002:    src_dir_after_parse(d)
     0003:
File: 'qcommon.bbclass', lineno: 5, function: src_dir_after_parse
     0001:def src_dir_after_parse(d):
     0002:    if d.getVar('SRC_DIR') == None:
     0003:        raise bb.build.FuncFailed("%s inherits qcommon but doesn't set SRC_DIR" % d.getVar('FILE'))
     0004:    if d.getVar('PREBUILT') == "1":
 *** 0005:        bb.build.addtask('do_prebuilt', 'do_build', 'do_populate_sysroot', d)
     0006:
Exception: AttributeError: 'module' object has no attribute 'addtask'

ERROR: Failed to parse recipe: /work/yulin/mdm9640le/apps_proc/oe-core/meta-qcom/recipes/mcm-gps/loc-mcm-type-conv_git.bb                               | ETA:  00:00:08
ERROR: Error executing a python function in :

URLs for WWAN

UE (User Equipment) Category                                http://niviuk.free.fr/ue_category.php

LTE ShareTechnote         http://www.sharetechnote.com/html/Handbook_LTE_PUCCH_Format.html

2016年7月24日 星期日

ERROR: Nothing RPROVIDES 'libX' (but .../oe-core/meta-Y/recipes/images/Z-image.bb RDEPENDS on or otherwise requires it)

This error occurs when libX is also a output of package P that is specified to be install in target rootfs by Z-image.bb
IMAGE_INSTALL += "libX"

To fix this error, add below lines in P_git.bb
PACKAGES =+ "libX"
FILES_libX = "${libdir}/libX.so*"


ERROR : QA issue : package AAAA rdepends on BBBB-dev

INSANE_SKIP_AAAA += "dev-deps" could be a workaround.


From : Paul Eggleton <paul.eggleton at linux.intel.com>
To : Kilou Zelabia <kilou_zellabia at yahoo.fr> 
Cc : yocto at yoctoproject.org 
Envoyé le : Mercredi 13 juin 2012 12h36
Objet : Re: [yocto] ERROR : QA issue : package AAAA rdepends on BBBB-dev
 
On Wednesday 13 June 2012 09:38:32 Kilou Zelabia wrote:
> What does this mean ? Why it is forbidden to have a run-time dependency on a
> "-dev" package ?

Because that's usually not correct. The -dev package includes headers and 
other development files for the target. Is that really what package AAAA needs 
at runtime?

> I'v seen some recipes setting INSANE_SKIP to "1" can this helps ?

You would need to use INSANE_SKIP_AAAA += "dev-deps". But I would encourage 
you to verify that this is what you really need before doing it.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre

2016年5月19日 星期四

AT command

Copy from http://read-and-thinking.blogspot.tw/2010/03/at-command.html

一、 一般命令
1、 AT+CGMI 給出模塊廠商的標識。
2、 AT+CGMM 獲得模塊標識。
這個命令用來得到支持的頻帶(GSM 900,DCS 1800 或PCS 1900)。
當模塊有多頻帶時,回應可能是不同頻帶的結合。
3、 AT+CGMR 獲得改訂的軟件版本。
4、 AT+CGSN 獲得GSM模塊的IMEI(國際移動設備標識)序列號。
5、 AT+CSCS 選擇TE特徵設定。
這個命令報告TE用的是哪個狀態設定上的ME。
ME於是可以轉換每一個輸入的或顯示的字母。這個是用來發送、讀取或者撰寫短信。
6、 AT+WPCS 設定電話簿狀態。這個特殊的命令報告通過TE電話簿所用的狀態的ME。
ME於是可以轉換每一個輸入的或者顯示的字符串字母。
這個用來讀或者寫電話簿的入口。
7、 AT+CIMI 獲得IMSI。
這命令用來讀取或者識別SIM卡的IMSI(國際移動簽署者標識)。
在讀取IMSI之前應該先輸入PIN(如果需要PIN的話)。
8、 AT+CCID 獲得SIM卡的標識。這個命令使模塊讀取SIM卡上的EF-CCID文件。
9、 AT+GCAP 獲得能力表。(支持的功能)
10、 A/ 重複上次命令。只有A/命令不能重複。這命令重複前一個執行的命令。
11、 AT+CPOF 關機。這個特殊的命令停止GSM軟件堆棧和硬件層。命令AT+CFUN=0的功能與+CPOF相同。 12、 AT+CFUN 設定電話機能。這個命令選擇移動站點的機能水平。
13、 AT+CPAS 返回移動設備的活動狀態。
14、 AT+CMEE 報告移動設備的錯誤。
這個命令決定允許或不允許用結果碼「+CME ERROR:」或者「+CMS ERROR:」代替簡單的「ERROR」。
15、 AT+CKPD 小鍵盤控制。仿真ME小鍵盤執行命令。
16、 AT+CCLK 時鐘管理。這個命令用來設置或者獲得ME真實時鐘的當前日期和時間。
17、 AT+CALA 警報管理。這個命令用來設定在ME中的警報日期/時間。(鬧鈴)
18、 AT+CRMP 鈴聲旋律播放。這個命令在模塊的蜂鳴器上播放一段旋律。有兩種旋律可用:到來語音、數據或傳真呼叫旋律和到來短信聲音。
19、 AT+CRSL 設定或獲得到來的電話鈴聲的聲音級別。

二、 呼叫控制命令
1、 ATD 撥號命令。這個命令用來設置通話、數據或傳真呼叫。
2、 ATH 掛機命令。
3、 ATA 接電話。
4、 AT+CEER 擴展錯誤報告。這個命令給出當上一次通話設置失敗後中斷通話的原因。
5、 AT+VTD 給用戶提供應用GSM網絡發送DTMF(雙音多頻)雙音頻。這個命令用來定義雙音頻的長度(默認值是300毫秒)。
6、 AT+VTS 給用戶提供應用GSM網絡發送DTMF雙音頻。這個命令允許傳送雙音頻。
7、 ATDL 重撥上次電話號碼。
8、 AT%Dn 數據終端就緒(DTR)時自動撥號。
9、 ATS0 自動應答。
10、 AT+CICB 來電信差。
11、 AT+CSNS 單一編號方案。
12、 AT+VGR,AT+VGT 增益控制。這個命令應用於調節喇叭的接收增益和麥克風的傳輸增益。
13、 AT+CMUT 麥克風靜音控制。
14、 AT+SPEAKER 喇叭/麥克風選擇。這個特殊命令用來選擇喇叭和麥克風。
15、 AT+ECHO 回音取消。
16、 AT+SIDET 側音修正。
17、 AT+VIP 初始化聲音參數。
18、 AT+DUI 用附加的用戶信息撥號。
19、 AT+HUI 用附加的用戶信息掛機。
20、 AT+RUI 接收附加用戶信息。

三、 網絡服務命令
1、 AT+CSQ 信號質量。
2、 AT+COPS 服務商選擇。
3、 AT+CREG 網絡註冊。獲得手機的註冊狀態。
4、 AT+WOPN 讀取***作員名字。
5、 AT+CPOL 優先***作員列表。

四、 安全命令
1、 AT+CPIN 輸入PIN。
2、 AT+CPIN2 輸入PIN2。
3、 AT+CPINC PIN的剩餘的嘗試號碼。
4、 AT+CLCK 設備鎖。
5、 AT+CPWD 改變密碼。

五、 電話簿命令
1、 AT+CPBS 選擇電話簿記憶存儲。
2、 AT+CPBR 讀取電話簿表目。
3、 AT+CPBF 查找電話簿表目。
4、 AT+CPBW 寫電話簿表目。
5、 AT+CPBP 電話簿電話查詢。
6、 AT+CPBN 電話簿移動動作。
這個特殊命令使電話簿中的條目前移或後移(按字母順序)
7、 AT+CNUM 簽署者號碼。
8、 AT+WAIP 防止在下一次重起時初始化所有的電話簿。
9、 AT+WDCP 刪除呼叫電話號碼。
10、 AT+CSVM 設置語音郵件號碼。

六、 短消息命令
1、 AT+CSMS 選擇消息服務。
支持的服務有GSM-MO、SMS-MT、SMS-CB。
2、 AT+CNMA 新信息確認應答。
3、 AT+CPMS 優先信息存儲。這個命令定義用來讀寫信息的存儲區域。
4、 AT+CMGF 優先信息格式。執行格式有TEXT方式和PDU方式。
5、 AT+CSAS 保存設置。保存+CSAS和+CSMP的參數。
6、 AT+CRES 恢復設置。
7、 AT+CSDH 顯示文本方式的參數。
8、 AT+CNMI 新信息指示。這個命令選擇如何從網絡上接收短信息。
9、 AT+CMGR 讀短信。信息從+CPMS命令設定的存儲器讀取。
10、 AT+CMGL 列出存儲的信息。
11、 AT+CMGS 發送信息。
12、 AT+CMGW 寫短信息並存儲。
13、 AT+CMSS 從存儲器中發送信息。
14、 AT+CSMP 設置文本模式的參數。
15、 AT+CMGD 刪除短信息。刪除一個或多個短信息。
16、 AT+CSCA 短信服務中心地址。
17、 AT+CSCB 選擇單元廣播信息類型。
18、 AT+WCBM 單元廣播信息標識。
19、 AT+WMSC 信息狀態(是否讀過、是否發送等等)修正。
20、 AT+WMGO 信息覆蓋寫入。
21、 AT+WUSS 不改變SMS狀態。
在執行+CMGR或+CMGL後仍保持UNREAD。

七、 追加服務命令
1、 AT+CCFC 呼叫繼續。
2、 AT+CLCK 呼叫禁止。
3、 AT+CPWD 改變追加服務密碼。
4、 AT+CCWA 呼叫等待。
5、 AT+CLIR 呼叫線確認限制。
6、 AT+CLIP 呼叫線確認陳述。
7、 AT+COLP 聯絡線確認陳述。
8、 AT+CAOC 費用報告。
9、 AT+CACM 累計呼叫計量。
10、 AT+CAMM 累計呼叫計量最大值。
11、 AT+CPUC 單價和貨幣表。
12、 AT+CHLD 呼叫相關的追加服務。
13、 AT+CLCC 列出當前的呼叫。
14、 AT+CSSN 追加服務通知。
15、 AT+CUSD 無組織的追加服務數據。
16、 AT+CCUG 關閉的用戶組。

八、 數據命令
1、 AT+CBST 信差類型選擇。
2、 AT+FCLASS 選擇模式。
這個命令把模塊設置成數據或傳真***作的特殊模式。
3、 AT+CR 服務報告控制。這個命令允許更為詳細的服務報告。
4、 AT+CRC 劃分的結果代碼。這個命令在呼叫到來時允許更為詳細的鈴聲指示。
5、 AT+ILRR 本地DTE-DCE速率報告。
6、 AT+CRLP 無線電通信線路協議參數。
7、 AT+DOPT 其他無線電通信線路參數。
8、 AT%C 數據壓縮選擇。
9、 AT+DS 是否允許V42二度數據壓縮。
10、 AT+DR 是否報告V42二度數據壓縮。
11、 AT\N 數據糾錯選擇。

九、 傳真命令
1、 AT+FTM 傳送速率。
2、 AT+FRM 接收速率
3、 AT+FTH 用HDLC協議設置傳真傳送速率。
4、 AT+FRH 用HDLC協議設置傳真接收速率。
5、 AT+FTS 停止特定時期的傳送並等待。
6、 AT+FRS 接收沉默。

十、 第二類傳真命令
1、 AT+FDT 傳送數據。
2、 AT+FDR 接收數據。
3、 AT+FET 傳送頁標點。
4、 AT+FPTS 頁轉換狀態參數。
5、 AT+FK 終止會議。
6、 AT+FBOR 頁轉換字節順序。
7、 AT+FBUF 緩衝大小報告。
8、 AT+FCQ 控制拷貝質量檢驗。
9、 AT+FCR 控制接收傳真的能力。
10、 AT+FDIS 當前會議參數。
11、 AT+FDCC 設置DCE功能參數。
12、 AT+FLID 定義本地ID串。
13、 AT+FPHCTO 頁轉換超時參數。

十一、V24-V25命令
1、 AT+IPR 確定DTE速率。
2、 AT+ICF 確定DTE-DCE特徵結構。
3、 AT+IFC 控制DTE-DCE本地流量。
4、 AT&C 設置DCD(數據攜帶檢測)信號。
5、 AT&D 設置DTR(數據終端就緒)信號。
6、 AT&S 設置DST(數據設置就緒)信號。
7、 ATO 回到聯機模式。
8、 ATQ 決定手機是否發送結果代碼。
9、 ATV 決定DCE響應格式。
10、 ATZ 恢復為缺省設置。
11、 AT&W 保存設置。
12、 AT&T 自動測試。
13、 ATE 決定是否回顯字符。
14、 AT&F 回到出廠時的設定。
15、 AT&V 顯示模塊設置情況。
16、 ATI 要求確認信息。
這命令使GSM模塊傳送一行或多行特定的信息文字。
17、 AT+WMUX 數據/命令多路復用。

十二、特殊AT命令
1、 AT+CCED 電池環境描述。
2、 AT+CCED 自動RxLev指示。
3、 AT+WIND 一般指示。
4、 AT+ALEA 在ME和MSC之間的數據密碼模式。
5、 AT+CRYPT 數據密碼模式。
6、 AT+EXPKEY 鍵管理。
7、 AT+CPLMN 在PLMN上的信息。
8、 AT+ADC 模擬數字轉換度量。
9、 AT+CMER 移動設備事件報告。
這個命令決定是否允許在鍵按下時是否主動發送結果代碼。
10、 AT+WLPR 讀取語言偏好。
11、 AT+WLPW 寫語言偏好。
12、 AT+WIOR 讀取GPIO值。
13、 AT+WIOW 寫GPIO值。
14、 AT+WIOM 輸入/輸出管理。
15、 AT+WAC 忽略命令。
這個特殊命令允許忽略SMS、SS和可用的PLMN。
16、 AT+WTONE 播放旋律。
17、 AT+WDTMF 播放DTMF旋律。
18、 AT+WDWL 下載模式。
19、 AT+WVR 配置信差的聲音速率。
20、 AT+WDR 配置數據速率。
21、 AT+WHWV 顯示硬件的版本。
22、 AT+WDOP 顯示產品的出廠日期。
23、 AT+WSVG 聲音增益選擇。
24、 AT+WSTR 返回指定狀態的狀態。
25、 AT+WSCAN 掃瞄。
26、 AT+WRIM 設置或返回鈴聲指示模式。
27、 AT+W32K 是否允許32kHz掉電方式。
28、 AT+WCDM 改變缺省旋律。
29、 AT+WSSW 顯示內部軟件版本。
30、 AT+WCCS 編輯或顯示訂製性質設置表。
31、 AT+WLCK 允許在特定的***作符上個性化ME。
32、 AT+CPHS 設置CPHS命令。
33、 AT+WBCM 電池充電管理。
34、 AT+WFM 特性管理。是否允許模塊的某些特性,如帶寬模式、SIM卡電壓等。
35、 AT+WCFM 商業特性管理。是否允許Wavecom特殊特性。
36、 AT+WMIR 允許從當前存儲的參數值創建定制的存儲鏡像。
37、 AT+WCDP 改變旋律的缺省播放器。
38、 AT+WMBN 設置SIM卡中的不同郵箱號碼。

十三、SIM卡工具箱命令
1、 AT+STSF 配置工具箱實用程序。
2、 AT+STIN 工具箱指示。
3、 AT+STGI 獲得從SIM卡發來的預期命令的信息。
4、 AT+STCR 主動提供的結果:工具箱控制反應。