趁著週末炙熱到令人昏眩鍵盤黏膩的下午,花了一點時間下載了FON 0.6.5 原始碼。就像之前所說,Fonera 是基於 OpenWrt 所開發,所以如果你有 OpenWrt 支援的任何一款硬體的話,稍動手腳,應該就可以使他變成 FON Router。

OpenWrt 是一個非常模組化的計畫,基本上你只需要大約 1.5G 的磁碟空間,下載解開後執行 ./build.sh ,就可以建好需要的 toolchain、packages、image。FON 0.6.5 所使用的核心是 2.4.30,基本的軟體 busybox 1.00chillispot 1.0dnsmasq 2.27dropbear 0.48.1ppp 2.4.3pptp 1.6.0uclibc 0.9.27webif 0.2wificonf 6 等。編譯後,系統會整理提供一份列表

OpenWrt 用一個非常類似 Debian Pakcage 系統的 ipkg,所以大部分的功能都可以很元件化被安裝。由於內建了 dropbear 這個 ssh daemon,所以你可以直接 ssh 進去,下指令安裝軟體。根據 FONbasic/build_mipsel/base-files/base-files/etc/passwd 中的內容

root:$1$FF$eIijvMenPcFzZGXj45PKB.:0:0:root:/tmp:/bin/ash
nobody:*:65534:65534:nobody:/var:/bin/false

root 預設密碼是 “admin”。;-)

我一直很好奇的認證機制,其實是以 ChilliSpot 完成的,ChillSpot 支援所謂 UAMWPA 兩種認證機制。簡單講,一種是透過網頁認識,另外一種則是使用 WPA 直接去問 RADIUS Server。相關的設定都明明白白的寫在 FONbasic/build_mipsel/chillispot-1.0/ipkg/chillispot-fon/etc/chilli.conf

##############################################################################
#
# Fon ChilliSpot configuration file
# Powered by FON (www.fon.com)
#
##############################################################################
radiusserver1 radius01.fon.com
radiusserver2 radius02.fon.com
radiussecret garrafon
dhcpif eth1
uamserver https://login.fon.com/cp/index.php
uamsecret garrafon
uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com,www.skype.com
uamanydns

所以如果你要換成自己的軔體,記得保留這些設定,就可以繼續提供 FON 認證的機制。此外,你還得機器開機的時候去註冊一下你的 FON Router,這樣才能正確的讓使用者存取認證網頁。註冊的程序寫在 FONbasic/build_mipsel/webif-0.2/ipkg/webif/etc/init.d/S56redirect,基本上就是存取特定的網頁,註冊你的 AP 位址。網址看起來像這樣

wget “http://download.fon.com/heartbeat.php?mac=00-00-00-00-00-00

這一版的軔體尚未見到關於內外雙網 (Two ESSID for segmented networks) 的實做,相信下一版很快就會釋出。

關於客制化的部份,除了可以在建好的機器上用 ipkg 安裝軟體外,在編譯之前,就可以使用 “make menuconfig” 來選擇要裝的套件,大部分你想得到的套件都已經有 Makefile/build files 了。簡單的幾個步驟,就可以裝上像是 TorSambaFile ServerUSB StorageUSB AudioPrinter Server 等功能。或是其他的客制化。你夠瘋狂的話,也可以裝個 LCD 上去、或是外接螢幕

令人納悶的是,這版的 FON 居然沒有包含 UPnP 這個幾乎是 Wi-Fi Router 必備的功能?!不過新增的程續其實不會太難。Martin Varsavsky新的設備還會有 4Mb 的空間可以發揮,未來也會有 USB 介面。剩下想要甚麼功能,就完全憑靠想像力了吧。

Happy hacking.

  • Jouston Huang

    比起有個偽。UPnP,我寧願把那個爛功能拿掉,還我一些可用ROM空間來裝其他東西。XD

  • 哎呀,這樣我跑 azureus 時候才不用設定一堆東西,多讚呀。 😀
    (對啦,我是不怕人黑的傢伙)

  • Pingback: Rex’s blah blah blah » FON firmware 0.6.6 released()

  • gasolin

    剛看了一下 chillispot 感覺好像是可以用 radius 認證來限制 linux 無線網路存取的軟體,

    那麼, 如果我有一台支援 radius 認證的家用路由器 Router(很多日系的家用路由器產品都有這功能), 能設定成支援 Fon 的 device 嗎?

    還是 fon 另有其他不同呢?

  • 目前看起來是用標準 RADIUS Protocol。但你必須使你的 Router 看起來像是 FON Router,也就是必須用 FON 的方法註冊你的家用路由器。

  • Pingback: Trois.grammes.cinq > blog » Blog Archive » La fonera est arrivée !()

  • Pingback: Rex’s blah blah blah » La fonera 開箱照()

  • 企鵝狂

    恩…您好…
    我很好奇一件事喔

    我可以買兩台router…一台接到ADSL router
    另外一台接到個人電腦…都用有線的連接

    然後讓個人電腦透過fon router連線出去嗎?
    不知道您覺得這樣是否可行呢
    謝謝

  • 理論跟技術上可以辦到,但是官方的 firmware 沒有辦法這樣設定。

  • dahanhsi

    台灣的fon官方blog宣稱有WDS support,但是看fon討論區的文章好像說不能用?請有拿到機器的人解答一下吧,感謝

  • brcm-based 的機器,像是 Linksys 有 WDS 功能。

    但是新版的 fornera firmware (0.7.0.5) 的介面還沒有辦法設定 WDS。

  • Pingback: Rider’s Blog » Blog Archive » FON AP入手囉….()

  • jetever

    hi, 希望能和您讨论下FON的实现机制,可以赐教吗?我的mail:[email protected]

  • johnda

    看起來粉讚 ~~ 今晚來試試 ~
    看來大大在這方面粉有研究
    可以給我你的聯絡方式嗎?
    大家來一起研究研究 ~

  • @jetever, @johnda 這裡就是聯絡方式,敬請指教。

  • Ryan

    你好阿!!
    想請教你一下
    我現在想要將我手頭上的Openwrt build 成image
    我參考了此連結 : http://wiki.openwrt.org/ImageBuilderHowTo
    然後將它upgrade到fon router上
    結果被fon router拒絕了
    它說我的image不是fon所用的image

    後來我在網上下載了fon的image
    fon的image是.fon檔
    而我自己build的image是.bin檔
    (EX : openwrt-wrt54g-squashfs.bin)

    請問我該如何將自己的image檔變成符合fon得image
    (應該不是直接改檔名吧!? 不改亂試 怕我的fon變磚 )

  • @Ryan
    Hi, 因為 FON 只吃 .fon 檔案,那是 FON 簽署過的軔體升級檔。非 FON 所釋出的軔體,是無法從網頁介面燒入的。

    OpenWRT 所產出的檔案,必須透過 Redboot 介面重新燒入。而且如此會稍微更改 Redboot config 與更動燒錄時之 flash address.