编译支持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,配置以下:
搞定!!!收工!!
相关文章
相关标签/搜索