用Raspberry Pi 做WiFi Access Point (Dump AP) #1

Wan Leung Wong
Hong Kong Linux User Group
5 min readMar 7, 2021

2年前介紹過, 將OpenWRT安裝在 TP-Link TP-WR902AC用來做家中WiFi AP的文. 2年後的今日, 隻TP-Link瓜老襯. 於是出去打算買新, 出到腦場, 發現所有ROUTER都加價, 不抵買. 計完條數, 不如買天線然後用自己手上的Raspberry Pi來做.

完成品

不過,買天線加Raspberry Pi 自製的問題, 在於市面上的天線, 就算同型號, 不同的出廠日期, 裡面用的晶片都不同. 就以TP-Link AC600 天線為例, 舊版用Ralink MT7610U晶片, 而新版用RealTek 8821AU, Linux Kernel 本身不支援, 要自行COMPILE DRIVER, 或用DKMS, 或可能有否些LINUX DISTRO 已有PACKAGE安裝DKMS Module.

在開始之前, 需要知道家中的NETWORK係點設計. 本文是講述怎樣用Raspberry Pi去做DUMP AP. 什麼叫DUMP AP?DUMP AP同一般WIFI ROUTER不同, 一般WIFI ROUTER包含DHCP, DNS, FIREWALL的功能, 而DUMP AP就什麼都沒有, 好似SWITCH一樣, 只會放WIFI連結, 但DHCP派IP, DNS, FIREWALL的動作, 就在其之前, 有一隻ROUTER(GATEWAY)去做. 如圖:

後面AP1–3都是DUMP AP, 派IP動作, 由前面隻FIREWALL GATEWAY做. 這裡本人用pfsense.

在知道個NETWORK點設計後, 就需要選擇用什麼天線以及Raspberry Pi. 首先, 我們要決定WIFI是行2.4GHz(802.11b/g/n) 還是5GHz (802.11ac), 還是同時支援2.4GHz + 5GHz, 即市面WIFI ROUTER在設定後, 個WIFI SSID 叫TESTWIFI的話, 會同時多一個WIFI SSID叫TESTWIFI_5G, 無5G的就是2.4GHz, 有5G的就是5GHz. 而通常, 近幾年的DEVICE通常都支援5GHz, 所以可以直接用5GHz, 壞處是比較舊的産品, 就會連不到網. 若只用2.4GHz, 好處是舊産品可以連到網, 但新産品就用不到5GHz的好處.

本人手上有的PI及天線

Pi 在3B之後才內置天線, 用之前型號的Pi, 如2B, 就需要另外購買USB的天線. 而Pi 3B的內置天線, 只支援2.4GHz 802.11b/g/n, 不支援5GHz 802.11ac.

要支援5GHz, 就需要Pi 3B+或Pi 4B, Pi 3B+及4B 內置802.11b/g/n/ac dual band 2.4/5 GHz天線, 以及USB3.0.

若只用2.4GHz, 那麼可直接使用Raspberry Pi 3B以上的型號.

若只用5GHz, 可直接使用Pi 3B+或Pi 4B.

但若要同時支援一個2.4GHz Network 同一個5GHz Network, 是需要用2支天線, 因此, 需要加多一支USB外置天線才行.

而在選USB外置天線方面, USB2.0最盡只能支援到AC600型號天線, 而AC1200的話, 就需要USB3.0.

而在選購USB外置天線前, 最好先在網上查一下是否DEFAULT支援LINUX. Netgear的通常都支援. 但香港最常見的TP-LINK, 就算網上話支援, 買回來的版本, 可能不支援, 好運的網上已有DRIVER可自行COMPILE, 不好運的, 就要等一下看看社群有無人幫手HACK個DRIVER出來.

留意閣下隻PI是否支援USB3.0, 小心買錯. 但這支最新KERNEL已支援, 不需自行COMPILE DRIVER.

下回就開始設定Pi 成為DUMP AP.

Wan Leung Wong
Hong Kong Linux User Group

Backend Software and System Engineer. Free software enthusiast. Internet Freedom supporter