編譯支持3G網卡的openwrt固件——從內核到應用

已經很久沒有寫關於技術的東東了,不是由於太懶,而是最近實在沒作過什麼有點技術含量的事,最近產品須要支持3g網卡,也就終於機會研究一下之前沒有接觸的東西了。其實如非工做須要,本身私底下去研究一些未接觸技術的時間真的不多,由於還有其它太多太多生活的事情須要咱們去處理,要作一名懂得享受生活程序員。
言歸正傳,開始幹活!
本文主要涉及的是如何在openwrt的基礎上添加3G和usb模塊,並不是像網上大部分文章提到的只是部分熱門路由如703N、h618b、rg100a這些已有大神編譯好的固件,而後再此基礎上再修改腳本。簡而言之,就是隻要你的硬件平臺能夠跑openwrt,支持usb接口,就能夠本身編譯出支持3G網卡的Openwrt固件,對於網卡的要求仍是有的,我這裏使用的是MF190,能夠直接識別爲modem,若有須要usb_modeswitch,網上大把教程,也就很少提了。Openwrt源碼的下載和編譯這一part直接跳過(我想研究到這一塊的也都知道如何下載和編譯源碼了吧),本文所用的openwrt版本是trunk,內核版本爲3.6.8。
 
一、進入圖形配置界面,選擇支持usb模塊所須要的庫(kmod-usb2  kmod-usb-core kmod-usb-ohci kmod-usb-serial  kmod-usb-serial-options  libusb kmod-usb-acm    usb-modeswitch usb-modeswitch-data ),具體位置爲:
二、選擇3G撥號軟件(chat,comgt,pppd),這幾個東西折騰了我一個下午才搞明白它們的關係。首先,comgt是撥號用的,咱們能夠用comgt -d /dev/ttyUSBx 來測試3G SIM卡的狀態;chat是保存命令的腳本,在pppd的options配置文件中,須要把如圖所示:
chat的位置(直接在network下,我這已經默認選了):
comgt位置(Utilities):
pppd位置(這個是用來撥號的進程,也是在network下的):
三、選取了以上所須要的庫,咱們就開始Make吧~~~
make完以後咱們就會獲得:內核和文件系統,和須要的各類軟件(路徑 trunk/bin/xx/packages)啦!!由於我是以M的方式編譯各類庫的,因此有些軟件須要在燒寫內核和文件系統後再安裝(我須要安裝的comgt、pppd)。
下圖是須要安裝的一些庫和界面,反正我在研究階段是手動都安裝了一遍 T_T~~~~
四、安裝上述東東以後,就會像網上各類教程所說的那樣了~~~如:/etc/charscipt /  /etc/ppp /etc/usb_modeswtich.d/ 等文件夾。
 
#########################################我是分割線###########################################################
固件編譯完畢!進入應用階段~~~~
一、插上3G網卡(MF190)後,系統若是打印出以下信息就能夠識別到網卡啦!ttyUSBx就是咱們的網卡設備接口啦~~~
二、打開/etc/ppp/options 文件,修改成以下(每一個網卡狀況不一樣,需根據本身的網卡配置,這裏要說的是logfile和connect,logfile這個文件在我調試過程當中幫助了我很多,你們能夠經過這個log瞭解到整個撥號的過程,以便調試。connect是指定chat腳本的位置,我是在原有默認的腳本上修改的,因此是在/etc/chatscript/3g.chat 下,固然你能夠根據你本身的喜愛對它進行各類命名。),具體選項意思可參考:   http://www.cnblogs.com/doctorqbw/archive/2012/06/19/2555063.html
 
三、打開/etc/chatscript/3g.chat,這裏可能根據運營商的不一樣而須要作更改,移動的是」 cmnet「,電信是」ctnet「,聯通是」3gnet「,目前我只測試了聯通的網卡,至於其它兩家運營商嘛,移動的3g速度不行,估計不考慮,電信的應該會購入了(採購過程還需」領導「多多支持吖!好比幫忙填個表什麼的^_^ !)。聯通的設置以下:
四、打開 /etc/config/network添加3g網口,在調試過程當中建議不要添加,能夠手動命令pppd來進行撥號,修改network文件的同時還須要修改firewall才能夠成功讓系統重啓後自動啓動。
五、若是是在調試過程,利用pppd來撥號後,能夠經過logfile 來查看撥號過程,下圖是我成功撥號後的log,能夠看到已經獲取了IP地址和DNS了,網卡名字是由network配置文件中的interface來決定的:
六、至此,咱們已經能夠成功撥號,而且能夠在重啓時自動撥號了~~~這就夠了麼?不!!咱們還須要讓網卡插入後能夠自動撥號!提及來好像很智能,其實很簡單,只是須要在熱拔插的配置文件中添加網口的啓動便可!打開etc/hotplug.d/usb/10-usb,配置以下:
搞定!!!收工!!
相關文章
相關標籤/搜索