2011-11-26

Android手機透過USB當無線基地台

Android手機可以當AP(基地台)用,但未必人人都有購買3G上網吃到飽,
所以在省錢才是王道的前題下,我們要用別的方法來讓手機當AP。

只是手機大概百分之九十九點九九九九沒有ethernet(有線網路),不過
Android手機卻可以將USB模擬成ethernet,因此我們便可以利用它來連
到桌上型或筆記型電腦來上 Internet。

首先將手機附的連接電線的一端插入PC的USB接口
接著將手機的USB啟用
設定==>無線與網路==>數據連線與可攜式無線基地台==>USB數據連線
(或者以指令來啟動:
adb shell 'echo -n 1 > /sys/devices/virtual/usb_composite/rndis/enable'
也可以)

這樣Linux會自動載入
mii, usbnet, cdc_ether, rndis_host 這四個kernel modules.

(請先讓你的手機可以有root使用身份,並殖入busybox到/system/bin/
進行方法不在本文討論範圍)

在手機的USB插入PC後,在PC執行ifconfig -a 可以看到usb0 的網路
介面出現。

執行adb shell 'busybox ifconfig'
看一下手機的usb0 是什麼IP, 例如192.168.123.10

在PC的Linux下,以root身份執行以下指令
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.123.0/24 -o eth0 -j MASQUERADE
ifconfig usb0 192.168.123.1
再來就是手機端
adb shell 'busybox route add default gw 192.168.123.1'
adb shell 'setprop net.dns1 168.95.1.1'

手機啟用AP功能
設定==>無線與網路==>數據連線與可攜式無線基地台==>可攜式Wi-Fi無線基地台
請記得設個密碼,除非你想當好鄰居

adb shell 'busybox route'
你會看到手機的routing有另一組 IP, 假設是192.168.124.0
adb shell 'iptables-1.4 -t nat -A POSTROUTING -s 192.168.124.0/24 -o usb0 -j MASQUERADE'
(或許你手機裡的 iptables 名稱不叫 iptables-1.4,你可以先adb shell
進去後打 busybox ash, 再打一下 iptable 不要按Enter 而按TAB鍵,讓它
自動補完,就知道完整名稱了)

如果不啟用手機AP模式,光是USB連線上之後,手機本身就可以上網了。

簡單整理一下要點:
1.手機啟用USB數據連線,並將連接線插到PC
2.PC上會出現usb0, 設定它的IP,並將usb0 Masquerade 到eth0 出去
3.手機啟用無線基地台模式
4.幫手機的 xxap0(以上面舉例也就是另一組IP 192.168.124.0) Masquerade 到
usb0 出去Internet.

讓手機透過PC USB上網還有一個好處就是可以做監控實驗,因為它所有封包都進
到PC 再從eth0 出去,所以可以用各種工具來觀察當你執行某個app 時,它到底是
連到哪些地方去,或者它透過網到底在幹什麼,都是很有趣的實驗。

這也有個好處,就是由USB供電,不必額外電源,另方面也能為手機保持100%滿電。

2011-11-17

尊貴的盛治仁波切

關於非常有創意的夢想家大戲

白院長怎麼沒出來向全國人民解釋一下為什麼那個『夢想家』值得花2.1億台幣?

我猜白院長心裡是想跟大家說
「不管是現場或是從電視上看『夢想家』,都可以得到盛治仁波切的加持,
會有七世福報的,那2.1億台幣是值得花的。」

(才寫了一下,沒想到11/18日早上白院長就批准盛治仁波切辭職了,各位『夢想家』
的粉絲跟觀眾以後沒有盛治仁波切幫你加持了!)

白院長怎麼沒發個『白功』,幫盛治仁波切加持一下?就這樣輕易讓他辭職下台?

其實賴聲川端康成絕對是「中華民國在台灣」建國百年來最頂尖的創意家,老實說
才給他區區2.1億,對他來講實在太委曲了,我們應該發起三隻小狗撲滿,全國上下
把小狗撲滿塞得滿滿的,然後捐給賴聲川端康成,把他的口袋塞滿滿,以聊表我們
對他的歉意。

2011-10-25

Foxtrotgps

在今年一月份的blog有提到tangogps,最近用了Debian wheezy發現它已經改用
foxtrotgps,它是tangogps的分支,不過操作和功能上看來是完全一樣。
http://www.foxtrotgps.org

tangogps/foxtrotgps 的好處在一月有提過,就是可以預先cache下來,到時可以
offline使用。
此外它除了孤狗地圖和衛星空照圖之外,還可以讀取opencyclemap地圖,不同於
孤狗的道路圖,它是有等高線的地圖,可以看出地型標高,正好藉著它回顧一下
紐西蘭的幾個城市。
http://www.opencyclemap.org

opencyclemap特別標示出腳踏車道!紐西蘭真是個咖打掐的天堂,這個國家是
農業國家,治安良好安全,沒有毒蛇猛獸,到處的自來水都可以生飲,只要帶
著睡袋、帳蓬就可以騎著咖打掐全國走透透的遊玩,記得在Queenstown街上大
概有一半的人是打赤腳的,也就是這個城市沒有狗屎、碎玻璃!

2011-10-09

死了一個賣電器的業務員

號稱夾不死的Steve Jobs死了,媒體一遍同聲對他神般的歌讚,新聞播了再播。

這個現像映證了很多現代人的心靈空虛,極需有一個可以依靠的神,不管他到底
是神還是狗屎。

在一遍歌讚聲中,大家都忘了這個人的另一面,他是個罵員工像罵狗一樣的老闆
,一有不如他的意,對員工破口用髒話一頓辱罵,完全不把員工當人,這種認為
出錢的就是老大,就可以把別人當狗看待的老闆,早點死了也許對人類社會才是
件好事吧。

2011-09-04

誰說沒有92共識?

誰說沒有92共識?
明明就有92共識啊!
不然哪來的95、98?
你現在每天在用的不就是92、95、98嗎?
難道你還在用有鉛汽油?

2011-07-28

Linux 802.1x 網路認證

某些企業是用802.1x認證來阻絕網路,你沒有ID/Password就無法
在這個環境裡使用網路。

只要你有ID/password,Linux在這方面還是有解的!
#!/bin/bash
echo -en "\tPassword: "; read -s mypass
FILE="/opt/8021x.conf"
cat << EOF >> $FILE
ctrl_interface=/var/run/wpa_supplicant
ap_scan=0
network={
key_mgmt=IEEE8021X
eap=PEAP
identity="$1"
EOF
echo "password=\"$mypass\"" >> $FILE
cat << EOE >> $FILE
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
EOE
echo -e "\r"
wpa_supplicant -Dwired -ieth0 -c $FILE &
sleep 3s
dhclient eth0 &
(sleep 20s; rm $FILE) &

執行script時加上你的ID 當參數,再輸入password,按Enter

IP是拿到了,但有可能上不了網!

好!一法一破,可能是它用了M$ active domain,你需要再用
一次ID/password 來取得認證,就過關了!

請安裝 likewise open
http://www.likewise.com/community/index.php/download/
裝好之後只要一行指令
domainjoin-cli join ad.mycompany.com myID
然後輸入password
"ad.mycompany.com" 是你所在網路的M$ domain, 你可以借別人
的Windows電腦查一下「我的電腦」就知道是什麼了。

就算它有某些error messages,可以先予忽略,試試看用browser
或其它protocol連上Internet,我遇到的情形是可以順利上網使用。

2011-07-27

日暖風和才能搭的中國高鐵

在中國的超市看到「巨峰葡萄」,一整串長得滿滿滿的,就是說它每一粒
葡萄跟相鄰的葡萄是完全沒有空隙的擠在一起,甚至把它拔起來後,會發
現葡萄和葡萄相接觸的表面呈「平面」狀,也就是像機場那樣的平面,而
不是葡萄該有的「球面」狀,所以也幾乎看不到「枝」。

這一整個奇怪的「巨峰葡萄」是怎麼種出來的?
是不是用盡生長激素讓它一直分裂一直分裂,就像fractal,
才會有這種結果?

另外就是中國的奶製品像冰淇淋、蛋糕……等等有用到牛奶的食物,吃起來
感覺是人工香料放很多,那種乳香一吃就知道不是牛奶自然的風味,一整
個「假味」,跟「北海道」乳製品完全不能相提並論。

還有就是「Youtube」!以前中國人常說西方帝國主義污辱中國人所以在
公園立個牌子寫「中國人跟狗不得進入」,現在是中國政府自己立個牌子
寫著「中國人跟狗不能看Youbute」!
不論是娛樂或者查技術、知識,不能看Youtube真的非常非常不方便,可是
中國人完全活在沒有Youtube的世界,完全不知道什麼是Youtube!

最後就是中國高鐵追撞大車禍,中國官方提出的託詞是「雷擊」,這麼現
代化的交通工具難道經不起雷擊!這也洩漏出中國高鐵在設計上是完全不
考慮雷擊,一受到雷擊就沒有任何方式可以通訊,也就是說
「中國高鐵只能在日暖風和的日子裡搭乘」。

2011-06-15

沒有Home/End/PgUp/PgDn的電腦

最近拿到一台HP mini 110,發現它沒有Home/End/PgUp/PgDn 這四個最基本
的按鍵,在別款HP Notebook 是以按住Fn 加左/右/上/下 四個鍵來當做
Home/End/PgUp/PgDn 用,但是在mini 110 無作用。

不曉得HP 的設計人員腦筋是在想什麼?

先用xev 來偵測出哪個按鍵的值,就是執行xev 然後用手按某個你想要用
的鍵,來查看它的鍵值以及名稱。不過Fn 是hardware switch所以偵測不到
也就無法利用它來達達達成目的。

不過事實上鍵盤裡的Windows-key 是個沒用的東西,因此我們就利用它來
替代Fn, xev 偵測到它的keycode 是133 名稱叫 Super_L

先把所有鍵盤值存下來
xmodmap -pke > mykeymap 再把它 cp 成 Xmodmap-00
xmodmap -pm >> mykeymap

但是要改一下keymap 內容,先把檔案尾段的
"xmodmap: up to 4 keys ....." 這行刪除,再把這行下面各行裡括號
及內容 (xxxxx) 及豆點刪除,在行首頭加上 add, 第一個字之後加等號 =

接下來我們利用 mod3 來定為 Mode_switch, 所以要把 mod5 那行的
Mode_switch 刪除

我們要以Windows 鍵也就是 Super_L 來當組合按鍵,所以要把mod4 裡的
所有 Super_L 刪除,並且在檔尾加一行
keysym Super_L = Mode_switch

然後往上面找到 keycode 111 把
Up NoSymbol Up 改成
Up NoSymbol Prior (這個Prior 就是Page Up)

keycode 113
Left NoSymbol Left 改成
Left NoSymbol Home

keycode 114
Right NoSymbol Right 改成
Right NoSymbol End

keycode 116
Down NoSymbol Down
Down NoSymbol Next (這個Next 就是Page Down)

存檔後就可以用了

執行方式為 xmodmap mykeymap
(如果出現一小段 "X Error of failed request: ...." 是可以忽略它的)

這樣按
Windows + Left 就等於按Home
Windows + Up 就等於按Page Up
Windows + Right就等於按End
Windows + Down 就等於按Page Down

如果要把鍵盤還原default值,可以執行xmodmap Xmodmap-00
(在每次有修改要再執行前,最好先執行還原)

主要參考來源為
http://askubuntu.com/questions/5095/typing-using-key-combinations

2011-05-25

校長叫你不要計較

台大校長李嗣涔最近又在放話,「給畢業生的14點叮嚀」開宗明義的提到
1.別太在乎薪水、職位與升遷
2.不要太在意「準時上下班」

這種天龍國居高位的社會賢達,思考方式果然跟賤民們不同!

李校長還忘了好幾點,
忘了一點「不要計較公務員加薪」
忘了一點「不要計較肝指數」
忘了一點「不要計較別人的孩子死不死」
忘了一點「不要計較陪老闆睡,睡也是一種學習」
忘了一點「不要計較只有22K,你們已經比外勞好了」
不曉得是他忘了講,還是想在心裡不好講?

相信一大早有一堆企業老闆和政府官員,在打開報紙後,笑到從椅子上摔下來!

2011-05-08

Hamsphere 像真網路QSO

早就有透過網路做QSO的軟體,不過最近才接觸到這個Hamsphere,發現它不論
在操作介面、使用或聽覺上都跟真正的HAM radio 很像,像說它會有背景雜訊
,也有不同的propagation,所以不是永遠都是訊號良好,這跟HF世界完全相符。

http://www.hamsphere.com
電腦裡要有裝java才能跑,所以不論Linux, Mac, M$Win 都可以玩
(我是在lenny下用sun-java6跑的)

Hamsphere 只提供HF band QSO,包括SSB/CW mode, 所以可以多人同時發射
大家都可以聽到,不像FM強吃弱。(在裡面偶而也可以聽到PSK 訊號,所以看
來是可以做RTTY/packet 的樣子)

不過Hamsphere 因為太方便了,一上線發聲,有可能會不斷有人要跟你QSO,
而且你的call sign 跟Freq 都會即時列在網頁上,依HAM 的禮節是不好意思
落跑的,所以會花很多時間一一跟對方QSO,這就變成不好玩了。在真實HAM
環境下是沒有人會知道誰現在在什麼頻率。

Hamsphere 基本上只用說話的,對音質要求不高,所以佔用頻寬大約只有40Kb
,跟聽BBC新聞節目差不多,不過不同的是聽BBC 的話主要是「進」,「出」
只有一點點,但是Hamsphere 「進」、「出」量差不多相同,就算你沒「說」只聽。
相較於像是聽「台北愛樂」的130Kb 流量,Hamsphere 是蠻省的。

2011-04-17

fastboot 大吃記憶體

要把新的 image 塞進 Android device 可以用 "fastboot" 來寫入,
不過 fastboot 是吃RAM 的大怪獸,它在傳送之前會把 image 先載進
RAM, 所以假設你的 image 有 1GB 那麼你的電腦至少要有 1GB+OS所需
的RAM 才能動作,或者要依賴 swap(這樣的話整個電腦會慢下來)。

如果你想同時做兩個這樣的動作(寫入 1GB image 到兩台 Android devices),
就必須有 2GB+OS所需的RAM, 這對於有4G RAM的電腦是沒有問題的,但是
如果要同時寫入更多台手機,突破 4G RAM 限制,就要換用 PAE kernel 了
(OS 不必換,只換kernel 即可)。

至於各家手機要進入 fastboot mode 的「暗鍵」有所不同,總之都是搭配
某個鍵先按住不放,再按 power 開機, 如果找不到各家的「暗鍵」資料,
也可以自己排列組合的試試吧!總之要先讓 fastboot 能看得到 device。

網路上找得到現成 binary fastboot, 不過有些只支援 HTC(0x0bb4),
但是現在 Android 手機品牌越來越多,還包括一些 mobile devices, 因此
現成binary 可能抓不到你的 mobile device, 那麼就要找 source 自己 compile.

http://source-android.frandroid.com/system/core/fastboot/
這裡有 fastboot 相關的 source, 新版的已經加入各家的 vendor id,
其中沒寫 comment 的 0x0451 是 Texas Instrument, 0x0502 是 Acer

0x18d1 Google
0x0451 Texas Instrument
0x0502 Acer
0x0fce Sony Ericsson
0x05c6 Qualcomm
0x22b8 Motorola
0x0955 Nvidia
0x413c DELL
0x0bb4 HTC
如果你不知道你的 device id, 可以用 lsusb 先看一下.

在 Linux 環境使用 fastboot 是不必裝什麼 driver 的, Windows 才要。

2011-04-04

在中國境內GPS無法動作

某P牌相機內建的GPS到了中國境內就被軟體鎖死,無法運作。

這應該是廠商應中國政府要求做的,否則其產品不得在中國境內銷售。
相機一旦離開中國本土,到了前英國或前葡萄牙領土又可以恢復動作。

包括Google Map, 拉到中國境內,地圖和衛星照是對不起來,相差
大約五六百公尺。衛星照是正確的,地圖維持一定的偏差。

這個草木皆兵的統治集團說來也是很可憐,對自己毫無信心,所以必
需對萬物強加戒備,長久下來必定神經衰弱,晚上睡不好覺。

2011-01-28

在Linux 環境裡玩GPS

之前玩了一塊含GPS 的ARM SBC, 但發現它的GPS 大概十來分鐘就斷訊了,很
失望,於是上網找 USB GPS, 最後買了一隻USB GPS, 是大辰科技科技出的
"uPod+", 是因為它特別有寫支援Linux, 所以在PCHome 下單買了它,也是第一
次在PCHome 購物。

好玩的是,在買了的第二天,因為同事也想買,所以我又上網看,發現它從
799元降為599元,這下我想說那不是多花了200元?於是到他們的退貨查詢
一看,竟然有個「退差價不退貨」的選項,於是點下去查我的購物紀錄,它顯
示說
「主商品目前調降為 599 元,若確認價格調降前後(主商品與贈品)為相同內
容,將於7天鑑賞期後辦理退價差 200 元」

看來PCHome 算是正派經營!值得鼓勵!

以上是題外話,現在進入主題!

這支其實是裝了Serial to USB bridge 的device, 插上後可以看到
/dev/ttyUSB0 (如果你沒有插其它Serial to USB device的話)
它使用的driver是 kernel supported, 就是 cp210x, 所以完全不必擔心!
(其它Serial to USB 最常見的有 pl2303)

這支GPS 很穩定,跑起來之後不曾斷訊(不像那個 ARM SBC 上的GPS)。

GPS device在Linux 裡首先要跑一個GPS daemon 來讀取device 傳過來的資
料,因此你要先裝 gpsd, 這在各大distro 都有,然後你可以再裝個
gpsd-clients 用來與gpsd 溝通查詢一下gps 的資料是不是有正常,當然不裝
也沒什麼問題,因為我們最主要的是要用 tangogps 來看地圖及GPS 移動軌跡。

lenny 的 tangogps 是 0.9.3, 還無法讀取google map, 只能用像是
OSM(Open Street Map) 做為地圖來源,但是 OSM 還很陽春,很多道路資料
都沒有,根本不能用!要找 0.99.3 版以上的才支援google map.

進入畫面後按最左上的button 會在右半圖出現操作選項,按向右,幾次後便
可以看到 "Current Map", 把它點選 "Google Maps (testing only)", 至於
Units 它的default 是公制,就不管它了。

下面有個 GPSD 有Host 跟Port 可選,其實 gpsd 可以透過網路來分享資料,
也就是如果網路上有另一個人跑gpsd 你便可以讀取它的資料,一般狀況下是
用不到這裡來改選的。

tangogps 的好處是你可以先把圖cache 下來,可以離線使用,因此你不必一直
用手機連線,只要事先用tangogps 把要經過的路線走一遍,當然是用同一size
的圖走完全程最好,否則缺圖的部份它只能拿別的解析度的圖來併湊,不好看。

試了用「14級」的圖從台北「走」到台中大概 18MB,它會存在 $HOME/Maps/

當你移動時,會在地圖上留下一條紅色的軌跡,藍圈表示你目前的位置,它
會顯示你正對的方向,還有移動速度,速度會在圖的左上角出現大大的數字,
當它超過50(公里)就會變紅色。

這是一個3D GPS, 所以在tangogps 裡還會顯示所在地海拔高度。

tangogps 還可以透過網路跟別人分享,讓別人知道你在何處移動!

2011-01-22

一月的北歐、祖國荷蘭

剛好在一月初又到瑞典,之前歐洲才下過大雪,瑞典也積了幾
十公分的雪,幾乎天天都是零下,甚至像第二大湖Vättern都冰
凍起來了


冬季到北歐有一點心得:
1.雪下多了、久了,會積壓成冰,冰是滑溜溜的,走在上面很
 容易滑倒,因此最好找一種叫做anti-slip或叫ice-gripper
 的釘爪,可以套在一般的鞋子,走在冰上就不會滑倒了,不
 確定台灣買不買得到?
2.最好不要走在建築物旁邊,因為在融冰的時候可能整片積雪
 垮下來像山上的雪崩一樣,用倒一拖拉庫砂石來形容也不錯
 ,有點危險。
3.對於路上累積的冰雪,瑞典是撒小石子讓地面增加磨擦力,
 會比較不滑,但走起來還是得很小心,能在鞋子裝上釘爪還
 是比較萬全。致於比較不那麼冷的荷蘭則是撒鹽來讓它融化
 ,但把環境都弄得鹹鹹的也不是好事吧?
4.瑞典的冬季輪胎是有釘子的,就是有一支一支的金屬釘子分
 佈在輪胎上,增加抓地力,車子才不會打滑。
5.零下一兩度反而要比零上一兩度還好,因為一旦溫度變成零
 上,冰雪就會開始融化,路上又濕又滑,不論對行人或車輪
 都是不方便。
6.有些街道是用埋水管的方式來融雪,就是水管裡有溫水在流動
 ,於是地面的雪很快就融化,不會留到積成冰,等到下雪停了
 ,融掉了,街道馬上就很乾爽。

Amsterdam市區運河是觀光重點,河流跟週圍的建築加起來很
美,但其實河水是不美的,這些河水並不是一直保持暢流,而是
不太流動的類似死水,所以水色是褐色像茶水或咖啡色的。

一直聽說Amsterdam有所謂「紅燈區」,但是那天逛了市區,
不經意都可以看到點著紅色日光燈的玻璃窗,裡面站著三點不
露的女郎,女郎的年齡、身材、容貌的range很大,有中年熟婦
、青春女郎,甚至有的我懷疑是不是孕婦?這種「店」大都在
與運河垂直的小巷內,但也有幾家是在運河正面的,只要沿著
運河走,遠遠就看得見,因此懷疑真的是有紅燈「區」嗎?

運河旁的紅燈戶

其實那些女郎穿著都是三點不露,移到台灣來可能也不違法吧?
台灣的檳榔西施也差不多是這樣啊!

還有,在運河旁的街道走著,三不五時就會看到狗屎!

所以說「台灣人,不用自卑!我們也不輸祖國荷蘭呀!」

祖國VOC帆船

說到祖國,荷蘭的確算是台灣的正統「祖國」,在華人還沒佔
領台灣這塊土地之前,荷蘭是第一個在台灣建立政府組織,實
施有效統治台灣的第一個國家。像「新港文書」就是以荷蘭人
發明給台灣原住民書寫自己語言的一種「書寫系統」所寫的,
一直使用到十九世紀上半,原住民族的西拉雅語被滅,這個書
寫系統才中斷。

要不是荷蘭人孤軍無援,台灣被走頭無路流亡的鄭成功佔領,
否則台灣也可以像其他荷蘭殖民地一樣,由荷蘭人統治到二次
大戰後成為獨立的國家(例如印尼)。

所以台灣人要是說到「祖國」,絕對不能忘了荷蘭。