2007年9月23日

FON & heartbeat


FON是一個理想,它希望透過大家共享的方式,在全世界將wireless建置起來,為此,它提供了便宜的wireless AP讓大家購買、使用,尤其在一開始時,它提供了免費的wireless AP(在台灣要165元運費),這一批wireless AP正如之前提過好幾次的,硬體還不錯。

可惜FON提供的軟體不夠好用,功能不夠強,因此很多人就開始自己編譯自己需要的Linux kernel供使用,大大強化它的能力。

麻煩的是,FON的AP便宜歸便宜,它要求你第一年一定要開機,並且隨時檢查你的開機狀態,只要你關機超過1個月,就會被寄信通知要你注意,一旦超過一定時間,就要你付賠償金,正因為這個限制,讓很多人不敢隨便的將FON亂刷,乖乖的用FON提供的軟體。

正所謂有需要,就有破解..................... = =||

國外有人將它的開機狀態檢查進行了完整的分析,其實它的開機狀態檢查很簡單,它利用Linux上的crontab,每5分鐘執行一次script,而script主要的功能,則是利用ssh client連線到FON的伺服器,連線之後一方面提供FON的資訊(MAC位址)讓伺服器知道是哪一台FON被檢查,另一方面則提供FON查詢是否有更新程式,有~則自動更新,這樣的開機狀態檢查行為,國外的人取了個巧妙的名稱,叫做「heartbeat」,也就是「心跳」。

因此,為了提供將FON刷成DD-WRT的人也能通過檢查,國外有人寫了simthefon,讓DD-WRT或其他FON也能夠發出心跳。

之前我一直很乖,FON都乖乖開著,只是改過了bridge mode而已,沒想到有次更改,把心跳改停了,加上那陣子正好換Hibet FTTB,家裏網路不大穩,過了一陣子就收到通知信了..... = =
那時候FON有開165元買天線的活動,我還因此差點買不成,讓我在刷完DD-WRT之後,毅然決然的改用simthefon。



simthefon的程式設定很簡單,它只是個script,程式最前面就可以設定幾個需要的變數,像是最重要的WLAN網卡MAC和LAN的MAC(預設是直接讀取環境變數,DD-WRT直接寫在環境變數中),其他也可以設定路徑。
接著就是放入/etc/crontab中定時執行。
在DD-WRT中,因為DD-WRT本身都是由web介面控制的,整個系統除了web介面的設定外,不大能儲存,因此它是寫成startup script,開機的時候將simthefon下載好,並把排程寫入到/etc/crontab當中。

如果是非DD-WRT,有一點要注意的,因為它的ssh client不是openssh-client,而是專為嵌入式這類小型系統而開發的SSH~dropbear的client程式,它叫做dbclient,如果要在Linux上執行,以Debian來說,我們要安裝dropbear,否則它會說欠缺了程式。

安裝方式如下網頁:
http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Heartbeat

而標題圖片就是FON上線的檢查頁面,這是我停掉一個FON的心跳後抓的圖。

沒有留言: