There are a few wireless driver supports Master mode (infrastructure mode or AP mode), you can manage these interface with iw tools and provide network services for others, just like a wireless router do.

However, many of cards does not support this feature. But you still can use iwconfig to switch to ad-hoc mode, which most of cards support. With ad-hoc mode, the others can directly communicate with you when both agree on the same network name (SSID) and channel.

So, with properly setup, you can create a local wireless network for nearby nodes, or even share your network with others. What I am interested about it’s to share the network with others.

Actually, the modern linux distribution with Network Manager installed has already supported this kind of feature. It’s very easy to setup in Network Manager.

Basically, you just need to setup a ad-hoc network manually, and enable it when you are connected with ethernet or 3g network.

A quick tutorial –

Edit a network, left click the network-manager icon, and select Edit Connections, select Wireless and click on “Add” network.

In the connection editing window, change Mode to Ad-Hoc, and set the SSID you prefer to use.

Switch to IPv4 Settings tab of tab, and change method to “Shared to other computers”. Save the configs.

After you connect to the wan (like pppoe or 3g network), you need to create the ad-hoc network manually.
Left click the network-manager icon, and click on “Create New Wireless Network”.

Just select the connection profile we setup in the previous step, and click Create. That’s it. The network manager will setup your wireless interface and dnsmasq for you.

If you are not using Network Manager, here is my little script to setup an Ad-Hoc network. Use it at your own risk. This is a tips.

根據 xdite 的心得感想,要辦好網路社群為主的會議,有三個主要重點

「正妹工作人員要多,即使少也不能傷眼,最好是有拍回去讓人炫耀的水準」
「網路品質要好,即使很慢也要不能一直狂斷,有線網路是最佳選擇」
「點心要好吃,不好吃也要讓人人吃到飽,最好是茶點時間超級長」

網路一直都是網路社群研討會籌辦者的痛苦,這些參與者本來就是隨時掛網的傢伙,要是參加了激發想像力的會議,卻沒有辦法馬上把資料上傳到網路上或跟網友討論,立即就會見到整個會場充滿焦慮惱怒的氣氛,這時就不用期待會議會有甚麼迴響了。

偏偏大部分的會議場所,基礎環境都不夠完備,缺電缺網路是正常不過的事情。網路的佈建若是要拉線到每個座位上,光是佈線的費用就大約比場租還貴,更何況還得籌備 Switch/Routers 等網路設備。

所以通常是以無線網路作為基礎,然而臨時要借來一堆無線網路基地台也不是一件容易的事情阿,因此都得到處請託。借到設備後也得顧慮佈建的方式,除了基本的 Site Survey 了解場地的大小與障礙物外,以便判斷該將 Access Point 部屬在什麼地方,以及選用適當的天線。最好還要準備 Spectrum Analyzer 等工具,以便決定如何分派有限的通訊頻道。若缺乏了這些工具,想臨時辦好無線網路這件事情並沒有那麼容易阿。

先前幾次經驗,若是透過場地現有的無線網路,要嘛就是被基地台擋了大部分服務 (ports),只允許網頁(Port 80, 443)等流量,否則就是需要帳號密碼,於是乎大家搶著用有限的帳號上線,手腳慢的傢伙只好眼睜睜看著鄰居上網,自己卻只能乖乖離線聽演講。至於自備基地台這件事情,也時常發生取用了家用型基地台 (因為預算的問題),結果沒多久就爆炸 (因為記憶體不足或太多 connection sessions).

FON 先前贊助提供幾個研討會像是 HIT, Wikimania, 中國網誌年會 基地台,據說也是瞬間就被打爆了,形象大傷。可能是佈建的方式 (無法判別該如何使用不同的頻道) 或 Fonera 本身設計的瑕疵 (先前有軔體穩定度與強迫使用歐洲的名稱伺服器的問題)。

這次答應 OSDC.TW 作網路志工,決定採取不同的策略,就是把借來的一打 Fonera 全部重燒成 OpenWrt 為基礎的客製化軔體,並做了以下設定

  • 做了 Management console, 包含設定多一個 IP Address,可以用有線網路接入基地台作設定。並放了 X-Wrt,以便萬一出了問題,可以臨時以網頁改設定為 WDS/Mesh Network. 當然也得放 dropbear (ssh) 作為後備措施。事實是,本次幾乎都是用 ssh 作遠端監視、管理維護。
  • 將 net.ipv4.tcp_fin_timeout, net.ipv4.tcp_keepalive_time, net.ipv4.netfilter.ip_conntrack_tcp_timeout_established 等 kernel parameters 都設到極小,以降低系統紀錄 TCP Sessions 時間。並調高 net.ipv4.netfilter.ip_conntrack_max 數倍以上,如此可以容納更多人同時上網存取。
  • 做了 QoS,將 ssh/web 優先值調高,而且調高 ACK/SYN ,降低其他所有 Port 的優先值。所以理論上 IRC/Internet surfing 不會 lag,即使流量極高, ssh / telnet 也會有比較快的連線反應。(只要 802.11 layer protocol 沒有問題,頻譜沒有被干擾)

本次 OSDC 會議其實只用到五台 Access Points (FON Fonera),參加人數大約 240-250 人,出席人數大約都是一百餘人,同時無線上網人數大約是 60-80 人,會議期間連線沒有甚麼大問題,只有以下兩個問題

  1. OpenWrt trunk 的 atheros hal binary 有相容性問題,所以 Intel® PRO/Wireless 2100 網路卡 無法連線,既使更新了驅動程式與關閉 PSP。受害的苦主有 mhsin、pofeng 等人。不過該 hal 是 property software,沒有跟 Atheros 簽署 NDA 拿不到程式碼,因此也無從修起。即使社群做的 OpenHal/ath5k 也尚未到達堪用的程度。因此還需努力想辦法解決才行。
  2. 場地電源負載過高,跳電造成基地台停止運作。 *默* 這完全在預期之外,不過連線都轉移到剩下還有電源的基地台上。線上查了一下紀錄,每台 AP 上 associated 了大約 40 餘台 STA,但系統 loading average 尚未超過 1, 且尚有記憶體。除了角落的朋友收訊變糟外,並未造成太大的影響。

以上,是本次無線網路服務檢討報告。:-)