2009年4月22日 星期三

La Fonera heartbeat

FON裝上DDWRT後加入heartbeat
方法可參考
http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Heartbeat

#!/bin/sh
mkdir /tmp/simthefon

echo '#!/bin/sh
sleep 30
cd /tmp/simthefon
/usr/bin/wget http://www.wildblue.de/fonera/heartbeat/key
/usr/bin/wget http://www.wildblue.de/fonera/heartbeat/simthefon
/usr/bin/wget http://www.wildblue.de/fonera/heartbeat/known_hosts
cat /tmp/simthefon/known_hosts >> /tmp/root/.ssh/known_hosts
chmod a+x /tmp/simthefon/simthefon
( /tmp/simthefon/simthefon cron >/tmp/simthefon/simthefon.log & ) &' >> /tmp/simthefon/heartbeat

echo 'SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/tmp/root

*/5 * * * * root /tmp/simthefon/simthefon cron >/tmp/simthefon/simthefon.log' >> /tmp/cron.d/heartbeat

chmod a+x /tmp/simthefon/heartbeat
/tmp/simthefon/heartbeat

stopservice cron && startservice cron

--
以上貼到 "Administration"-->"Commands"-->"Save startup"即可
紅色部分可用WinSCP抓進自己FON放到JFFS,以防該網站突然消失

方法如下:

SSH
[開啟SSH]


JFFS
[啟用JFFS]


SCP
[打開WinSCP,登入帳號固定是"root",密碼跟Web GUI console一樣]


SCP-2
[上面三個檔案烤貝到 "/jffs/simthefon"]

然後將上面的紅色部分改成
cp /jffs/simthefon/key /tmp/simthefon/
cp /jffs/simthefon/simthefon /tmp/simthefon/
cp /jffs/simthefon/known_hosts /tmp/simthefon/

"save starup"

重新開機後完成
檢查有沒有正確動作:

SCP-3
[WinSCP進去看路徑 "/tmp/simthefon/"有沒有產生 "heartbeat" 和 "simthefon.log" 檔案]


log
["simthefon.log"會偵測到FON的Mac回報回去就會出現在FON MAP上了]

完成! !

--
若要電腦模擬回報FON heartbeat請參考下篇
How to simulate the FON heartbeat

摘要:

改simthefon裡的幾個部份:
  1. 找到檔案開頭定義的地方,將原來使用自動取得的WLAN MAC的那行註解掉,改寫上你LaFonera的WLAN MAC address,有線端MAC可以在盒子上找到,無線端MAC正好是無線端MAC加1,如下面的例子。
    #WLMAC="$(nvram get ath0_hwaddr )" #the WLAN mac-adress
    WLMAC="XX:XX:XX:XX:XX:11"
  2. 找到有線的MAC部份,如步驟一進行。
    #MAC="$(nvram get et0macaddr)" #the WAN mac-adress
    MAC="XX:XX:XX:XX:XX:10"
  3. 在FONKEY那行,加上key這個檔案的路徑。
    FONKEY=/home/xxx/simthefon/key

6 則留言:

只是個【張東西】 提到...

收到了..
但是..等我婚禮搞定了再來好了..XD
阿..還有教召..阿..還有蜜月....

匿名 提到...

跟著做但沒有心跳...後來發現http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Heartbeat-dev#Installation
要在Cron Job多加一行執行
*/5 * * * * root /tmp/simthefon/simthefon cron >/tmp/simthefon/simthefon.log

piligo 提到...

文中提到可運用WinSCP抓進自己FON放到JFFS。
來個簡單的
1.telnet進DD-WRT
2.mkdir /jffs/simthefon
2.cd /tmp/simthefon
3.cp key simthefon known_hosts /jffs/simthefon

簡單的代替WinSCP所做的動作

piligo 提到...

剛剛發現怎麼在jffs裡面建任何資料都會消失,原來忘了還有JFFS要啟用

可是我的就算起用也是寫未掛載,等於jffs也不能放東西~怪哉

匿名 提到...

FONKEY=/home/xxx/simthefon/key
上面的xxx是要改成jffs嗎?

匿名 提到...

話說半年前成功一次後,後來指令run都不起來,連刷第二台要跑也失敗,

發現 "Administration"-->"Commands"
貼在裡面的指令,換行就會加上^M特殊符號

造成建立mkdir /tmp/simthefon出來的資料夾是異常的

比較疑惑的是半年前就單存的複製貼上,就成功了

所以如何才能避免產生^M的特殊符號呢?

謝謝