我们telnet到路由器192.168.0.168,ping 163.com,发现能上网了,目的达到,继续。。。
(pc没有两个网卡的朋友可以把3g上网卡作为共享上网之用。)
接下来安装usb、3g上网卡及拨号等需要的包
在telnet下,先update:
[copy to clipboard] [ - ]code:
opkg update
再安装包:
[copy to clipboard] [ - ]code:
opkg install kmod-usb-core kmod-usb-ohci kmod-usb-serial libusb kmod-usb-acm chat comgt usb-modeswitch
如果你的路由器暂时不能上网,可以把这些包用pc下载下来传到路由器上,再本地安装。
h618b对应固件的扩展包在这里:
http://downloads.openwrt.org/backfire/10.03/brcm-2.4/packages/rg100a对应固件的扩展包在这里:
http://downloads.openwrt.org/backfire/10.03/brcm63xx/packages/三、vlan设置
首先3g上网是不需要物理wan口的,也就不用设置vlan了,所以如果你不使用adsl等线路,那可以跳过本节。
1. h618b的vlan设置
h618b刷好官方固件后,wan口还是原来那个,无需设置vlan。如果你需要增加wan口,请往下看:
vlan原理:
如上图,eth0、eth1、eth2就好比是3个网卡,eth0是有线网卡,eth2是无线网卡,eth1保留。
再来看端口从port0一直到port5,把port5当成cpu。把前5个端口划分为2个vlan,即port0属于vlan 1,port1——port4属于vlan 0。
我们可以认为vlan 1就是wan口,vlan 0就是lan口了。
运行命令看下:
[copy to clipboard] [ - ]code:
cat /etc/config/network
看一下默认配置,就和上图一样
[copy to clipboard] [ - ]code:
config switch_vlan
option device eth0
option vlan 0
option ports "1 2 3 4 5*" #port1、2、3、4和cpu 5属于vlan 0
config switch_vlan
option device eth0
option vlan 1
option ports "0 5*" #port0和cpu 5属于vlan 1
config interface lan
option type bridge
option ifname eth0.0 #把vlan 0配置成lan口,即port1、2、3、4都是lan口了。
option proto static
option ipaddr 192.168.0.168
option netmask 255.255.255.0
option gateway 192.168.0.1
option dns 192.168.0.1
option nat 1
config interface wan
option ifname eth0.1 #把vlan 1配置成wan口,即port0就是wan口了。
option proto dhcp
上面是只有一个wan口的默认设置,如果要增加一个wan口,那就要再多分一个vlan出来。
可以这样:
[copy to clipboard] [ - ]code:
config switch_vlan
option device eth0
option vlan 0
option ports "1 2 3 5*" #port1、2、3、4和cpu 5属于vlan 0
config switch_vlan
option device eth0
option vlan 1
option ports "0 5*" #port0和cpu 5属于vlan 1
config switch_vlan
option device eth0
option vlan 2
option ports "4 5*" #port4和cpu 5属于vlan 2
config interface wan2
option ifname eth0.2 #把vlan 2配置成wan2口,即port4就是wan2了
option proto dhcp
至于port0——port4和物理的lan1、lan2、lan3、lan4以及wan是怎么一一对应的,就需要自己去试了。
h618b刚好是port0对应其物理的wan口,port1对应物理lan1口,port2对应lan2...
另外:在web管理页面network->switch也可以直观的配置vlan,如下图:
2. rg100a的vlan设置
rg100a刷好官方固件后,默认是没有wan口的,我们需要设置vlan来划分wan和lan。
vlan原理清楚了,就不多说了,只要注意rg100a的“有线网卡”是eth1就行了。
编辑 /etc/config/network
[copy to clipboard] [ - ]code:
vi /etc/config/network
按“i”键进入插入模式
改成如下:
[copy to clipboard] [ - ]code:
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option type bridge
option ifname eth1.0
option proto static
option ipaddr 192.168.0.168
option netmask 255.255.255.0
option gateway 192.168.0.1
option dns 192.168.0.1
option nat 1
config interface wan
option ifname eth1.1
option proto dhcp
config switch eth1
option reset 1
option enable_vlan 1
config switch eth1
option reset 1
option enable_vlan 1
config switch_vlan
option device eth1
option vlan 0
option ports "1 2 3 5*"
config switch_vlan
option device eth1
option vlan 1
option ports "0 5*"
改完后,按“esc”键退到命令行模式
[copy to clipboard] [ - ]code:
:wq
保存退出。有关vi的用法,请baidu:”linux vi“,嫌麻烦可以直接用我修改好的network覆盖掉原来的,见附件(network.txt改成network)
再次申明:如果你只用3g上网卡来上网,是不需要设置vlan的。vlan为什么要讲这么多,因为这个与多wan合并息息相关,当然只是双3g上网卡合并也是不需要vlan的。
重启后,lan1口已经变成wan口了,记得把网线换到其他lan口,我们继续...
四、openwrt下识别3g上网卡
我们进到web管理页面设置管理密码system->admin password,设置密码后也就启用了强大的ssh,随之telnet服务也被关闭了。
3g上网卡我这里以mu350为例,由于mu350可以硬件关闭存储模式,所以可以更简单,不需要使用usb-modeswitch。
下载这个软件:fun_p902m2v1.00.06
http://www.brsbox.com/xiefh/dirid/4720707 这个地址有,以前51nb也有的,自己搜搜之前的帖子。
安装,运行该软件,“关闭自启动并打开升级功能”就把mu350的存储模式关闭了,这样mu350在openwrt下就会直接被识别为modem了。
另外:mu350的拨号软件里面,设置->安全设置->关闭u盘和sd卡,效果也是一样的。
中兴的网卡是否都可以关闭存储模式,请各位验证。
网卡准备好了,接下来需要用到一个软件:winscp,可以用很方便的通过ssh连接到路由器,上传下载文件,执行命令等操作。
运行winscp后出现登录界面,填上路由器ip,文件协议选scp,输入用户名密码。
登录后提示更新密匙,点击“更新”,再弹出两个错误提示直接忽略就ok了。
编辑/etc/modules.d/60-usb-serial 把mu350的信息加进去,不管是否已经关闭了上网卡的存储模式或者其他3g卡都需要加入这个信息。
【这里有个常识请注意:linux和windows的换行符是不一样的,所以请不要在windows下面新建的文本文件上传到路由器里面,请直接用winscp新建文件就可以了,或者直接用vi命令新建文件。不然windows下建的脚本直接拖过来可能是不能用的。】
每个网卡不一样,请根据实际情况改成你的,其实就是usb-modeswitch里的了,
[copy to clipboard] [ - ]code:
usbserial vendor=0x19d2 product=0x0003 # zte mu350
这里我们看看et128的情况,et128的usb-modeswitch.conf内容如下:
[copy to clipboard] [ - ]code:
# et128
defaultvendor= 0x12d1
defaultproduct= 0x1da1
targetvendor= 0x12d1
targetproduct= 0x1d09
detachstorageonly=0
huaweimode=1
如果有target值我们就要取这个值,否则就是default值了。
根据上面的信息,那et128的/etc/modules.d/60-usb-serial内容如下:
[copy to clipboard] [ - ]code:
usbserial vendor=0x12d1 product=0x1d09 # et128
重启路由,插上mu350,winscp连接到路由,打开终端输入命令查看是否mu350已被识别。
[copy to clipboard] [ - ]code:
dmesg | grep usb
如出现下面类似信息,就ok了(出现一个ttyusb0并不能说明就被识别了,一般情况会有ttyusb0、ttyusb1、ttyusb2这样多个设备出现才能说明网卡被识别了)
[copy to clipboard] [ - ]code:
usbserial.c: generic converter detected
usbserial.c: generic converter now attached to ttyusb0 (or usb/tts/0 for devfs)
usbserial.c: generic converter detected
usbserial.c: generic converter now attached to ttyusb1 (or usb/tts/1 for devfs)
usbserial.c: generic converter detected
usbserial.c: generic converter now attached to ttyusb2 (or usb/tts/2 for devfs)
usbserial.c: generic converter detected
usbserial.c: generic converter now attached to ttyusb3 (or usb/tts/3 for devfs)
设备/dev/usb/tts/0就是我们的mu350猫了。
还有设备不一定被挂载在/dev/usb...
也有可能是:/dev/ttyusb0这样的,mu350在rg100a下就是这样
也有可能是:/dev/ttyacm0这样的...
上面是讲的3g上网卡的识别。如你的3g上网卡不能关闭存储模式,那就要用到usb-modeswitch了,这个软件前面我们已经装了。
我们直接新建/etc/usb-modeswitch.conf,内容如下:
[copy to clipboard] [ - ]code:
# zte mu350
#
# contributor: dale lane
defaultvendor= 0x19d2;
defaultproduct= 0x0003
# choose one of these:
detachstorageonly=0
messagecontent=5553424312345678000000000000061b000000020000000000000000000000
再执行usb_modeswitch -w,就能把mu350切换到modem模式了。
et128的usb-modeswitch.conf内容如下:
[copy to clipboard] [ - ]code:
# et128
defaultvendor= 0x12d1
defaultproduct= 0x1da1
targetvendor= 0x12d1
targetproduct= 0x1d09
detachstorageonly=0
huaweimode=1
使用usb-modeswitch后,设备不一定是/dev/usb/tts/0或者/dev/ttyusb0,也有可能是/dev/usb/tts/1或者/dev/ttyusb1