2011年4月19日 星期二

git tags

#git tag HEAD
#git push --tags origin

android
#repo forall -pv -c git tag HEAD
#repo forall -pv -c git push --tags

learning bash script

http://www.mgt.ncu.edu.tw/~dino/script/

http://www.twbsd.org/cht/book/ch24.htm

http://www.freeos.com/guides/lsst/

7za

http://www.dotnetperls.com/7-zip-examples

# 7za a -t7z test.7z ./test

2011年4月12日 星期二

create lib/modules

su -
/system/bb/dmesg -n1
/system/bb/ash
export PATH=/system/bb:$PATH; mount -oremount,rw /; mkdir -p /lib/modules/`uname -r`;

2011年4月11日 星期一

iperf udp

UDP throughput test
RX :
- DUT :iperf -s -u -i1 &
- PC : iperf.exe -c -b50M -t60 -i1 &
TX :
- PC : iperf.exe –s –u –i1 &
- DUT : iperf –c -b50M –t60 –i1 &

2011年2月24日 星期四

Generate git patch

step1:
#git format-patch -o /tmp/ xxxxx^..xxxx
^上一筆
..到
xxxxx^..xxxx : 給範圍
ex:

git format-patch -o /tmp/ 401dcd873a6550158429999039cc3c1fcbbc3ee9^..401dcd873a6550158429999039cc3c1fcbbc3ee9

step2:
Using vi to modify BSP (replace)
:%s/xxxxx/xxxx

step3: Patch file
#git --reject /tmp/xxxx.patch
(
if successfully,
this patch step3 is done
else
Please go step4. Please manually resolve rejected hunk!!
)


step4:
If patch successfully, you can git add
#git add xxxx file name

step5:
#git am --resolved

step6:
#git push

2010年12月20日 星期一

RIL for android

RIL: Radio Interface Layer, RIL控制數據機和提供通訊協定(Protocol)
並且和rild(ril daemon)溝通.
RIL主要是基於AT command來操作,如發命令和response解析等等

*Android ril layer on /hardware/ril
*Android ril 主要分為三塊:
./system/lib/libreference-ril.so
./system/lib/libril.so
./system/bin/rild

reference:http://miox.cc/2009/07/android-gsmrild.html
1. rild:
僅實現一main函數作為整個ril層的入口點,負責完成初始化。

2. libril.so:
與 rild結合相當緊密,是其共享庫,編譯時就已經建立了這一關係。組成部分為ril.cpp,ril_event.cpp。libril.so駐留在 rild這一守護進程中,主要完成同上層通信的工作,接受ril請求並傳遞給librefrence_ril.so, 同時把來自librefrence_ril.so的反饋回傳給調用進程。

3. librefrence_ril.so:
rild通過手 動的dlopen方式加載,結合稍微鬆散,這也是因為librefrence.so主要負責跟Modem硬件通信的緣故。這樣做更方便替換或修改以適配更 多的Modem種類。它轉換來自libril.so的請求為AT命令,同時監控Modem的反饋信息,並傳遞迴libril.so。在初始化時, rild通過符號RIL_Init獲取一組函數指針並以此與之建立聯繫。

4. radiooptions:
radiooptiongs通過獲取啟動參數, 利用socket與rild通信,可供調試時配置Modem參數。



./ril/
|-- CleanSpec.mk
|-- include
| `-- telephony
| |-- ril.h
| `-- ril_cdma_sms.h
|-- libril
| |-- Android.mk
| |-- MODULE_LICENSE_APACHE2
| |-- NOTICE
| |-- ril.cpp
| |-- ril_commands.h
| |-- ril_event.cpp
| |-- ril_event.h
| `-- ril_unsol_commands.h
|-- reference-cdma-sms
| |-- Android.mk
| |-- reference-cdma-sms.c
| `-- reference-cdma-sms.h
|-- reference-ril
| |-- Android.mk
| |-- MODULE_LICENSE_APACHE2
| |-- NOTICE
| |-- at_tok.c
| |-- at_tok.h
| |-- atchannel.c
| |-- atchannel.h
| |-- misc.c
| |-- misc.h
| `-- reference-ril.c
`-- rild
|-- Android.mk
|-- MODULE_LICENSE_APACHE2
|-- NOTICE
|-- radiooptions.c
`-- rild.c


./ril/
|-- CleanSpec.mk
|-- include
| `-- telephony
| |-- ril.h
| `-- ril_cdma_sms.h
|-- libril
| |-- Android.mk
| |-- MODULE_LICENSE_APACHE2
| |-- NOTICE
| |-- ril.cpp
| |-- ril_commands.h
| |-- ril_event.cpp
| |-- ril_event.h
| `-- ril_unsol_commands.h
|-- reference-cdma-sms
| |-- Android.mk
| |-- reference-cdma-sms.c
| `-- reference-cdma-sms.h
|-- reference-ril
| |-- Android.mk
| |-- MODULE_LICENSE_APACHE2
| |-- NOTICE
| |-- at_tok.c
| |-- at_tok.h
| |-- atchannel.c
| |-- atchannel.h
| |-- misc.c
| |-- misc.h
| `-- reference-ril.c
`-- rild
|-- Android.mk
|-- MODULE_LICENSE_APACHE2
|-- NOTICE
|-- radiooptions.c
`-- rild.c