漫談家用軟路由WIFI的方案,為什麼minipcie網卡不合適

首先直接拋出結論,建議使用軟路由+硬體無線AP的方式最穩定靠譜。

我們使用的普通路由器,一般都包含了 路由功能和wifi無線功能,那麼意味著我們只需要把無線路由器連接外網,然後內部就可以通過一個設備搞定。但是目前的軟路由使用中,軟路由主要突出在他的處理能力上,主要負責的是路由和NAT轉發方面的處理,而無線功能則是沒有的。

為什麼軟路由沒有無線呢?

答案也很簡單,因為軟路由天生就不是路由,而是被折騰出來的, 所以在硬體上面,本身就不具備無線的硬體。試想一下,巧婦難為無米之炊,沒有WIFI的硬體晶元,又怎麼能發射出來無線信號呢?

普通家用路由器都是把CPU主晶元,RAM,ROM,網卡/交換機晶元,無線網卡,信號放大,天線等都整體設計好了,開發出來的成熟產品。

那麼,軟路由是否就不能實現無線功能呢?答案其實是可以的,但是僅僅用作研究折騰,目前似乎還沒有見過有商用級別的X86軟路由加無線網卡組成的無線路由器方案。

那麼,我們來看看軟路由要實現無線AP功能,要注意什麼?

硬體方面,其實軟路由本身就包含了CPU處理器,主板,內存,存儲,電源,網卡。OK,那麼以上就是一套軟路由的基礎硬體了,我們只需要再增加一個無線網卡+天線就可以了。

這裡首先要看看自己的主板能通過什麼方式增加無線網卡,目前我知道的就是如下幾種,PCIE介面,MINI-PCIE介面,以及其他主板上的擴展介面,如MINI-PCI介面,PCI介面,甚至USB介面。

如上圖所示,幾種無線網卡分別是,MINI-PCI,MINI-PCIE,USB無線網卡。其他的無線網卡貓貓無線手裡沒有,所以沒辦法拍照片了,各位自己去搜索看吧,

有了硬體,需要用驅動來控制才行,那麼就限制你用什麼方式來架構這個軟路由。大概可以分成兩組方式。

1.純軟路由,系統裝在U盤中啟動,或者裝在小容量的固態硬碟上,這台機器就只是軟路由功能。

2.虛擬機軟路由,設備本身有一套系統,然後在系統下虛擬機安裝一個軟路由系統,這台機器可以多用,功能不局限於軟路由。

至於你是用哪種方式,就看需求情況了。但是經過測試,其實純軟路由的方式,增加無線功能是最容易的。

為什麼純軟路由最方便實現無線功能?

因為純軟路由的話,系統直接調用硬體,比如軟路由系統openwrt 直接就能使用pcie介面,只要驅動合適,就能激活無線網卡,可以說太簡單了。

但是如是是經過虛擬機,由於硬體直接是與虛擬機系統連接的,而不是軟路由系統,所以就困難多了,雖然困難,但是方法還是有,但是效率,驅動,識別,和性能都打了折扣。

這裡主要是硬體直通技術,如果你覺得本文提到的思路非常好,一定要照著葫蘆折騰一番,那就需要選擇能支持硬體直通的CPU和主板。

如果你覺得純路由不夠逼格,浪費你的I9頂級CPU,那麼虛擬機軟路由也是一個充分利用硬體資源的方式。

上面提到, 支持硬體直通的CPU 和主板,主要作用就是能把pci擴展介面直接 繞過系統底層,劃分給軟路由系統直接驅動

但是這裡說的系統底層, 主要是兩種,純虛擬機系統,主要是esxi, 冷門點的有微軟的hyper-v。

在Window系統下面,硬體直通功能,我折騰過,研究不深,所以只能簡單說說失敗的經歷。

同樣的硬體, 用純路由,就能識別並使用無線網卡,但是經過esxi 硬體直通後,能識別,但是無法使用,

所以後來發現這是一條漫漫長的折騰路,果斷放棄。

那麼問題來了,虛擬機軟路由就不能使用無線AP 功能了嗎?

答案當然可以,那麼我們就曲線救國吧。使用window系統,安裝wifi網卡並裝好驅動,使用wifi共享軟體

看似很完美,但是,只能使用2.4G 頻率,5G 折騰不出來。

需要設置以下幾點:需要開機啟動,Wifi不能休眠,Wifi的信道,模式等。

但是發現,wifi 的信道,根據不同網卡,設置也不同,有的能設置信道,有的不行。

那麼說回正題,如果選擇最簡單的純軟路由方式,需要注意的是, 不是所有無線網卡,都能使用,這裡主要是受限於軟路由系統的驅動,理論上,你能搞定驅動,任何網卡都可以,但是如果你能搞定這些,就不用看本文了。

最後來實戰

注意:不是所有軟路由系統都支持無線,目前主流的比如openwrt,LEDE這類家用系統,是支持的, 但是愛快,海蜘蛛之類商業性質的軟路由就不支持,因為這種系統,根本就沒有編譯無線晶元的驅動。

那麼我們的方向只能鎖定openwrt 之類的開源系統, 但是一般情況下,原生openwrt 是沒有無線網卡驅動,其實我們平時能下載到的,已經是經過大神優化過,添加好驅動的了。

目前我折騰過成功的就是 AR9380,9280這類的網卡,openwrt下X64下,插上就能識別並使用,其它的具體確實需要自己到專業論壇去查閱資料。

最後,軟路由裝好了,網卡插上了,是不是有點小激動呢,誰說軟路由不能帶無線AP 了,不信邪,咱來試驗一下。

那麼開機測試一下, 網路- 無線能看到 這個網卡了,開心吧。

那麼如果你不順利的話,會發現如下一些問題:

1.無線模式只能2.4G或者5G其中一個,不能像普通路由器那樣雙頻

2.無線只能接收,不能發射(意味著你只能蹭網轉換成有線,不能把寬頻轉換成無線)

3.能建立AP,或者接收信號,但就是死活用不了(悲劇吧)

4.能用一會,但是一會就斷了,要重啟才能識別(哈哈)

5.或者壓根就找不到這個無線網卡,識別不了。

OK ,如果上面這些問題,你都沒遇到過,那麼恭喜你,你最終還是會放棄,你將面臨最後一個選擇,

哇靠,網速怎麼這麽慢?

對,沒錯,不管你的無線網網卡是AC雙頻,300M,450M 也好,速度就是上不去, 具體是多少

根據我自己的折騰,不管是300M的雙頻和866M的AC,內網速度只有3M~8M以下(不是kpb)

打個比方,如果你是100M光纖,那麼你的下載速度應該是10M左右, 那麼如果用這套方案,你的下載速度只有8M以下。如果你用的是千兆路由, 你內網拷貝文件的時候,也是8M以下,意味著,如果你沒有內網需求(NAS存儲之類的應用),恭喜你,這個問題困擾不了你,但是可能不大穩定, 3M~8M速度,不過其實上上網也夠用了。

但是,如果你的應用就這麽簡單,貌似根本就不用軟路由吧?

好吧,你說你就是一個需求不高,但是愛折騰的人,你將面臨最後一個問題,也是影響你一輩子的事情,那就是:哇靠,怎麼連多幾個無線設備,就這麽不穩定,經常上不了網了!是的,沒錯,上面說的,3M~8M ,是單機的速度, 如果多台wifi設備連接,你自己去分配吧,不穩定。

那麼WIFI 這麼忙,不穩定問題是什麼呢?

我查閱資料,其實還是無線網卡的質量上,minipcie網卡一般都是用於筆記本上,其實主要負責單機接收,和單機發射。意思就是這個網卡的設計初衷,就是滿足單機對路由上的使用,那麼無線能力自然就不需要這麽強,只要無線路由能力強,就能顯得網速好,這裡指的是處理能力和收發的強度。

但是無線路由器只要的工作就是 單機對多機, 處理能力和收發能力要同時 滿足多台wifi設備同時使用才可以,所以,以上這套方案,如果連接的wifi設備越多,越不穩定,至於能接受多少設備,那麼取決於你的無線網卡了,在筆記本上用的無線網卡,一百元級別,比如AC7260 這類的算很不錯了。

但是這個網卡我折騰過,與50元級別的AR9380差不多,只比後來買的20元級別的博通網卡強一點點。

那麼有沒有強大的無線網卡呢,有的,雖然我對網卡了解不多,但是也看到幾款強大的卡,比如AR9880,9580這類的,聽說是內置了功放,晶元也強大的,但是,有兩個問題:價格太高,200元起步,這個價格,我可以買不錯的無線路由了吧?體積太大,比全高minipcie卡板還大一倍,一般主板位置都裝不了,這種只能用於特殊主板或者加pcie延長線安裝。

高端無線網卡我沒折騰過,所以就不發言了,我僅代表廣大工薪階層寫下此篇折騰後感想。如果你看完上面我的廢話,還堅持用這套方案,覺得平時就一個筆記本或者手機連完全夠用,那麼恭喜你,你是一個熱愛生活,勇於創新,永不服輸,DIY能力超強的,單身狗。

後記

其實這個文章目前來說有些地方是需要修正的,無線網卡之所以用在軟路由器上效果沒有單獨接AP效果好,是因為受制於無線晶元的開源驅動,這個非常重要。驅動可以說是靈魂,而硬體僅僅是肉體而已。古往今來,無數發明創造都出自於傑出的人才,也是同樣的道理。

目前,openwrt對無線晶元的驅動支持可以說已經很全面很健全了,比如我在一台ATOM270的小主機上,使用AR9287無線網卡,使用完全OK,當然這個網卡只有2.4G頻段,受周邊干擾影響較大,效果嘛跟普通2.4G的300Mbps無線AP效果差不多,甚至信號還要好一些。

以上是這個自製的軟路由的照片,有人可能會問,一個有線網口的軟路由怎麼使用呢,至少要有一個WAN口和LAN口才能稱之為路由器吧。其實可以使用一個支持VLAN的千兆交換機輕鬆搞定,具體可以去搜索單臂路由。而且這個路由器的網口是千兆的,在使用中,200M寬頻毫無壓力。讀寫硬碟速度受制於CPU性能,千兆區域網大概在25-70MB/S左右浮動。

推薦閱讀:

TAG:OpenWrt | 軟路由 | 無線路由器 |