目的: 使類似於樹莓派的AARCH-64架構的嵌入式設備能通過USB無線網卡連接上乙太網; 該設備有LAN介面,但在前一次系統固件升級後,其內部的三個網路介面可以相互ping通,但任一介面無法ping通外部網路介面,目前該問題還沒有解決; 另外實驗室還涉及到連接外部網路的許可權問題,所以就想是否可以通 ...
目的:
使類似於樹莓派的AARCH-64架構的嵌入式設備能通過USB無線網卡連接上乙太網;
該設備有LAN介面,但在前一次系統固件升級後,其內部的三個網路介面可以相互ping通,但任一介面無法ping通外部網路介面,目前該問題還沒有解決;
另外實驗室還涉及到連接外部網路的許可權問題,所以就想是否可以通過USB無線網卡來access乙太網;
但這又涉及到一些問題:
1. 目前大部分的usb無線網卡,雖然說是免驅的,但僅僅針對Winows系統免驅,並且生產廠家可能不會提供Linux版本的驅動,所以要麼找晶元廠商看是否有對應晶元的驅動,要麼去GitHub上看是否有前輩已經做過對應晶元的驅動;
2. 可能x86-64、i386或者是Raspberry Pi的驅動有開源的,但是目前使用的這種不常見的嵌入式晶元是否可以通過稍微改動一下源碼來實現編譯呢?
解決過程
1. 對於第一個問題,TP-Link TL-WN823N所使用的RTL823EU確實在GitHub上有開源驅動,但需要註意驅動適配的內核
比如很多博客上提到的rtl8192eu-master.zip,該版本在4.10內核上編譯就有可能出問題,目前我還沒有想到比較好的解決版本;
rtl8192eu-master/include/rtw_debug.h:187:19: error: void value not ignored as it ought to be
然後又看到有人已經repo了代碼,解決了這一問題:
https://github.com/Mange/rtl8192eu-linux-driver
下載下來之後解壓,看下Readme,可以不裝dkms,直接make,make install,然後modprobe -a 8192eu即成功載入了驅動,可使用lsmod查看是否載入成功;
參考:
Linux無線驅動安裝歷程(rtl8192eu驅動安裝,開機自啟動)
http://blog.csdn.net/Strangevy/article/details/52877872?locationNum=6&fps=1
因此,重點在於解決第二個問題,既然Raspberry Pi可以編譯成功,那麼類似的應該也可以。